亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hook.test

?? 新版輕量級嵌入式數據庫
?? TEST
字號:
# 2004 Jan 14## The author disclaims copyright to this source code.  In place of# a legal notice, here is a blessing:##    May you do good and not evil.#    May you find forgiveness for yourself and forgive others.#    May you share freely, never taking more than you give.##***********************************************************************# This file implements regression tests for TCL interface to the# SQLite library. ## The focus of the tests in this file is the  following interface:##      sqlite_commit_hook    (tests hook-1..hook-3 inclusive)#      sqlite_update_hook    (tests hook-4-*)#      sqlite_rollback_hook  (tests hook-5.*)## $Id: hook.test,v 1.11 2006/01/17 09:35:02 danielk1977 Exp $set testdir [file dirname $argv0]source $testdir/tester.tcldo_test hook-1.2 {  db commit_hook} {}do_test hook-3.1 {  set commit_cnt 0  proc commit_hook {} {    incr ::commit_cnt    return 0  }  db commit_hook ::commit_hook  db commit_hook} {::commit_hook}do_test hook-3.2 {  set commit_cnt} {0}do_test hook-3.3 {  execsql {    CREATE TABLE t2(a,b);  }  set commit_cnt} {1}do_test hook-3.4 {  execsql {    INSERT INTO t2 VALUES(1,2);    INSERT INTO t2 SELECT a+1, b+1 FROM t2;    INSERT INTO t2 SELECT a+2, b+2 FROM t2;  }  set commit_cnt} {4}do_test hook-3.5 {  set commit_cnt {}  proc commit_hook {} {    set ::commit_cnt [execsql {SELECT * FROM t2}]    return 0  }  execsql {    INSERT INTO t2 VALUES(5,6);  }  set commit_cnt} {1 2 2 3 3 4 4 5 5 6}do_test hook-3.6 {  set commit_cnt {}  proc commit_hook {} {    set ::commit_cnt [execsql {SELECT * FROM t2}]     return 1  }  catchsql {    INSERT INTO t2 VALUES(6,7);  }} {1 {constraint failed}}do_test hook-3.7 {  set ::commit_cnt} {1 2 2 3 3 4 4 5 5 6 6 7}do_test hook-3.8 {  execsql {SELECT * FROM t2}} {1 2 2 3 3 4 4 5 5 6}# Test turnning off the commit hook#do_test hook-3.9 {  db commit_hook {}  set ::commit_cnt {}  execsql {    INSERT INTO t2 VALUES(7,8);  }  set ::commit_cnt} {}#----------------------------------------------------------------------------# Tests for the update-hook.## 4.1.* - Very simple tests. Test that the update hook is invoked correctly #         for INSERT, DELETE and UPDATE statements, including DELETE #         statements with no WHERE clause.# 4.2.* - Check that the update-hook is invoked for rows modified by trigger#         bodies. Also that the database name is correctly reported when #         an attached database is modified.# 4.3.* - Do some sorting, grouping, compound queries, population and #         depopulation of indices, to make sure the update-hook is not #         invoked incorrectly.## Simple testsdo_test hook-4.1.1 {  catchsql {    DROP TABLE t1;  }  execsql {    CREATE TABLE t1(a INTEGER PRIMARY KEY, b);    INSERT INTO t1 VALUES(1, 'one');    INSERT INTO t1 VALUES(2, 'two');    INSERT INTO t1 VALUES(3, 'three');  }  db update_hook [list lappend ::update_hook]} {}do_test hook-4.1.2 {  execsql {    INSERT INTO t1 VALUES(4, 'four');    DELETE FROM t1 WHERE b = 'two';    UPDATE t1 SET b = '' WHERE a = 1 OR a = 3;    DELETE FROM t1 WHERE 1; -- Avoid the truncate optimization (for now)  }  set ::update_hook} [list \    INSERT main t1 4 \    DELETE main t1 2 \    UPDATE main t1 1 \    UPDATE main t1 3 \    DELETE main t1 1 \    DELETE main t1 3 \    DELETE main t1 4 \]set ::update_hook {}ifcapable trigger {  do_test hook-4.2.1 {    catchsql {      DROP TABLE t2;    }    execsql {      CREATE TABLE t2(c INTEGER PRIMARY KEY, d);      CREATE TRIGGER t1_trigger AFTER INSERT ON t1 BEGIN        INSERT INTO t2 VALUES(new.a, new.b);        UPDATE t2 SET d = d || ' via trigger' WHERE new.a = c;        DELETE FROM t2 WHERE new.a = c;      END;    }  } {}  do_test hook-4.2.2 {    execsql {      INSERT INTO t1 VALUES(1, 'one');      INSERT INTO t1 VALUES(2, 'two');    }    set ::update_hook  } [list \      INSERT main t1 1 \      INSERT main t2 1 \      UPDATE main t2 1 \      DELETE main t2 1 \      INSERT main t1 2 \      INSERT main t2 2 \      UPDATE main t2 2 \      DELETE main t2 2 \  ]} else {  execsql {    INSERT INTO t1 VALUES(1, 'one');    INSERT INTO t1 VALUES(2, 'two');  }}# Update-hook + ATTACHset ::update_hook {}do_test hook-4.2.3 {  file delete -force test2.db  execsql {    ATTACH 'test2.db' AS aux;    CREATE TABLE aux.t3(a INTEGER PRIMARY KEY, b);    INSERT INTO aux.t3 SELECT * FROM t1;    UPDATE t3 SET b = 'two or so' WHERE a = 2;    DELETE FROM t3 WHERE 1; -- Avoid the truncate optimization (for now)  }  set ::update_hook} [list \    INSERT aux t3 1 \    INSERT aux t3 2 \    UPDATE aux t3 2 \    DELETE aux t3 1 \    DELETE aux t3 2 \]ifcapable trigger {  execsql {    DROP TRIGGER t1_trigger;  }}# Test that other vdbe operations involving btree structures do not # incorrectly invoke the update-hook.set ::update_hook {}do_test hook-4.3.1 {  execsql {    CREATE INDEX t1_i ON t1(b);    INSERT INTO t1 VALUES(3, 'three');    UPDATE t1 SET b = '';    DELETE FROM t1 WHERE a > 1;  }  set ::update_hook} [list \    INSERT main t1 3 \    UPDATE main t1 1 \    UPDATE main t1 2 \    UPDATE main t1 3 \    DELETE main t1 2 \    DELETE main t1 3 \]set ::update_hook {}ifcapable compound {  do_test hook-4.3.2 {    execsql {      SELECT * FROM t1 UNION SELECT * FROM t3;      SELECT * FROM t1 UNION ALL SELECT * FROM t3;      SELECT * FROM t1 INTERSECT SELECT * FROM t3;      SELECT * FROM t1 EXCEPT SELECT * FROM t3;      SELECT * FROM t1 ORDER BY b;      SELECT * FROM t1 GROUP BY b;    }    set ::update_hook  } [list]}db update_hook {}##----------------------------------------------------------------------------#----------------------------------------------------------------------------# Test the rollback-hook. The rollback-hook is a bit more complicated than# either the commit or update hooks because a rollback can happen # explicitly (an sql ROLLBACK statement) or implicitly (a constraint or # error condition).## hook-5.1.* - Test explicit rollbacks.# hook-5.2.* - Test implicit rollbacks caused by constraint failure.## hook-5.3.* - Test implicit rollbacks caused by IO errors.# hook-5.4.* - Test implicit rollbacks caused by malloc() failure.# hook-5.5.* - Test hot-journal rollbacks. Or should the rollback hook #              not be called for these?#do_test hook-5.0 {  # Configure the rollback hook to increment global variable   # $::rollback_hook each time it is invoked.  set ::rollback_hook 0  db rollback_hook [list incr ::rollback_hook]} {}# Test explicit rollbacks. Not much can really go wrong here.#do_test hook-5.1.1 {  set ::rollback_hook 0  execsql {    BEGIN;    ROLLBACK;  }  set ::rollback_hook} {1}# Test implicit rollbacks caused by constraints.#do_test hook-5.2.1 {  set ::rollback_hook 0  catchsql {    DROP TABLE t1;    CREATE TABLE t1(a PRIMARY KEY, b);    INSERT INTO t1 VALUES('one', 'I');    INSERT INTO t1 VALUES('one', 'I');  }  set ::rollback_hook} {1}do_test hook-5.2.2 {  # Check that the INSERT transaction above really was rolled back.  execsql {    SELECT count(*) FROM t1;  }} {1}## End rollback-hook testing.#----------------------------------------------------------------------------finish_test

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美美女视频在线观看| 成人午夜激情在线| 日韩视频一区二区三区在线播放| 洋洋av久久久久久久一区| 91视频免费看| 亚洲精品你懂的| 色欧美88888久久久久久影院| 中文字幕五月欧美| 在线亚洲高清视频| 免费观看日韩av| 久久久蜜臀国产一区二区| 丰满放荡岳乱妇91ww| 18成人在线视频| 欧美日韩一区二区在线观看视频 | 亚洲国产精品一区二区久久恐怖片 | 韩国女主播成人在线| 精品国免费一区二区三区| 国产99久久久精品| 亚洲国产精品精华液网站| 这里是久久伊人| 成人动漫中文字幕| 亚洲裸体xxx| 日韩三级视频在线看| av欧美精品.com| 日韩高清在线电影| 国产精品无人区| 4438成人网| 99re在线视频这里只有精品| 日本成人在线网站| 中文字幕在线免费不卡| 欧美一区二区三级| 国产麻豆日韩欧美久久| 一区二区成人在线视频| 精品国产污网站| 91亚洲国产成人精品一区二三| 天堂一区二区在线| 国产精品理论在线观看| 欧美成人a∨高清免费观看| 国产成人超碰人人澡人人澡| 香蕉加勒比综合久久| 日本一区二区三区dvd视频在线| 欧美综合色免费| 成人性生交大片免费| 另类小说欧美激情| 一区二区三区日韩欧美| 精品sm捆绑视频| 欧美日韩在线三区| 99国产精品视频免费观看| 激情av综合网| 免费在线观看日韩欧美| 一区二区三区不卡在线观看| 国产日韩高清在线| 日韩免费在线观看| 4438成人网| 欧美色视频在线观看| 北条麻妃国产九九精品视频| 精品在线免费观看| 天堂一区二区在线| 亚洲地区一二三色| 亚洲精选一二三| 中文字幕亚洲一区二区va在线| 26uuu国产在线精品一区二区| 欧美丰满美乳xxx高潮www| 日本韩国一区二区三区| 99久久精品国产一区| 成人美女视频在线看| 国产成人免费在线观看| 国产一区二区免费视频| 国产一区二区三区免费| 国产美女精品一区二区三区| 麻豆国产精品官网| 裸体健美xxxx欧美裸体表演| 婷婷丁香久久五月婷婷| 性感美女久久精品| 五月天丁香久久| 日韩高清不卡一区| 日韩av不卡在线观看| 日本在线播放一区二区三区| 亚洲va韩国va欧美va| 青青草国产成人99久久| 蜜臀a∨国产成人精品| 美国av一区二区| 国内精品伊人久久久久影院对白| 久久精品国产99久久6| 精品系列免费在线观看| 精品一区二区在线观看| 国产91高潮流白浆在线麻豆 | 成人教育av在线| 波多野结衣在线一区| av在线不卡电影| 欧美少妇xxx| 日韩精品一区二区三区中文不卡| 精品捆绑美女sm三区| 久久亚洲二区三区| 国产精品国产a| 亚洲成精国产精品女| 日本不卡中文字幕| 国产精品一区二区三区乱码| av电影天堂一区二区在线| 欧美午夜视频网站| 91精品免费在线| 久久精品亚洲精品国产欧美kt∨ | 久久综合国产精品| 中文子幕无线码一区tr| 亚洲国产成人午夜在线一区 | 色综合中文字幕国产 | av一区二区三区黑人| 99久久精品国产观看| 欧美午夜电影在线播放| 欧美日产国产精品| 国产欧美日韩视频在线观看| 亚洲天堂中文字幕| 日韩avvvv在线播放| 国产美女视频91| 欧美影视一区二区三区| 精品成人一区二区三区| 一区二区三区中文字幕| 蜜桃视频在线观看一区二区| 国产成人综合自拍| 在线电影一区二区三区| 欧美激情一区二区在线| 日韩精品成人一区二区在线| 国产久卡久卡久卡久卡视频精品| 91久久精品一区二区二区| 亚洲精品一区二区在线观看| 综合久久国产九一剧情麻豆| 琪琪一区二区三区| 色综合视频在线观看| 2023国产精华国产精品| 亚洲高清不卡在线| 大白屁股一区二区视频| 欧美一区二区三区在线电影| 亚洲人成7777| 国产精品2024| 日韩一级黄色片| 亚洲一级二级在线| 北条麻妃国产九九精品视频| 精品蜜桃在线看| 天天做天天摸天天爽国产一区| 成人视屏免费看| 久久看人人爽人人| 久久精品国产成人一区二区三区| 在线亚洲+欧美+日本专区| 国产精品免费视频观看| 国产伦精品一区二区三区免费| 欧美精品aⅴ在线视频| 亚洲精品乱码久久久久久久久 | 高清不卡一区二区在线| 亚洲欧洲综合另类| 久久精品国产免费| 国产精品二三区| 中文字幕亚洲欧美在线不卡| 久久99精品国产.久久久久| 欧美色倩网站大全免费| 亚洲精品成人天堂一二三| 成+人+亚洲+综合天堂| 久久久99免费| 国产尤物一区二区| 欧美一区二区三级| 男女激情视频一区| 正在播放亚洲一区| 天天爽夜夜爽夜夜爽精品视频| 欧美午夜精品一区二区三区| 亚洲美女淫视频| 色综合天天综合网天天狠天天| 欧美韩国一区二区| 成人午夜视频在线观看| 国产精品久久久久久亚洲伦 | 欧美四级电影在线观看| 亚洲欧美偷拍另类a∨色屁股| 成人黄色电影在线 | 久久久99免费| 成人免费毛片a| 精品国产乱码久久久久久1区2区 | 亚洲123区在线观看| 91香蕉视频mp4| 日韩一区在线看| 色综合久久综合网97色综合| 亚洲裸体在线观看| 在线观看不卡一区| 亚洲小说欧美激情另类| 欧美精品在线观看一区二区| 视频在线观看一区二区三区| 欧美日韩一级黄| 精品在线观看视频| 国产精品网曝门| 91浏览器入口在线观看| 亚洲国产精品久久艾草纯爱| 56国语精品自产拍在线观看| 美女久久久精品| 国产欧美精品在线观看| 91原创在线视频| 首页国产丝袜综合| 国产三级三级三级精品8ⅰ区| 福利一区二区在线| 亚洲美女一区二区三区| 欧美一级日韩一级| 国产高清成人在线| 一卡二卡三卡日韩欧美| 精品欧美乱码久久久久久1区2区|