Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: third_party/sqlite/src/test/table.test

Issue 1610963002: Import SQLite 3.10.2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/sqlite/src/test/tabfunc01.test ('k') | third_party/sqlite/src/test/tclsqlite.test » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # 2001 September 15 1 # 2001 September 15
2 # 2 #
3 # The author disclaims copyright to this source code. In place of 3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing: 4 # a legal notice, here is a blessing:
5 # 5 #
6 # May you do good and not evil. 6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others. 7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give. 8 # May you share freely, never taking more than you give.
9 # 9 #
10 #*********************************************************************** 10 #***********************************************************************
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 db eval { 265 db eval {
266 ANALYZE; 266 ANALYZE;
267 DROP TABLE IF EXISTS sqlite_stat1; 267 DROP TABLE IF EXISTS sqlite_stat1;
268 DROP TABLE IF EXISTS sqlite_stat2; 268 DROP TABLE IF EXISTS sqlite_stat2;
269 DROP TABLE IF EXISTS sqlite_stat3; 269 DROP TABLE IF EXISTS sqlite_stat3;
270 DROP TABLE IF EXISTS sqlite_stat4; 270 DROP TABLE IF EXISTS sqlite_stat4;
271 SELECT name FROM sqlite_master WHERE name GLOB 'sqlite_stat*'; 271 SELECT name FROM sqlite_master WHERE name GLOB 'sqlite_stat*';
272 } 272 }
273 } {} 273 } {}
274 274
275 do_test table-5.2.2 {
276 db close
277 forcedelete test.db
278 sqlite3 db test.db
279 db eval {
280 CREATE TABLE t0(a,b);
281 CREATE INDEX t ON t0(a);
282 PRAGMA writable_schema=ON;
283 UPDATE sqlite_master SET sql='CREATE TABLE a.b(a UNIQUE';
284 BEGIN;
285 CREATE TABLE t1(x);
286 ROLLBACK;
287 DROP TABLE IF EXISTS t99;
288 }
289 } {}
290 db close
291 forcedelete test.db
292 sqlite3 db test.db
293
275 # Make sure an EXPLAIN does not really create a new table 294 # Make sure an EXPLAIN does not really create a new table
276 # 295 #
277 do_test table-5.3 { 296 do_test table-5.3 {
278 ifcapable {explain} { 297 ifcapable {explain} {
279 execsql {EXPLAIN CREATE TABLE test1(f1 int)} 298 execsql {EXPLAIN CREATE TABLE test1(f1 int)}
280 } 299 }
281 execsql {SELECT name FROM sqlite_master WHERE type!='meta'} 300 execsql {SELECT name FROM sqlite_master WHERE type!='meta'}
282 } {} 301 } {}
283 302
284 # Make sure an EXPLAIN does not really drop an existing table 303 # Make sure an EXPLAIN does not really drop an existing table
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 INSERT INTO t1(a) VALUES(1),(2); 801 INSERT INTO t1(a) VALUES(1),(2);
783 DROP TABLE IF EXISTS t2; 802 DROP TABLE IF EXISTS t2;
784 CREATE TABLE t2(x TEXT, y TEXT); 803 CREATE TABLE t2(x TEXT, y TEXT);
785 INSERT INTO t2(x,y) VALUES(3,4); 804 INSERT INTO t2(x,y) VALUES(3,4);
786 DROP TABLE IF EXISTS t3; 805 DROP TABLE IF EXISTS t3;
787 CREATE TABLE t3 AS 806 CREATE TABLE t3 AS
788 SELECT a AS p, coalesce(y,a) AS q FROM t1 LEFT JOIN t2 ON a=x; 807 SELECT a AS p, coalesce(y,a) AS q FROM t1 LEFT JOIN t2 ON a=x;
789 SELECT p, q, '|' FROM t3 ORDER BY p; 808 SELECT p, q, '|' FROM t3 ORDER BY p;
790 } {1 1 | 2 2 |} 809 } {1 1 | 2 2 |}
791 810
811 # 2015-06-16
812 # Ticket [https://www.sqlite.org/src/tktview/873cae2b6e25b1991ce5e9b782f9cd0409b 96063]
813 # Make sure a CREATE TABLE AS statement correctly rolls back partial changes to the
814 # sqlite_master table when the SELECT on the right-hand side aborts.
815 #
816 do_catchsql_test table-18.1 {
817 DROP TABLE IF EXISTS t1;
818 BEGIN;
819 CREATE TABLE t1 AS SELECT zeroblob(2e20);
820 } {1 {string or blob too big}}
821 do_execsql_test table-18.2 {
822 COMMIT;
823 PRAGMA integrity_check;
824 } {ok}
825
826 # 2015-09-09
827 # Ticket [https://www.sqlite.org/src/info/acd12990885d9276]
828 # "CREATE TABLE ... AS SELECT ... FROM sqlite_master" fails because the row
829 # in the sqlite_master table for the next table is initially populated
830 # with a NULL instead of a record created by OP_Record.
831 #
832 do_execsql_test table-19.1 {
833 CREATE TABLE t19 AS SELECT * FROM sqlite_master;
834 SELECT name FROM t19 ORDER BY name;
835 } {{} savepoint t10 t11 t12 t13 t16 t2 t3 t3\"xyz t4\"abc t7 t8 t9 tablet8 test1 weird}
836
837
838
792 finish_test 839 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/tabfunc01.test ('k') | third_party/sqlite/src/test/tclsqlite.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698