tkt3832.test 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # 2009 April 30
  2. #
  3. # The author disclaims copyright to this source code. In place of
  4. # a legal notice, here is a blessing:
  5. #
  6. # May you do good and not evil.
  7. # May you find forgiveness for yourself and forgive others.
  8. # May you share freely, never taking more than you give.
  9. #
  10. #***********************************************************************
  11. #
  12. # Ticket #3832
  13. #
  14. # A segfault when using a BEFORE trigger on an INSERT and inserting
  15. # a NULL into the INTEGER PRIMARY KEY.
  16. #
  17. # $Id: tkt3832.test,v 1.1 2009/05/01 02:08:04 drh Exp $
  18. set testdir [file dirname $argv0]
  19. source $testdir/tester.tcl
  20. ifcapable {!trigger} {
  21. finish_test
  22. return
  23. }
  24. do_test tkt3832-1.1 {
  25. db eval {
  26. CREATE TABLE t1(a INT, b INTEGER PRIMARY KEY);
  27. CREATE TABLE log(x);
  28. CREATE TRIGGER t1r1 BEFORE INSERT ON t1 BEGIN
  29. INSERT INTO log VALUES(new.b);
  30. END;
  31. INSERT INTO t1 VALUES(NULL,5);
  32. INSERT INTO t1 SELECT b, a FROM t1 ORDER BY b;
  33. SELECT rowid, * FROM t1;
  34. SELECT rowid, * FROM log;
  35. }
  36. } {5 {} 5 6 5 6 1 5 2 -1}
  37. finish_test