apply_join.slt 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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/apply_join
  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 t (k INT PRIMARY KEY, str TEXT);
  26. statement ok
  27. CREATE TABLE u (l INT PRIMARY KEY, str2 TEXT);
  28. statement ok
  29. CREATE TABLE v (m INT PRIMARY KEY, str3 TEXT);
  30. statement ok
  31. INSERT INTO t SELECT i, i*10 FROM generate_series(1, 5) AS g(i);
  32. statement ok
  33. INSERT INTO u SELECT i, i*10 FROM generate_series(1, 5) AS g(i);
  34. statement ok
  35. INSERT INTO v SELECT i, i*10 FROM generate_series(1, 5) AS g(i);
  36. # Another test of subqueries within an apply join.
  37. query I
  38. SELECT
  39. (SELECT * FROM (VALUES ((SELECT * FROM (VALUES (1)) AS s) + y)))
  40. FROM
  41. (SELECT column1 AS y FROM (VALUES (1), (2), (3)))
  42. ----
  43. 2
  44. 3
  45. 4
  46. # Regression test for cockroach#36197: 0-col applyjoin RHS doesn't panic
  47. statement ok
  48. CREATE TABLE table9 (
  49. _bool BOOL,
  50. _bytes BYTEA,
  51. _decimal DECIMAL,
  52. _float4 FLOAT,
  53. _float8 FLOAT,
  54. _int8 INT,
  55. _interval INTERVAL,
  56. _jsonb JSONB,
  57. _string TEXT,
  58. _timestamp TIMESTAMP,
  59. _timestamptz TIMESTAMPTZ
  60. );
  61. statement ok
  62. INSERT INTO table9 VALUES (
  63. true,
  64. '',
  65. 1,
  66. 1,
  67. 1,
  68. 1,
  69. '1m',
  70. '{}',
  71. '',
  72. '2020-05-26 14:23:36.157383-04',
  73. '2020-05-26 14:23:36.157383-04'
  74. )
  75. query T
  76. SELECT
  77. true
  78. FROM
  79. table9 AS tab_27927
  80. WHERE
  81. EXISTS(
  82. SELECT
  83. tab_27929._string AS col_85223
  84. FROM
  85. table9 AS tab_27928,
  86. table9 AS tab_27929,
  87. table9 AS tab_27930
  88. RIGHT JOIN table9 AS tab_27931
  89. ON
  90. NOT
  91. (
  92. tab_27927._float8
  93. IN (
  94. CASE
  95. WHEN NULL::BOOL
  96. THEN
  97. tab_27927._float4::FLOAT / tab_27927._float4::FLOAT
  98. ELSE tab_27927._float4
  99. END,
  100. tab_27927._float4,
  101. tab_27927._float8::FLOAT
  102. + NULL::FLOAT,
  103. tab_27927._float4
  104. )
  105. )
  106. WHERE
  107. EXISTS(
  108. SELECT
  109. 2470039497 AS col_85224
  110. FROM
  111. table9 AS tab_27932
  112. LIMIT
  113. 37
  114. )
  115. LIMIT
  116. 11
  117. )
  118. LIMIT
  119. 89;
  120. ----
  121. true
  122. # Regression test for cockroach#37454: untyped null produced at top level.
  123. statement ok
  124. CREATE TABLE x (a INT)
  125. statement ok
  126. CREATE TABLE y (b INT)
  127. statement ok
  128. INSERT INTO x VALUES (1)
  129. statement ok
  130. INSERT INTO y VALUES (2);
  131. query II
  132. SELECT a, (SELECT a FROM y) FROM x
  133. ----
  134. 1 1