~ubuntu-branches/ubuntu/hardy/sqlite3/hardy

« back to all changes in this revision

Viewing changes to test/misc2.test

  • Committer: Bazaar Package Importer
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2007-05-17 02:01:42 UTC
  • mfrom: (1.1.8 upstream) (3.1.1 etch)
  • Revision ID: james.westby@ubuntu.com-20070517020142-o79d5uduuhfbtknv
Tags: 3.3.17-1
* New upstream release.
* Use minor version as well in sqlite3.pc (closes: #424235).

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
# This file implements tests for miscellanous features that were
14
14
# left out of other test files.
15
15
#
16
 
# $Id: misc2.test,v 1.26 2006/09/29 14:01:07 drh Exp $
 
16
# $Id: misc2.test,v 1.27 2007/04/06 01:03:34 drh Exp $
17
17
 
18
18
set testdir [file dirname $argv0]
19
19
source $testdir/tester.tcl
253
253
  execsql {SELECT * FROM t1}
254
254
} {1 2 3 4 5 6 7 8 9 10}
255
255
 
 
256
# Repeat the tests 7.1 through 7.8 about but this time do the SELECTs
 
257
# in reverse order so that we exercise the sqlite3BtreePrev() routine
 
258
# instead of sqlite3BtreeNext()
 
259
#
 
260
do_test misc2-7.11 {
 
261
  db close
 
262
  file delete -force test.db
 
263
  sqlite3 db test.db
 
264
  execsql {
 
265
    CREATE TABLE t1(x);
 
266
    INSERT INTO t1 VALUES(1);
 
267
    INSERT INTO t1 VALUES(2);
 
268
    INSERT INTO t1 VALUES(3);
 
269
    SELECT * FROM t1;
 
270
  }
 
271
} {1 2 3}
 
272
do_test misc2-7.12 {
 
273
  set rc [catch {
 
274
    db eval {SELECT rowid FROM t1 ORDER BY rowid DESC} {} {
 
275
      db eval "DELETE FROM t1 WHERE rowid=$rowid"
 
276
    }
 
277
  } msg]
 
278
  lappend rc $msg
 
279
} {0 {}}
 
280
do_test misc2-7.13 {
 
281
  execsql {SELECT * FROM t1}
 
282
} {}
 
283
do_test misc2-7.14 {
 
284
  execsql {
 
285
    DELETE FROM t1;
 
286
    INSERT INTO t1 VALUES(1);
 
287
    INSERT INTO t1 VALUES(2);
 
288
    INSERT INTO t1 VALUES(3);
 
289
    INSERT INTO t1 VALUES(4);
 
290
  }
 
291
  db eval {SELECT rowid, x FROM t1 ORDER BY rowid DESC} {
 
292
    if {$x & 1} {
 
293
      db eval {DELETE FROM t1 WHERE rowid=$rowid}
 
294
    }
 
295
  }
 
296
  execsql {SELECT * FROM t1}
 
297
} {2 4}
 
298
do_test misc2-7.15 {
 
299
  execsql {
 
300
    DELETE FROM t1;
 
301
    INSERT INTO t1 VALUES(1);
 
302
    INSERT INTO t1 VALUES(2);
 
303
    INSERT INTO t1 VALUES(3);
 
304
    INSERT INTO t1 VALUES(4);
 
305
  }
 
306
  db eval {SELECT rowid, x FROM t1} {
 
307
    if {$x & 1} {
 
308
      db eval {DELETE FROM t1 WHERE rowid=$rowid+1}
 
309
    }
 
310
  }
 
311
  execsql {SELECT * FROM t1}
 
312
} {1 3}
 
313
do_test misc2-7.16 {
 
314
  execsql {
 
315
    DELETE FROM t1;
 
316
    INSERT INTO t1 VALUES(1);
 
317
    INSERT INTO t1 VALUES(2);
 
318
    INSERT INTO t1 VALUES(3);
 
319
    INSERT INTO t1 VALUES(4);
 
320
  }
 
321
  db eval {SELECT rowid, x FROM t1 ORDER BY rowid DESC} {
 
322
    if {$x & 1} {
 
323
      db eval {DELETE FROM t1}
 
324
    }
 
325
  }
 
326
  execsql {SELECT * FROM t1}
 
327
} {}
 
328
do_test misc2-7.17 {
 
329
  execsql {
 
330
    DELETE FROM t1;
 
331
    INSERT INTO t1 VALUES(1);
 
332
    INSERT INTO t1 VALUES(2);
 
333
    INSERT INTO t1 VALUES(3);
 
334
    INSERT INTO t1 VALUES(4);
 
335
  }
 
336
  db eval {SELECT rowid, x FROM t1 ORDER BY rowid DESC} {
 
337
    if {$x & 1} {
 
338
      db eval {UPDATE t1 SET x=x+100 WHERE rowid=$rowid}
 
339
    }
 
340
  }
 
341
  execsql {SELECT * FROM t1}
 
342
} {101 2 103 4}
 
343
do_test misc2-7.18 {
 
344
  execsql {
 
345
    DELETE FROM t1;
 
346
    INSERT INTO t1(rowid,x) VALUES(10,10);
 
347
  }
 
348
  db eval {SELECT rowid, x FROM t1 ORDER BY rowid DESC} {
 
349
    if {$x>1} {
 
350
      db eval {INSERT INTO t1(rowid,x) VALUES($x-1,$x-1)}
 
351
    }
 
352
  }
 
353
  execsql {SELECT * FROM t1}
 
354
} {1 2 3 4 5 6 7 8 9 10}
 
355
 
256
356
db close
257
357
file delete -force test.db
258
358
sqlite3 db test.db