• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    使用VC開發(fā)Windows平臺PostgreSQL數(shù)據(jù)庫擴(kuò)展

    2010-01-25 01:50:06紀(jì)洪波崔立業(yè)
    通化師范學(xué)院學(xué)報 2010年12期
    關(guān)鍵詞:源代碼定義動態(tài)

    紀(jì)洪波,崔立業(yè)

    (通化師范學(xué)院 計算機科學(xué)系,吉林 通化 134002;2.吉電股份四平熱電分公司)

    PostgreSQL[1]數(shù)據(jù)庫是非常流行的一款企業(yè)級開源數(shù)據(jù)庫,其歷史悠久、功能豐富,并且?guī)缀蹩梢宰龅脚cOracle數(shù)據(jù)庫的無縫兼容.PostgreSQL數(shù)據(jù)庫有很多為人稱道的特點,其中之一就是優(yōu)越的可編程性.PostgreSQL可以使用類似于Oracle PL/SQL的PL/pgSQL語言進(jìn)行存儲過程、觸發(fā)器的開發(fā),還提供了具有更強流程控制能力的PL/Perl、PL/Python、PL/Ruby等內(nèi)置腳本語言進(jìn)行開發(fā),甚至可以使用C、C++或者Java語言進(jìn)行開發(fā).

    這其中SQL語言開發(fā)是擴(kuò)展數(shù)據(jù)庫的最基本工具,幾乎所有的數(shù)據(jù)庫都包含.SQL語言的優(yōu)點是面向集合、功能豐富、使用簡單,非常適合在數(shù)據(jù)庫中作數(shù)據(jù)處理.但是和其他高級語言相比SQL語言的缺點也是顯而易見的,交互性差、控制邏輯支持弱、靈活性不夠,特別是和操作系統(tǒng)的交互幾乎就是不可能的.所以PostgreSQL提供了對流程控制能力更強編程語言的支持,例如:Perl、PL/Python、PL/Ruby等.但是這些語言無論是運行效率還是與操作系統(tǒng)底層通訊的能力都還是有限的.不過PostgreSQL也想到了這一點,那就是使用C和C++語言來進(jìn)行功能擴(kuò)展.PostgreSQL數(shù)據(jù)庫提供了一套非常方便高效的使用C/C++擴(kuò)展開發(fā)方法,很多優(yōu)秀的擴(kuò)展都是使用C/C++編寫的,例如:PostGIS(地理信息數(shù)據(jù)擴(kuò)展)、TSearch或OpenFTS(全文檢索擴(kuò)展)、Slony-I(異步主/從復(fù)制方案)和XPath擴(kuò)展等.

    1 開發(fā)難點

    PostgreSQL官方文檔對擴(kuò)展開發(fā)描述非常詳細(xì),不過唯獨沒有給出Windows平臺MSVC環(huán)境下的開發(fā)過程.按照其它平臺的描述和C語言標(biāo)準(zhǔn)推斷,使用MSVC開發(fā)擴(kuò)展需要嚴(yán)格按照標(biāo)準(zhǔn)C語言進(jìn)行開發(fā),包含頭文件(postgres.h、fmgr.h)和postgres.lib庫,使用特定的擴(kuò)展宏P(guān)G_MODULE_MAGIC和PG_FUNCTION_INFO_V1進(jìn)行開發(fā).然后將C源代碼編譯成動態(tài)鏈接庫(DLL),并將該庫放到PostgreSQL的搜索目錄中(也可以在安裝擴(kuò)展庫時指定全路徑),然后使用psql或者pgAdmin等工具運行CREATE FUNCTION SQL命令添加這個函數(shù)到數(shù)據(jù)庫中,授權(quán)的用戶就可以使用這些擴(kuò)展了.

    但是在實施開發(fā)過程的時候會發(fā)現(xiàn),C源程序根本無法編譯,即使編譯也不能被PostgreSQL數(shù)據(jù)庫識別.這是由于PostgreSQL最初并不是為Windows開發(fā),也不是使用MSVC編譯的數(shù)據(jù)庫系統(tǒng).本文討論如何通過修改PostgreSQL的源代碼頭文件解決編譯問題,以及具體開發(fā)步驟和編程方法.

    2 開發(fā)數(shù)據(jù)庫擴(kuò)展

    (1)設(shè)置開發(fā)環(huán)境.PostgreSQL數(shù)據(jù)庫最初是為Unix操作系統(tǒng)設(shè)計的,所以編程風(fēng)格和符號定義都不是非常符合Windows習(xí)慣.在Windows平臺上,可以使用GCC的一個移植版本MinGW編譯PostgreSQL擴(kuò)展,雖然這樣做比較容易,但編譯出來的程序體積一般比較大.本文選擇的9.0.1版本的PostgreSQL數(shù)據(jù)庫是由VC2008編譯完成的,所以本文討論的是使用VC2008編譯擴(kuò)展,這樣可以達(dá)到最好的兼容性.

    首先修改Visual Studio的變量設(shè)置文件vsvars32.bat.添加PostgreSQL開發(fā)使用的頭文件和庫文件路徑到環(huán)境變量INCLUDE和LIB中,這樣VC編譯的時候才可以找到需要的文件.

    (2)修改PostgreSQL頭文件.PostgreSQL自帶開發(fā)庫及頭文件,不過其自帶頭文件符號定義不是兼容MSVC的動態(tài)共享庫(動態(tài)鏈接庫)的接口標(biāo)準(zhǔn).編譯生成的動態(tài)共享庫PostgreSQL不能識別其中的功能函數(shù),在閱讀其大量源代碼之后,筆者發(fā)現(xiàn)解決這個問題的方法是對頭文件fmgr.h中的兩個宏定義進(jìn)行修改.

    修改后這兩個宏P(guān)G_MODULE_MAGIC[2]和PG_FUNCTION_INFO_V1的原定義程序段如下:

    #define PG_MODULE_MAGIC

    extern PGDLLEXPORT const Pg_magic_struct *PG_MAGIC_FUNCTION_NAME(void);

    PGDLLEXPORT const Pg_magic_struct *

    PG_MAGIC_FUNCTION_NAME(void)

    {

    static const Pg_magic_struct Pg_magic_data = PG_MODULE_MAGIC_DATA;

    return &Pg_magic_data;

    }

    extern int no_such_variable

    #define PG_FUNCTION_INFO_V1(funcname)

    extern PGDLLEXPORT const Pg_finfo_record * CppConcat(pg_finfo_,funcname)(void);

    PGDLLEXPORT const Pg_finfo_record *

    CppConcat(pg_finfo_,funcname) (void)

    {

    static const Pg_finfo_record my_finfo = { 1 };

    return &my_finfo;

    }

    extern int no_such_variable

    主要的修改是:在這兩個宏定義中添加了PGDLLEXPORT宏(粗斜體)修飾,這個宏的定義如下:

    #define PGDLLEXPORT __declspec (dllexport)

    其主要作用是將動態(tài)共享庫中定義的方法暴露給外界調(diào)用代碼.這樣準(zhǔn)備工作就做完了.

    (3)編寫擴(kuò)展C源文件.PostgreSQL手冊中包含了詳細(xì)的共享庫開發(fā)介紹,本文提供的程序就出自其中并作少許修改.源文件為c:→pgcex.c,源代碼如下:

    #include

    #include

    #include

    PG_MODULE_MAGIC;

    /* 傳遞數(shù)值 */

    PG_FUNCTION_INFO_V1(add_one);

    PGDLLEXPORT Datum add_one(PG_FUNCTION_ARGS)

    {

    int32 arg = PG_GETARG_INT32(0);

    PG_RETURN_INT32(arg + 1);

    }

    /* 傳遞引用,定長 */

    PG_FUNCTION_INFO_V1(add_one_float8);

    PGDLLEXPORT Datum add_one_float8(

    PG_FUNCTION_ARGS)

    {

    /* 用于 FLOAT8 的宏,隱藏其傳遞引用的本質(zhì) */

    float8 arg = PG_GETARG_FLOAT8(0);

    PG_RETURN_FLOAT8(arg + 1.0);

    }

    PG_FUNCTION_INFO_V1(concat_text);

    PGDLLEXPORT Datum concat_text(PG_FUNCTION_ARGS)

    {

    text *arg1 = PG_GETARG_TEXT_P(0);

    text *arg2 = PG_GETARG_TEXT_P(1);

    int32 new_text_size = VARSIZE(arg1)

    + VARSIZE(arg2) - VARHDRSZ;

    text *new_text = (text *) palloc(

    new_text_size);

    SET_VARSIZE(new_text, new_text_size);

    memcpy(VARDATA(new_text), VARDATA(arg1),

    VARSIZE(arg1) - VARHDRSZ);

    memcpy(VARDATA(new_text) +

    (VARSIZE(arg1) - VARHDRSZ),

    VARDATA(arg2),

    VARSIZE(arg2) - VARHDRSZ);

    PG_RETURN_TEXT_P(new_text);

    }

    (4)編譯C源代碼為擴(kuò)展庫.使用如下命令行編譯:

    C:》cl pgcex.c -Fepgcex.dll -MD -LD /D “WIN32” /DLL postgres.lib

    C:》cl /c pgcex.c /D “WIN32”

    C:》link /DLL pgcex.obj postgres.lib

    上述兩種方法都是正確的,第一種方法是直接將源代碼編譯成動態(tài)共享庫,并且動態(tài)共享庫的名字為pgcex.dll.-MD是使用MSVCRT.lib創(chuàng)建多線程DLL,-LD指定本次編譯任務(wù)是創(chuàng)建動態(tài)共享庫,postgres.lib是本擴(kuò)展開發(fā)必須鏈接的一個共享庫.

    3 使用擴(kuò)展庫

    (1)安裝共享庫.打開pgAdmin3,執(zhí)行如下SQL代碼:

    CREATE FUNCTION add_one(integer) RETURNS integer

    AS 'c:/pgcex', 'add_one'

    LANGUAGE C STRICT;

    注意:重載了名字為 add_one()的SQL函數(shù)

    CREATE FUNCTION add_one(double precision) RETURNS double precision

    AS 'c:/pgcex', 'add_one_float8'

    LANGUAGE C STRICT;

    CREATE FUNCTION concat(text, text) RETURNS text

    AS 'c:/pgcex', 'concat_text'

    LANGUAGE C STRICT ;

    在該SQL代碼中使用了全路徑'c:/pgcex'指定編譯的擴(kuò)展庫pgcex.dll的位置,這樣PostgreSQL可以找到并加載擴(kuò)展庫.當(dāng)然也可以將動態(tài)共享庫放到PostgreSQL的共享庫目錄中(通常為PostgreSQL安裝目錄中的lib子目錄),則在SQL語句中就可以直接使用pgcex而不需要指定路徑.

    (2)執(zhí)行擴(kuò)展函數(shù).執(zhí)行擴(kuò)展函數(shù)使用如下SQL語句:

    select add_one(3);

    select add_one(5.0);

    select concat('hello','world');

    執(zhí)行結(jié)果如圖1.

    (3)刪除共享函數(shù).在PostgreSQL數(shù)據(jù)庫中卸載擴(kuò)展函數(shù)使用如下

    SQL語句

    DROP FUNCTION add_one(integer);

    DROP FUNCTION add_one(double precision);

    DROP FUNCTION concat(text, text);

    圖1 擴(kuò)展函數(shù)執(zhí)行結(jié)果圖

    以上詳細(xì)討論了在Windows平臺上使用MSVC開發(fā)原生PostgreSQL擴(kuò)展庫的方法.實際工作當(dāng)中PostgreSQL通常會部署到Linux服務(wù)器上,擴(kuò)展的開發(fā)也相對容易.不過要是使其在Windows平臺也可用,那本文的內(nèi)容則是不能忽視的,希望能為各位同行提供一點兒幫助.

    參考文獻(xiàn):

    [1]Barry Stinson.PostgreSQL必備參考手冊[M].人民郵電出版社,2002.

    [2]Dynamic C Language Functions-Section 35.9 of the postgreSQL 9.0.1 manual [R/OL].http://www.postgresql.org/docs/9.0/interactive/xfunc-c.html.

    猜你喜歡
    源代碼定義動態(tài)
    人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
    計算機仿真(2023年8期)2023-09-20 11:23:42
    國內(nèi)動態(tài)
    國內(nèi)動態(tài)
    國內(nèi)動態(tài)
    基于TXL的源代碼插樁技術(shù)研究
    動態(tài)
    軟件源代碼非公知性司法鑒定方法探析
    揭秘龍湖產(chǎn)品“源代碼”
    成功的定義
    山東青年(2016年1期)2016-02-28 14:25:25
    修辭學(xué)的重大定義
    精品亚洲成国产av| 春色校园在线视频观看| 最新中文字幕久久久久| 免费人妻精品一区二区三区视频| 插逼视频在线观看| 日韩,欧美,国产一区二区三区| 中国美白少妇内射xxxbb| av专区在线播放| 青春草视频在线免费观看| 精品亚洲成国产av| 国产日韩欧美亚洲二区| 九九爱精品视频在线观看| 国产精品蜜桃在线观看| 午夜精品国产一区二区电影| 中文字幕免费在线视频6| 欧美成人精品欧美一级黄| 狂野欧美白嫩少妇大欣赏| 国产精品一区www在线观看| 日韩亚洲欧美综合| 亚洲国产最新在线播放| 在线观看美女被高潮喷水网站| 男女高潮啪啪啪动态图| 精品久久蜜臀av无| 久久久久视频综合| 日韩中文字幕视频在线看片| 免费av中文字幕在线| 色视频在线一区二区三区| 免费观看性生交大片5| 日韩成人av中文字幕在线观看| 久久人人爽av亚洲精品天堂| 高清不卡的av网站| 一二三四中文在线观看免费高清| 嫩草影院入口| 国产精品久久久久成人av| 国产黄色视频一区二区在线观看| 欧美xxxx性猛交bbbb| 青春草国产在线视频| 人妻系列 视频| 日本欧美国产在线视频| av电影中文网址| 一级a做视频免费观看| 少妇的逼好多水| 免费高清在线观看视频在线观看| 日韩人妻高清精品专区| 亚洲精品视频女| 亚洲精品亚洲一区二区| 亚洲av日韩在线播放| 亚洲国产精品一区二区三区在线| 亚洲欧美精品自产自拍| 91久久精品电影网| 欧美日韩成人在线一区二区| 这个男人来自地球电影免费观看 | 亚洲综合色惰| 一边摸一边做爽爽视频免费| 亚洲av电影在线观看一区二区三区| 日韩制服骚丝袜av| 亚洲国产精品999| 黑人猛操日本美女一级片| 亚洲精品久久午夜乱码| 久久久国产欧美日韩av| 久久综合国产亚洲精品| 中文欧美无线码| 成人国产av品久久久| 亚洲欧美中文字幕日韩二区| 国产精品99久久99久久久不卡 | 国产精品久久久久久精品古装| 亚洲成人一二三区av| 久久久精品区二区三区| 亚洲精品第二区| 亚洲人与动物交配视频| 一本一本综合久久| 久久久久网色| 国产 精品1| 一级黄片播放器| 日韩欧美精品免费久久| 久久综合国产亚洲精品| 黄色怎么调成土黄色| 中国国产av一级| 久久久久人妻精品一区果冻| 欧美性感艳星| xxxhd国产人妻xxx| 美女福利国产在线| 亚洲成人手机| 嫩草影院入口| 日韩欧美精品免费久久| 一本大道久久a久久精品| 色视频在线一区二区三区| 青春草亚洲视频在线观看| 国产日韩一区二区三区精品不卡 | 老司机影院成人| 久久久久国产精品人妻一区二区| 欧美丝袜亚洲另类| 国产日韩欧美视频二区| 国产精品久久久久久久久免| 久久精品国产亚洲av天美| av在线老鸭窝| 欧美97在线视频| 久久国产精品男人的天堂亚洲 | 午夜影院在线不卡| 91精品一卡2卡3卡4卡| 久久久久国产网址| 女人久久www免费人成看片| 狠狠婷婷综合久久久久久88av| 夜夜看夜夜爽夜夜摸| 亚洲精品aⅴ在线观看| 亚洲精品日韩在线中文字幕| 久久99蜜桃精品久久| 免费播放大片免费观看视频在线观看| 九九久久精品国产亚洲av麻豆| 亚洲国产欧美在线一区| 午夜久久久在线观看| xxxhd国产人妻xxx| 91精品国产国语对白视频| 亚洲高清免费不卡视频| 夜夜骑夜夜射夜夜干| 亚洲精品日本国产第一区| 日韩一区二区三区影片| 午夜福利视频在线观看免费| 午夜视频国产福利| 亚洲精华国产精华液的使用体验| 99re6热这里在线精品视频| 看免费成人av毛片| .国产精品久久| 国产免费福利视频在线观看| 只有这里有精品99| 国产国语露脸激情在线看| 五月玫瑰六月丁香| 天美传媒精品一区二区| 久久精品久久精品一区二区三区| 国语对白做爰xxxⅹ性视频网站| 国产日韩一区二区三区精品不卡 | 亚洲精品中文字幕在线视频| 国产色爽女视频免费观看| 久久久欧美国产精品| 五月开心婷婷网| 国产免费一级a男人的天堂| 国产精品无大码| 日韩中文字幕视频在线看片| 美女xxoo啪啪120秒动态图| av电影中文网址| 嘟嘟电影网在线观看| 日韩视频在线欧美| 久久鲁丝午夜福利片| 成人毛片60女人毛片免费| 美女国产视频在线观看| 欧美另类一区| 午夜免费鲁丝| 最近手机中文字幕大全| 久久精品夜色国产| av线在线观看网站| 熟女av电影| 国产精品 国内视频| 亚洲美女视频黄频| 青青草视频在线视频观看| 亚洲精品av麻豆狂野| 亚洲国产精品成人久久小说| 如何舔出高潮| 午夜视频国产福利| 美女脱内裤让男人舔精品视频| 欧美亚洲 丝袜 人妻 在线| 制服人妻中文乱码| 精品国产国语对白av| 亚洲av综合色区一区| 少妇精品久久久久久久| 久久鲁丝午夜福利片| 黑丝袜美女国产一区| 婷婷色麻豆天堂久久| 日日撸夜夜添| 国产亚洲最大av| 日韩免费高清中文字幕av| 午夜激情福利司机影院| 久久精品国产亚洲av天美| 人妻 亚洲 视频| 岛国毛片在线播放| 亚洲精品日韩在线中文字幕| 亚洲综合色惰| 亚洲av中文av极速乱| 午夜老司机福利剧场| 狂野欧美白嫩少妇大欣赏| 免费少妇av软件| 国产一区二区三区综合在线观看 | 永久网站在线| 日本色播在线视频| 少妇的逼好多水| 能在线免费看毛片的网站| 嘟嘟电影网在线观看| 久久婷婷青草| 插逼视频在线观看| 亚洲av国产av综合av卡| 99久久中文字幕三级久久日本| 国产精品女同一区二区软件| 久久久久国产精品人妻一区二区| 亚洲国产毛片av蜜桃av| 久久精品久久精品一区二区三区| 边亲边吃奶的免费视频| av免费观看日本| 欧美另类一区| 国产老妇伦熟女老妇高清| 中文字幕免费在线视频6| 在线播放无遮挡| 成人毛片60女人毛片免费| 亚洲伊人久久精品综合| 在线观看免费高清a一片| 欧美 日韩 精品 国产| 国产在线视频一区二区| 如日韩欧美国产精品一区二区三区 | 亚洲欧美成人精品一区二区| 婷婷色麻豆天堂久久| 久久午夜综合久久蜜桃| 五月天丁香电影| 国产免费又黄又爽又色| 国产av精品麻豆| 欧美日韩成人在线一区二区| 制服人妻中文乱码| 亚洲国产色片| 夜夜爽夜夜爽视频| 精品熟女少妇av免费看| 国产伦精品一区二区三区视频9| 狂野欧美激情性xxxx在线观看| 一区二区三区免费毛片| 少妇 在线观看| 乱码一卡2卡4卡精品| av有码第一页| 超色免费av| 亚洲欧洲精品一区二区精品久久久 | 久久久亚洲精品成人影院| 99热国产这里只有精品6| 亚洲情色 制服丝袜| 亚洲五月色婷婷综合| 午夜影院在线不卡| 永久网站在线| av免费在线看不卡| 日本爱情动作片www.在线观看| 99热这里只有是精品在线观看| 久久这里有精品视频免费| 成人亚洲欧美一区二区av| 日韩av在线免费看完整版不卡| 国产免费福利视频在线观看| 乱人伦中国视频| 少妇被粗大的猛进出69影院 | 亚洲精品成人av观看孕妇| 下体分泌物呈黄色| videos熟女内射| 伦精品一区二区三区| 国产有黄有色有爽视频| 人妻夜夜爽99麻豆av| 日韩不卡一区二区三区视频在线| 91国产中文字幕| 亚洲国产av新网站| 麻豆成人av视频| 夜夜爽夜夜爽视频| 久久精品人人爽人人爽视色| 国产熟女午夜一区二区三区 | 欧美日韩成人在线一区二区| 啦啦啦中文免费视频观看日本| 亚洲欧美日韩另类电影网站| 久久亚洲国产成人精品v| 亚洲国产日韩一区二区| 国产av码专区亚洲av| tube8黄色片| 亚洲av二区三区四区| 亚洲经典国产精华液单| 九九久久精品国产亚洲av麻豆| 国内精品宾馆在线| 人妻人人澡人人爽人人| av.在线天堂| 亚洲天堂av无毛| 这个男人来自地球电影免费观看 | 岛国毛片在线播放| 搡女人真爽免费视频火全软件| 免费久久久久久久精品成人欧美视频 | 一区二区日韩欧美中文字幕 | 狂野欧美白嫩少妇大欣赏| 性色av一级| videos熟女内射| 日本欧美视频一区| 自线自在国产av| 亚洲久久久国产精品| 母亲3免费完整高清在线观看 | 毛片一级片免费看久久久久| 久久久久网色| 成人午夜精彩视频在线观看| 免费黄频网站在线观看国产| 不卡视频在线观看欧美| 亚洲美女视频黄频| 亚洲精品久久午夜乱码| 欧美 日韩 精品 国产| 热99久久久久精品小说推荐| 寂寞人妻少妇视频99o| 精品久久蜜臀av无| 卡戴珊不雅视频在线播放| 欧美精品亚洲一区二区| 日韩在线高清观看一区二区三区| 寂寞人妻少妇视频99o| 人人妻人人澡人人看| 卡戴珊不雅视频在线播放| 久久久精品区二区三区| 国产探花极品一区二区| 日韩成人伦理影院| 亚洲激情五月婷婷啪啪| 日本猛色少妇xxxxx猛交久久| 欧美日韩国产mv在线观看视频| 欧美亚洲日本最大视频资源| 成人免费观看视频高清| 亚洲熟女精品中文字幕| 亚洲成人手机| a级毛片免费高清观看在线播放| 亚洲精品av麻豆狂野| 99久国产av精品国产电影| 日韩视频在线欧美| 人体艺术视频欧美日本| 69精品国产乱码久久久| 热re99久久国产66热| 中文乱码字字幕精品一区二区三区| 成年女人在线观看亚洲视频| 大陆偷拍与自拍| 亚洲美女黄色视频免费看| 亚洲成人手机| 国产精品久久久久久精品电影小说| 大香蕉97超碰在线| 日韩在线高清观看一区二区三区| 日本黄大片高清| 91久久精品国产一区二区三区| 国产片内射在线| 国产精品国产三级国产专区5o| 一区二区日韩欧美中文字幕 | 免费不卡的大黄色大毛片视频在线观看| 久久久久网色| 在线播放无遮挡| 这个男人来自地球电影免费观看 | 亚洲精品久久久久久婷婷小说| 免费观看无遮挡的男女| 99热这里只有是精品在线观看| 亚洲久久久国产精品| 制服诱惑二区| 免费大片18禁| 久久久久久久大尺度免费视频| 久久亚洲国产成人精品v| 亚洲精品视频女| 亚洲,一卡二卡三卡| a级毛色黄片| 色5月婷婷丁香| 18在线观看网站| 亚洲欧洲精品一区二区精品久久久 | 99热国产这里只有精品6| 夜夜骑夜夜射夜夜干| 久久久欧美国产精品| 人成视频在线观看免费观看| 视频中文字幕在线观看| 久久精品夜色国产| videosex国产| 欧美bdsm另类| 美女内射精品一级片tv| 九九爱精品视频在线观看| 人成视频在线观看免费观看| 一边亲一边摸免费视频| 午夜福利影视在线免费观看| 久久久欧美国产精品| 永久免费av网站大全| a级毛片免费高清观看在线播放| 成人漫画全彩无遮挡| av女优亚洲男人天堂| 亚洲精品美女久久av网站| 最黄视频免费看| 精品国产国语对白av| 久久久久久久国产电影| 永久免费av网站大全| 一边亲一边摸免费视频| av电影中文网址| 午夜福利,免费看| 亚洲熟女精品中文字幕| 亚洲av免费高清在线观看| 97在线人人人人妻| 国产精品一区二区三区四区免费观看| 国产欧美日韩综合在线一区二区| 18禁在线播放成人免费| 蜜桃久久精品国产亚洲av| 免费av不卡在线播放| 久久久午夜欧美精品| 亚洲欧美日韩卡通动漫| 飞空精品影院首页| 国产女主播在线喷水免费视频网站| 免费av中文字幕在线| 乱人伦中国视频| 精品国产露脸久久av麻豆| 久久ye,这里只有精品| 水蜜桃什么品种好| 一区二区日韩欧美中文字幕 | 在线精品无人区一区二区三| 国产黄色免费在线视频| 丰满迷人的少妇在线观看| 久久久久久久国产电影| 国产av码专区亚洲av| 欧美性感艳星| 久久久久久久大尺度免费视频| av网站免费在线观看视频| 久久97久久精品| 老女人水多毛片| 欧美日韩精品成人综合77777| 下体分泌物呈黄色| 久久国产精品大桥未久av| 免费大片18禁| 99久久精品一区二区三区| 亚洲伊人久久精品综合| 亚洲av综合色区一区| 国产女主播在线喷水免费视频网站| 热re99久久国产66热| 国产毛片在线视频| 久久人人爽人人爽人人片va| 乱人伦中国视频| 男人操女人黄网站| 99久久精品国产国产毛片| 国产一区有黄有色的免费视频| 观看av在线不卡| 欧美xxxx性猛交bbbb| 久久久欧美国产精品| 成人国产av品久久久| 黑人高潮一二区| 熟妇人妻不卡中文字幕| 亚洲av中文av极速乱| 最后的刺客免费高清国语| av在线老鸭窝| 国产成人免费观看mmmm| 国产精品熟女久久久久浪| 久久精品人人爽人人爽视色| 欧美日韩视频高清一区二区三区二| av专区在线播放| 亚州av有码| 黑人巨大精品欧美一区二区蜜桃 | av免费在线看不卡| 在线观看www视频免费| 黄色一级大片看看| 丰满乱子伦码专区| 国产精品麻豆人妻色哟哟久久| 国产在线免费精品| 黑人欧美特级aaaaaa片| 日韩视频在线欧美| 黄片无遮挡物在线观看| 春色校园在线视频观看| 秋霞伦理黄片| 成人毛片a级毛片在线播放| 免费观看无遮挡的男女| 99热这里只有是精品在线观看| 插逼视频在线观看| av又黄又爽大尺度在线免费看| 男男h啪啪无遮挡| 青青草视频在线视频观看| 国产乱人偷精品视频| 亚洲精品久久成人aⅴ小说 | 插逼视频在线观看| 亚洲成人av在线免费| 99热国产这里只有精品6| 精品人妻偷拍中文字幕| 国产精品一区二区在线不卡| 亚洲人与动物交配视频| 亚洲人成网站在线观看播放| 日韩大片免费观看网站| 在线 av 中文字幕| 女人久久www免费人成看片| 五月天丁香电影| 免费观看性生交大片5| 最近中文字幕高清免费大全6| 精品亚洲乱码少妇综合久久| 国产成人一区二区在线| 中文欧美无线码| 色视频在线一区二区三区| 国产淫语在线视频| 五月伊人婷婷丁香| 有码 亚洲区| 人妻夜夜爽99麻豆av| 国产一区二区三区av在线| av在线app专区| 精品一区二区三卡| 欧美精品人与动牲交sv欧美| 黑人欧美特级aaaaaa片| 久久久欧美国产精品| 亚洲欧洲国产日韩| 97精品久久久久久久久久精品| 久久国产精品男人的天堂亚洲 | 十分钟在线观看高清视频www| 日韩一区二区三区影片| 九九在线视频观看精品| 午夜激情久久久久久久| 国产亚洲av片在线观看秒播厂| 精品人妻偷拍中文字幕| 中文字幕av电影在线播放| 国产视频内射| 日韩强制内射视频| av不卡在线播放| 天天影视国产精品| 国产成人精品无人区| 人成视频在线观看免费观看| 日韩人妻高清精品专区| 久久久国产一区二区| 久久人人爽人人片av| 免费人成在线观看视频色| 成年人午夜在线观看视频| 在线观看国产h片| 亚洲欧美清纯卡通| av视频免费观看在线观看| 视频在线观看一区二区三区| 中国国产av一级| 黄色配什么色好看| 欧美日韩综合久久久久久| 啦啦啦中文免费视频观看日本| 久久精品国产a三级三级三级| 久热这里只有精品99| 国产成人精品婷婷| 日本91视频免费播放| 母亲3免费完整高清在线观看 | 久久午夜福利片| 又黄又爽又刺激的免费视频.| 欧美三级亚洲精品| 超色免费av| 男女边吃奶边做爰视频| 婷婷成人精品国产| 久久久久久久久久人人人人人人| 亚洲av日韩在线播放| 亚洲av成人精品一二三区| 亚洲国产av影院在线观看| 啦啦啦在线观看免费高清www| 欧美精品亚洲一区二区| 日本猛色少妇xxxxx猛交久久| www.色视频.com| av国产精品久久久久影院| av在线app专区| av免费在线看不卡| 久热久热在线精品观看| 永久网站在线| 午夜激情久久久久久久| 国产 精品1| 国产免费现黄频在线看| 日韩精品有码人妻一区| 免费日韩欧美在线观看| 婷婷成人精品国产| 在线播放无遮挡| 99视频精品全部免费 在线| 99精国产麻豆久久婷婷| 人人妻人人添人人爽欧美一区卜| 狠狠精品人妻久久久久久综合| av网站免费在线观看视频| 9色porny在线观看| 久久久久国产网址| 日韩三级伦理在线观看| 国产精品蜜桃在线观看| 2022亚洲国产成人精品| 黄色毛片三级朝国网站| 波野结衣二区三区在线| 黄色毛片三级朝国网站| 高清视频免费观看一区二区| xxx大片免费视频| 亚洲精品久久成人aⅴ小说 | 97精品久久久久久久久久精品| 新久久久久国产一级毛片| 亚洲激情五月婷婷啪啪| 男的添女的下面高潮视频| 日本av免费视频播放| 曰老女人黄片| 国产不卡av网站在线观看| 日韩人妻高清精品专区| 亚洲成人手机| 国产亚洲精品第一综合不卡 | 2018国产大陆天天弄谢| 内地一区二区视频在线| 国产精品国产三级专区第一集| 女性被躁到高潮视频| 色94色欧美一区二区| 国产亚洲欧美精品永久| av黄色大香蕉| 亚洲综合色惰| 青春草视频在线免费观看| 国产精品秋霞免费鲁丝片| 国产免费又黄又爽又色| 午夜av观看不卡| 亚洲图色成人| 国产永久视频网站| 欧美亚洲日本最大视频资源| 免费观看a级毛片全部| 三级国产精品片| 国产精品一国产av| 韩国高清视频一区二区三区| 在线看a的网站| 成人无遮挡网站| 人妻一区二区av| av国产精品久久久久影院| 久久久a久久爽久久v久久| 最近最新中文字幕免费大全7| 国产无遮挡羞羞视频在线观看| 少妇丰满av| 一边摸一边做爽爽视频免费| 99热国产这里只有精品6| 乱码一卡2卡4卡精品| 久久精品国产自在天天线| 亚洲精品国产av蜜桃| 亚洲精品日韩av片在线观看| 18禁观看日本| 一区在线观看完整版| 亚洲精品国产av蜜桃| 一本—道久久a久久精品蜜桃钙片| 免费看av在线观看网站| 少妇被粗大猛烈的视频| 国产亚洲一区二区精品| 精品国产乱码久久久久久小说| 亚洲欧美一区二区三区国产| 亚洲精品亚洲一区二区| 亚洲精品成人av观看孕妇| 日本午夜av视频| 日韩一区二区三区影片| 69精品国产乱码久久久| 欧美日韩av久久| 国产永久视频网站| av电影中文网址| 一个人看视频在线观看www免费| 亚洲精品国产色婷婷电影| 国产精品不卡视频一区二区|