contrib01.test 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # 2013-06-05
  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. # This file implements regression tests for SQLite library.
  12. #
  13. # This file contains test cases that were contributed on the sqlite-users
  14. # mailing list on 2013-06-05 by Mi Chen at mi.chen@echostar.com.
  15. #
  16. # At the time it was contributed, this test failed on trunk, but
  17. # worked on the NGQP.
  18. set testdir [file dirname $argv0]
  19. source $testdir/tester.tcl
  20. # Build some test data
  21. #
  22. do_test contrib01-1.0 {
  23. db eval {
  24. CREATE TABLE T1 (B INTEGER NOT NULL,
  25. C INTEGER NOT NULL,
  26. D INTEGER NOT NULL,
  27. E INTEGER NOT NULL,
  28. F INTEGER NOT NULL,
  29. G INTEGER NOT NULL,
  30. H INTEGER NOT NULL,
  31. PRIMARY KEY (B, C, D));
  32. CREATE TABLE T2 (A INTEGER NOT NULL,
  33. B INTEGER NOT NULL,
  34. C INTEGER NOT NULL,
  35. PRIMARY KEY (A, B, C));
  36. INSERT INTO T2(A, B, C) VALUES(702118,16183,15527);
  37. INSERT INTO T2(A, B, C) VALUES(702118,16183,15560);
  38. INSERT INTO T2(A, B, C) VALUES(702118,16183,15561);
  39. INSERT INTO T2(A, B, C) VALUES(702118,16183,15563);
  40. INSERT INTO T2(A, B, C) VALUES(702118,16183,15564);
  41. INSERT INTO T2(A, B, C) VALUES(702118,16183,15566);
  42. INSERT INTO T2(A, B, C) VALUES(702118,16183,15567);
  43. INSERT INTO T2(A, B, C) VALUES(702118,16183,15569);
  44. INSERT INTO T2(A, B, C) VALUES(702118,16183,15612);
  45. INSERT INTO T2(A, B, C) VALUES(702118,16183,15613);
  46. INSERT INTO T2(A, B, C) VALUES(702118,16183,15638);
  47. INSERT INTO T2(A, B, C) VALUES(702118,16183,15681);
  48. INSERT INTO T2(A, B, C) VALUES(702118,16183,15682);
  49. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15527,6,0,5,5,0);
  50. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15560,6,0,5,2,0);
  51. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15561,6,0,5,2,0);
  52. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15563,6,0,5,2,0);
  53. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15564,6,0,5,2,0);
  54. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15566,6,0,5,2,0);
  55. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15567,6,0,5,2,0);
  56. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15569,6,0,5,2,0);
  57. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15612,6,0,5,5,0);
  58. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15613,6,0,5,2,0);
  59. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15638,6,0,5,2,0);
  60. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15681,6,0,5,5,0);
  61. INSERT INTO T1(B, C, D, E, F, G, H) VALUES(16183,15682,6,0,5,2,0);
  62. }
  63. } {}
  64. do_test contrib01-1.1 {
  65. db eval {
  66. SELECT T2.A, T2.B, T1.D, T1.E, T1.F, T1.G, T1.H, MAX(T1.C), '^'
  67. FROM T1, T2
  68. WHERE T1.B = T2.B
  69. AND T1.C = T2.C
  70. GROUP BY T2.A, T2.B, T1.D, T1.E, T1.F, T1.G, T1.H
  71. ORDER BY +max(t1.c);
  72. }
  73. } {702118 16183 6 0 5 5 0 15681 ^ 702118 16183 6 0 5 2 0 15682 ^}
  74. do_test contrib01-1.2 {
  75. db eval {
  76. SELECT T2.A, T2.B, T1.D, T1.E, T1.F, T1.G, T1.H, MAX(T1.C), '^'
  77. FROM T1, T2
  78. WHERE T1.B = T2.B
  79. AND T1.C = T2.C
  80. GROUP BY T2.A, T2.B, T1.F, T1.D, T1.E, T1.G, T1.H
  81. ORDER BY +max(t1.c);
  82. }
  83. } {702118 16183 6 0 5 5 0 15681 ^ 702118 16183 6 0 5 2 0 15682 ^}
  84. finish_test