tkt3838.test 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # 2009 May 5
  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 #3838
  13. #
  14. # The ticket reports that the encoding is UTF8 on the DEFAULT VALUE of
  15. # a column added using ALTER TABLE even when the database is UTF16.
  16. # Verify that this has been fixed.
  17. #
  18. # $Id: tkt3838.test,v 1.1 2009/05/05 12:54:50 drh Exp $
  19. set testdir [file dirname $argv0]
  20. source $testdir/tester.tcl
  21. ifcapable !altertable {
  22. finish_test
  23. return
  24. }
  25. do_realnum_test tkt3838-1.1 {
  26. db eval {
  27. PRAGMA encoding=UTF16;
  28. CREATE TABLE t1(x);
  29. INSERT INTO t1 VALUES(1);
  30. ALTER TABLE t1 ADD COLUMN b INTEGER DEFAULT '999';
  31. ALTER TABLE t1 ADD COLUMN c REAL DEFAULT '9e99';
  32. ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'xyzzy';
  33. UPDATE t1 SET x=x+1;
  34. SELECT * FROM t1;
  35. }
  36. } {2 999 9e+99 xyzzy}
  37. ifcapable trigger {
  38. do_test tkt3838-1.2 {
  39. db eval {
  40. CREATE TABLE log(y);
  41. CREATE TRIGGER r1 AFTER INSERT ON T1 BEGIN
  42. INSERT INTO log VALUES(new.x);
  43. END;
  44. INSERT INTO t1(x) VALUES(123);
  45. ALTER TABLE T1 RENAME TO XYZ2;
  46. INSERT INTO xyz2(x) VALUES(456);
  47. ALTER TABLE xyz2 RENAME TO pqr3;
  48. INSERT INTO pqr3(x) VALUES(789);
  49. SELECT * FROM log;
  50. }
  51. } {123 456 789}
  52. }
  53. finish_test