You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

171 lines
5.0 KiB

  1. #
  2. # Test of function defaults for non-embedded server.
  3. #
  4. #
  5. # Function defaults run 1. No microsecond precision.
  6. #
  7. SET TIME_ZONE = "+00:00";
  8. #
  9. # Test of INSERT DELAYED ... SET ...
  10. #
  11. # 2011-04-19 08:02:40 UTC
  12. SET TIMESTAMP = 1303200160.123456;
  13. CREATE TABLE t1 ( a INT, b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
  14. INSERT DELAYED INTO t1 SET a = 1;
  15. FLUSH TABLE t1;
  16. SELECT * FROM t1;
  17. a b
  18. 1 2011-04-19 08:02:40
  19. SELECT * FROM t1 WHERE b = 0;
  20. a b
  21. INSERT DELAYED INTO t1 SET a = 2, b = '1980-01-02 10:20:30.405060';
  22. FLUSH TABLE t1;
  23. SELECT * FROM t1;
  24. a b
  25. 1 2011-04-19 08:02:40
  26. 2 1980-01-02 10:20:30
  27. DROP TABLE t1;
  28. #
  29. # Test of INSERT DELAYED ... VALUES ...
  30. #
  31. # 2011-04-19 08:04:01 UTC
  32. SET TIMESTAMP = 1303200241.234567;
  33. CREATE TABLE t1 ( a INT, b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
  34. INSERT DELAYED INTO t1 ( a ) VALUES (1);
  35. FLUSH TABLE t1;
  36. SELECT * FROM t1;
  37. a b
  38. 1 2011-04-19 08:04:01
  39. INSERT DELAYED INTO t1 VALUES (2, '1977-12-19 12:34:56.789123');
  40. FLUSH TABLE t1;
  41. SELECT * FROM t1;
  42. a b
  43. 1 2011-04-19 08:04:01
  44. 2 1977-12-19 12:34:56
  45. DROP TABLE t1;
  46. #
  47. # Test of a delayed insert handler servicing two insert operations
  48. # with different sets of active defaults.
  49. #
  50. CREATE TABLE t1 ( a INT, b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
  51. # 2011-04-19 08:04:01 UTC
  52. SET TIMESTAMP = 1303200241.345678;
  53. SET debug_sync = 'before_write_delayed SIGNAL parked WAIT_FOR go';
  54. INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3);
  55. SET debug_sync = 'now WAIT_FOR parked';
  56. # 2011-04-19 08:04:01 UTC
  57. SET TIME_ZONE="+03:00";
  58. SET TIMESTAMP = 1303200241.456789;
  59. INSERT DELAYED INTO t1 ( a, b ) VALUES (4, '1977-12-19 12:34:56.789123'), (5, '1977-12-19 12:34:57.891234'), (6, '1977-12-19 12:34:58.912345');
  60. SET debug_sync = 'now SIGNAL go';
  61. SELECT * FROM t1;
  62. a b
  63. 1 2011-04-19 08:04:01
  64. 2 2011-04-19 08:04:01
  65. 3 2011-04-19 08:04:01
  66. 4 1977-12-19 09:34:56
  67. 5 1977-12-19 09:34:57
  68. 6 1977-12-19 09:34:58
  69. DROP TABLE t1;
  70. #
  71. # Test of early activation of function defaults.
  72. #
  73. CREATE TABLE t1 ( a INT, b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
  74. SET TIMESTAMP = 1317235172.987654;
  75. INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3);
  76. SET TIMESTAMP = 385503754.876543;
  77. INSERT DELAYED INTO t1 ( a ) VALUES (4), (5), (6);
  78. FLUSH TABLE t1;
  79. SELECT * FROM t1;
  80. a b
  81. 1 2011-09-28 18:39:32
  82. 2 2011-09-28 18:39:32
  83. 3 2011-09-28 18:39:32
  84. 4 1982-03-20 20:22:34
  85. 5 1982-03-20 20:22:34
  86. 6 1982-03-20 20:22:34
  87. DROP TABLE t1;
  88. #
  89. # Function defaults run 2. Six digits scale on seconds precision.
  90. #
  91. SET TIME_ZONE = "+00:00";
  92. #
  93. # Test of INSERT DELAYED ... SET ...
  94. #
  95. # 2011-04-19 08:02:40 UTC
  96. SET TIMESTAMP = 1303200160.123456;
  97. CREATE TABLE t1 ( a INT, b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
  98. INSERT DELAYED INTO t1 SET a = 1;
  99. FLUSH TABLE t1;
  100. SELECT * FROM t1;
  101. a b
  102. 1 2011-04-19 08:02:40.123456
  103. SELECT * FROM t1 WHERE b = 0;
  104. a b
  105. INSERT DELAYED INTO t1 SET a = 2, b = '1980-01-02 10:20:30.405060';
  106. FLUSH TABLE t1;
  107. SELECT * FROM t1;
  108. a b
  109. 1 2011-04-19 08:02:40.123456
  110. 2 1980-01-02 10:20:30.405060
  111. DROP TABLE t1;
  112. #
  113. # Test of INSERT DELAYED ... VALUES ...
  114. #
  115. # 2011-04-19 08:04:01 UTC
  116. SET TIMESTAMP = 1303200241.234567;
  117. CREATE TABLE t1 ( a INT, b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
  118. INSERT DELAYED INTO t1 ( a ) VALUES (1);
  119. FLUSH TABLE t1;
  120. SELECT * FROM t1;
  121. a b
  122. 1 2011-04-19 08:04:01.234567
  123. INSERT DELAYED INTO t1 VALUES (2, '1977-12-19 12:34:56.789123');
  124. FLUSH TABLE t1;
  125. SELECT * FROM t1;
  126. a b
  127. 1 2011-04-19 08:04:01.234567
  128. 2 1977-12-19 12:34:56.789123
  129. DROP TABLE t1;
  130. #
  131. # Test of a delayed insert handler servicing two insert operations
  132. # with different sets of active defaults.
  133. #
  134. CREATE TABLE t1 ( a INT, b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
  135. # 2011-04-19 08:04:01 UTC
  136. SET TIMESTAMP = 1303200241.345678;
  137. SET debug_sync = 'before_write_delayed SIGNAL parked WAIT_FOR go';
  138. INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3);
  139. SET debug_sync = 'now WAIT_FOR parked';
  140. # 2011-04-19 08:04:01 UTC
  141. SET TIME_ZONE="+03:00";
  142. SET TIMESTAMP = 1303200241.456789;
  143. INSERT DELAYED INTO t1 ( a, b ) VALUES (4, '1977-12-19 12:34:56.789123'), (5, '1977-12-19 12:34:57.891234'), (6, '1977-12-19 12:34:58.912345');
  144. SET debug_sync = 'now SIGNAL go';
  145. SELECT * FROM t1;
  146. a b
  147. 1 2011-04-19 08:04:01.345678
  148. 2 2011-04-19 08:04:01.345678
  149. 3 2011-04-19 08:04:01.345678
  150. 4 1977-12-19 09:34:56.789123
  151. 5 1977-12-19 09:34:57.891234
  152. 6 1977-12-19 09:34:58.912345
  153. DROP TABLE t1;
  154. #
  155. # Test of early activation of function defaults.
  156. #
  157. CREATE TABLE t1 ( a INT, b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
  158. SET TIMESTAMP = 1317235172.987654;
  159. INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3);
  160. SET TIMESTAMP = 385503754.876543;
  161. INSERT DELAYED INTO t1 ( a ) VALUES (4), (5), (6);
  162. FLUSH TABLE t1;
  163. SELECT * FROM t1;
  164. a b
  165. 1 2011-09-28 18:39:32.987654
  166. 2 2011-09-28 18:39:32.987654
  167. 3 2011-09-28 18:39:32.987654
  168. 4 1982-03-20 20:22:34.876543
  169. 5 1982-03-20 20:22:34.876543
  170. 6 1982-03-20 20:22:34.876543
  171. DROP TABLE t1;