statement_source.slt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. # Copyright 2015 - 2019 The Cockroach Authors. All rights reserved.
  2. # Copyright Materialize, Inc. and contributors. All rights reserved.
  3. #
  4. # Use of this software is governed by the Business Source License
  5. # included in the LICENSE file at the root of this repository.
  6. #
  7. # As of the Change Date specified in that file, in accordance with
  8. # the Business Source License, use of this software will be governed
  9. # by the Apache License, Version 2.0.
  10. #
  11. # This file is derived from the logic test suite in CockroachDB. The
  12. # original file was retrieved on June 10, 2019 from:
  13. #
  14. # https://github.com/cockroachdb/cockroach/blob/d2f7fbf5dd1fc1a099bbad790a2e1f7c60a66cc3/pkg/sql/logictest/testdata/logic_test/statement_source
  15. #
  16. # The original source code is subject to the terms of the Apache
  17. # 2.0 license, a copy of which can be found in the LICENSE file at the
  18. # root of this repository.
  19. mode cockroach
  20. simple conn=mz_system,user=mz_system
  21. ALTER SYSTEM SET unsafe_enable_table_keys = true
  22. ----
  23. COMPLETE 0
  24. statement ok
  25. CREATE TABLE a (a INT PRIMARY KEY, b INT)
  26. query error statement source "INSERT INTO a VALUES \(1, 2\)" does not return any columns
  27. SELECT 1 FROM [INSERT INTO a VALUES (1, 2)]
  28. query error statement source "DELETE FROM a" does not return any columns
  29. SELECT 1 FROM [DELETE FROM a]
  30. query II
  31. SELECT @1, a+b FROM [INSERT INTO a VALUES (1,2) RETURNING b,a]
  32. ----
  33. 2 3
  34. # Check that LIMIT does not apply to mutation statements
  35. query II
  36. WITH a AS (INSERT INTO a VALUES (2,3), (3,4) RETURNING a,b)
  37. SELECT * FROM a LIMIT 0
  38. ----
  39. query II
  40. SELECT * FROM [INSERT INTO a VALUES (4,5), (5,6) RETURNING a,b] LIMIT 0
  41. ----
  42. query II
  43. WITH a AS (UPSERT INTO a VALUES (2,3), (6,7) RETURNING a,b)
  44. SELECT * FROM a LIMIT 0
  45. ----
  46. query II
  47. SELECT * FROM [UPSERT INTO a VALUES (4,5), (7,8) RETURNING a,b] LIMIT 0
  48. ----
  49. query II
  50. WITH a AS (UPDATE a SET a = -a WHERE b % 2 = 1 RETURNING a,b)
  51. SELECT * FROM a LIMIT 0
  52. ----
  53. query II
  54. SELECT * FROM [UPDATE a SET a = a*100 WHERE b < 3 RETURNING a,b] LIMIT 0
  55. ----
  56. query II
  57. SELECT * FROM a ORDER BY b
  58. ----
  59. 100 2
  60. -2 3
  61. 3 4
  62. -4 5
  63. 5 6
  64. -6 7
  65. 7 8
  66. query II
  67. WITH a AS (DELETE FROM a WHERE b IN (4,5) RETURNING a,b)
  68. SELECT * FROM a LIMIT 0
  69. ----
  70. query II
  71. SELECT * FROM [DELETE FROM a WHERE b IN (6,7) RETURNING a,b] LIMIT 0
  72. ----
  73. query II
  74. SELECT * FROM a ORDER BY b
  75. ----
  76. 100 2
  77. -2 3
  78. 7 8
  79. # Regression for cockroach#30936: ensure that wrapped planNodes with non-needed columns work ok
  80. statement ok
  81. CREATE TABLE b (a int, b int)
  82. query II
  83. SELECT * FROM b WHERE EXISTS (SELECT * FROM [INSERT INTO b VALUES (1,2) RETURNING a,b]);
  84. ----
  85. 1 2
  86. query I
  87. SELECT 1 FROM [INSERT INTO b VALUES(2,3) RETURNING b] JOIN [INSERT INTO b VALUES(4,5) RETURNING b] ON true;
  88. ----
  89. 1
  90. query III
  91. SELECT * FROM [INSERT INTO b VALUES(2,3) RETURNING b] JOIN [INSERT INTO b VALUES(4,5) RETURNING b, a] ON true;
  92. ----
  93. 3 5 4