select.err 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656
  1. Registering pre-existing tables
  2. onek
  3. onek2
  4. emp
  5. student
  6. stud_emp
  7. int8_tbl
  8. <sql-statement>
  9. --
  10. -- SELECT
  11. --
  12. -- btree index
  13. -- awk '{if($1<10){print;}else{next;}}' onek.data | sort +0n -1
  14. --
  15. SELECT * FROM onek
  16. WHERE onek.unique1 < 10
  17. ORDER BY onek.unique1;
  18. </sql-statement>
  19. <sql-statement>
  20. --
  21. -- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1
  22. --
  23. SELECT onek.unique1, onek.stringu1 FROM onek
  24. WHERE onek.unique1 < 20
  25. ORDER BY unique1 using >;
  26. </sql-statement>
  27. -stdin-:<main>: Error: Parse Sql
  28. -stdin-:<main>:6:27: Error: sortby_dir unsupported value: 3
  29. ORDER BY unique1 using >;
  30. ^
  31. <sql-statement>
  32. --
  33. -- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2
  34. --
  35. SELECT onek.unique1, onek.stringu1 FROM onek
  36. WHERE onek.unique1 > 980
  37. ORDER BY stringu1 using <;
  38. </sql-statement>
  39. -stdin-:<main>: Error: Parse Sql
  40. -stdin-:<main>:6:28: Error: sortby_dir unsupported value: 3
  41. ORDER BY stringu1 using <;
  42. ^
  43. <sql-statement>
  44. --
  45. -- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data |
  46. -- sort +1d -2 +0nr -1
  47. --
  48. SELECT onek.unique1, onek.string4 FROM onek
  49. WHERE onek.unique1 > 980
  50. ORDER BY string4 using <, unique1 using >;
  51. </sql-statement>
  52. -stdin-:<main>: Error: Parse Sql
  53. -stdin-:<main>:7:27: Error: sortby_dir unsupported value: 3
  54. ORDER BY string4 using <, unique1 using >;
  55. ^
  56. <sql-statement>
  57. --
  58. -- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data |
  59. -- sort +1dr -2 +0n -1
  60. --
  61. SELECT onek.unique1, onek.string4 FROM onek
  62. WHERE onek.unique1 > 980
  63. ORDER BY string4 using >, unique1 using <;
  64. </sql-statement>
  65. -stdin-:<main>: Error: Parse Sql
  66. -stdin-:<main>:7:27: Error: sortby_dir unsupported value: 3
  67. ORDER BY string4 using >, unique1 using <;
  68. ^
  69. <sql-statement>
  70. --
  71. -- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data |
  72. -- sort +0nr -1 +1d -2
  73. --
  74. SELECT onek.unique1, onek.string4 FROM onek
  75. WHERE onek.unique1 < 20
  76. ORDER BY unique1 using >, string4 using <;
  77. </sql-statement>
  78. -stdin-:<main>: Error: Parse Sql
  79. -stdin-:<main>:7:27: Error: sortby_dir unsupported value: 3
  80. ORDER BY unique1 using >, string4 using <;
  81. ^
  82. <sql-statement>
  83. --
  84. -- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data |
  85. -- sort +0n -1 +1dr -2
  86. --
  87. SELECT onek.unique1, onek.string4 FROM onek
  88. WHERE onek.unique1 < 20
  89. ORDER BY unique1 using <, string4 using >;
  90. </sql-statement>
  91. -stdin-:<main>: Error: Parse Sql
  92. -stdin-:<main>:7:27: Error: sortby_dir unsupported value: 3
  93. ORDER BY unique1 using <, string4 using >;
  94. ^
  95. <sql-statement>
  96. --
  97. -- test partial btree indexes
  98. --
  99. -- As of 7.2, planner probably won't pick an indexscan without stats,
  100. -- so ANALYZE first. Also, we want to prevent it from picking a bitmapscan
  101. -- followed by sort, because that could hide index ordering problems.
  102. --
  103. ANALYZE onek2;
  104. </sql-statement>
  105. -stdin-:<main>: Error: Parse Sql
  106. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 275
  107. --
  108. ^
  109. <sql-statement>
  110. SET enable_seqscan TO off;
  111. </sql-statement>
  112. -stdin-:<main>: Error: Parse Sql
  113. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported name: enable_seqscan
  114. SET enable_seqscan TO off;
  115. ^
  116. <sql-statement>
  117. SET enable_bitmapscan TO off;
  118. </sql-statement>
  119. -stdin-:<main>: Error: Parse Sql
  120. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported name: enable_bitmapscan
  121. SET enable_bitmapscan TO off;
  122. ^
  123. <sql-statement>
  124. SET enable_sort TO off;
  125. </sql-statement>
  126. -stdin-:<main>: Error: Parse Sql
  127. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported name: enable_sort
  128. SET enable_sort TO off;
  129. ^
  130. <sql-statement>
  131. --
  132. -- awk '{if($1<10){print $0;}else{next;}}' onek.data | sort +0n -1
  133. --
  134. SELECT onek2.* FROM onek2 WHERE onek2.unique1 < 10;
  135. </sql-statement>
  136. <sql-statement>
  137. --
  138. -- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1
  139. --
  140. SELECT onek2.unique1, onek2.stringu1 FROM onek2
  141. WHERE onek2.unique1 < 20
  142. ORDER BY unique1 using >;
  143. </sql-statement>
  144. -stdin-:<main>: Error: Parse Sql
  145. -stdin-:<main>:6:28: Error: sortby_dir unsupported value: 3
  146. ORDER BY unique1 using >;
  147. ^
  148. <sql-statement>
  149. --
  150. -- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2
  151. --
  152. SELECT onek2.unique1, onek2.stringu1 FROM onek2
  153. WHERE onek2.unique1 > 980;
  154. </sql-statement>
  155. <sql-statement>
  156. RESET enable_seqscan;
  157. </sql-statement>
  158. -stdin-:<main>: Error: Parse Sql
  159. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported kind: 4
  160. RESET enable_seqscan;
  161. ^
  162. <sql-statement>
  163. RESET enable_bitmapscan;
  164. </sql-statement>
  165. -stdin-:<main>: Error: Parse Sql
  166. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported kind: 4
  167. RESET enable_bitmapscan;
  168. ^
  169. <sql-statement>
  170. RESET enable_sort;
  171. </sql-statement>
  172. -stdin-:<main>: Error: Parse Sql
  173. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported kind: 4
  174. RESET enable_sort;
  175. ^
  176. <sql-statement>
  177. SELECT two, stringu1, ten, string4
  178. INTO TABLE tmp
  179. FROM onek;
  180. </sql-statement>
  181. -stdin-:<main>: Error: Parse Sql
  182. -stdin-:<main>:1:1: Error: SelectStmt: not supported intoClause
  183. SELECT two, stringu1, ten, string4
  184. ^
  185. <sql-statement>
  186. --
  187. -- awk '{print $1,$2;}' person.data |
  188. -- awk '{if(NF!=2){print $3,$2;}else{print;}}' - emp.data |
  189. -- awk '{if(NF!=2){print $3,$2;}else{print;}}' - student.data |
  190. -- awk 'BEGIN{FS=" ";}{if(NF!=2){print $4,$5;}else{print;}}' - stud_emp.data
  191. --
  192. -- SELECT name, age FROM person*; ??? check if different
  193. SELECT p.name, p.age FROM person* p;
  194. </sql-statement>
  195. -stdin-:<main>: Fatal: Table metadata loading
  196. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.person
  197. <sql-statement>
  198. --
  199. -- awk '{print $1,$2;}' person.data |
  200. -- awk '{if(NF!=2){print $3,$2;}else{print;}}' - emp.data |
  201. -- awk '{if(NF!=2){print $3,$2;}else{print;}}' - student.data |
  202. -- awk 'BEGIN{FS=" ";}{if(NF!=1){print $4,$5;}else{print;}}' - stud_emp.data |
  203. -- sort +1nr -2
  204. --
  205. SELECT p.name, p.age FROM person* p ORDER BY age using >, name;
  206. </sql-statement>
  207. -stdin-:<main>: Error: Parse Sql
  208. -stdin-:<main>:8:56: Error: sortby_dir unsupported value: 3
  209. SELECT p.name, p.age FROM person* p ORDER BY age using >, name;
  210. ^
  211. <sql-statement>
  212. --
  213. -- Test some cases involving whole-row Var referencing a subquery
  214. --
  215. select foo from (select 1 offset 0) as foo;
  216. </sql-statement>
  217. <sql-statement>
  218. select foo from (select null offset 0) as foo;
  219. </sql-statement>
  220. <sql-statement>
  221. select foo from (select 'xyzzy',1,null offset 0) as foo;
  222. </sql-statement>
  223. <sql-statement>
  224. --
  225. -- Test VALUES lists
  226. --
  227. select * from onek, (values(147, 'RFAAAA'), (931, 'VJAAAA')) as v (i, j)
  228. WHERE onek.unique1 = v.i and onek.stringu1 = v.j;
  229. </sql-statement>
  230. -stdin-:<main>: Error: Type annotation
  231. -stdin-:<main>:1:1: Error: At function: OrderedMap, At function: EquiJoin
  232. --
  233. ^
  234. -stdin-:<main>:1:1: Error: Cannot compare key columns (0.stringu1 has type: pgname, 1._alias_v.j has type: pgtext)
  235. --
  236. ^
  237. <sql-statement>
  238. -- a more complex case
  239. -- looks like we're coding lisp :-)
  240. select * from onek,
  241. (values ((select i from
  242. (values(10000), (2), (389), (1000), (2000), ((select 10029))) as foo(i)
  243. order by i asc limit 1))) bar (i)
  244. where onek.unique1 = bar.i;
  245. </sql-statement>
  246. -stdin-:<main>: Error: Parse Sql
  247. -stdin-:<main>:4:12: Error: SubLinks are not allowed in: VALUES
  248. (values ((select i from
  249. ^
  250. -stdin-:<main>: Error: Type annotation
  251. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect
  252. -- a more complex case
  253. ^
  254. -stdin-:<main>:1:1: Error: Recursive query does not have the form non-recursive-term UNION [ALL] recursive-term
  255. -- a more complex case
  256. ^
  257. <sql-statement>
  258. -- try VALUES in a subquery
  259. select * from onek
  260. where (unique1,ten) in (values (1,1), (20,0), (99,9), (17,99))
  261. order by unique1;
  262. </sql-statement>
  263. -stdin-:<main>: Error: Parse Sql
  264. -stdin-:<main>:3:25: Error: alternative is not implemented yet : 138
  265. where (unique1,ten) in (values (1,1), (20,0), (99,9), (17,99))
  266. ^
  267. <sql-statement>
  268. -- VALUES is also legal as a standalone query or a set-operation member
  269. VALUES (1,2), (3,4+4), (7,77.7);
  270. </sql-statement>
  271. <sql-statement>
  272. VALUES (1,2), (3,4+4), (7,77.7)
  273. UNION ALL
  274. SELECT 2+2, 57
  275. UNION ALL
  276. TABLE int8_tbl;
  277. </sql-statement>
  278. <sql-statement>
  279. -- corner case: VALUES with no columns
  280. CREATE TEMP TABLE nocols();
  281. </sql-statement>
  282. <sql-statement>
  283. INSERT INTO nocols DEFAULT VALUES;
  284. </sql-statement>
  285. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'default_values' not found in enum NYql::EYtSettingType. Valid options are: 'initial', 'infer_scheme', 'force_infer_schema', 'do_not_fail_on_invalid_schema', 'direct_read', 'view', 'mode', 'scheme', 'weak_concat', 'anonymous', 'with_qb', 'inline', 'sample', 'joinLabel', 'ignore_non_existing', 'warn_non_existing', 'xlock', 'unordered', 'nonUnique', 'userschema', 'usercolumns', 'statcolumns', 'syscolumns', 'ignoretypev3', 'memUsage', 'itemsCount', 'rowFactor', 'ordered', 'keyFilter', 'keyFilter2', 'take', 'skip', 'limit', 'sortLimitBy', 'sortBy', 'reduceBy', 'reduceFilterBy', 'forceTransform', 'weakFields', 'sharded', 'combineChunks', 'jobCount', 'joinReduce', 'firstAsPrimary', 'flow', 'keepSorted', 'keySwitch', 'uniqueBy', 'opHash', 'mapOutputType', 'reduceInputType', 'noDq', 'split', 'compression_codec', 'erasure_codec', 'expiration', 'replication_factor', 'user_attrs', 'media', 'primary_medium', 'keep_meta', 'monotonic_keys', 'mutationid'.
  286. <sql-statement>
  287. SELECT * FROM nocols n, LATERAL (VALUES(n.*)) v;
  288. </sql-statement>
  289. -stdin-:<main>: Error: Parse Sql
  290. -stdin-:<main>:1:1: Error: RangeSubselect: unsupported lateral
  291. SELECT * FROM nocols n, LATERAL (VALUES(n.*)) v;
  292. ^
  293. <sql-statement>
  294. --
  295. -- Test ORDER BY options
  296. --
  297. CREATE TEMP TABLE foo (f1 int);
  298. </sql-statement>
  299. <sql-statement>
  300. INSERT INTO foo VALUES (42),(3),(10),(7),(null),(null),(1);
  301. </sql-statement>
  302. <sql-statement>
  303. SELECT * FROM foo ORDER BY f1;
  304. </sql-statement>
  305. <sql-statement>
  306. SELECT * FROM foo ORDER BY f1 ASC; -- same thing
  307. </sql-statement>
  308. <sql-statement>
  309. SELECT * FROM foo ORDER BY f1 NULLS FIRST;
  310. </sql-statement>
  311. <sql-statement>
  312. SELECT * FROM foo ORDER BY f1 DESC;
  313. </sql-statement>
  314. <sql-statement>
  315. SELECT * FROM foo ORDER BY f1 DESC NULLS LAST;
  316. </sql-statement>
  317. <sql-statement>
  318. -- check if indexscans do the right things
  319. CREATE INDEX fooi ON foo (f1);
  320. </sql-statement>
  321. <sql-statement>
  322. SET enable_sort = false;
  323. </sql-statement>
  324. -stdin-:<main>: Error: Parse Sql
  325. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported name: enable_sort
  326. SET enable_sort = false;
  327. ^
  328. <sql-statement>
  329. SELECT * FROM foo ORDER BY f1;
  330. </sql-statement>
  331. <sql-statement>
  332. SELECT * FROM foo ORDER BY f1 NULLS FIRST;
  333. </sql-statement>
  334. <sql-statement>
  335. SELECT * FROM foo ORDER BY f1 DESC;
  336. </sql-statement>
  337. <sql-statement>
  338. SELECT * FROM foo ORDER BY f1 DESC NULLS LAST;
  339. </sql-statement>
  340. <sql-statement>
  341. DROP INDEX fooi;
  342. </sql-statement>
  343. -stdin-:<main>: Error: Pre type annotation
  344. -stdin-:<main>:1:1: Error: Unexpected tag: pgObject
  345. DROP INDEX fooi;
  346. ^
  347. <sql-statement>
  348. CREATE INDEX fooi ON foo (f1 DESC);
  349. </sql-statement>
  350. <sql-statement>
  351. SELECT * FROM foo ORDER BY f1;
  352. </sql-statement>
  353. <sql-statement>
  354. SELECT * FROM foo ORDER BY f1 NULLS FIRST;
  355. </sql-statement>
  356. <sql-statement>
  357. SELECT * FROM foo ORDER BY f1 DESC;
  358. </sql-statement>
  359. <sql-statement>
  360. SELECT * FROM foo ORDER BY f1 DESC NULLS LAST;
  361. </sql-statement>
  362. <sql-statement>
  363. DROP INDEX fooi;
  364. </sql-statement>
  365. -stdin-:<main>: Error: Pre type annotation
  366. -stdin-:<main>:1:1: Error: Unexpected tag: pgObject
  367. DROP INDEX fooi;
  368. ^
  369. <sql-statement>
  370. CREATE INDEX fooi ON foo (f1 DESC NULLS LAST);
  371. </sql-statement>
  372. <sql-statement>
  373. SELECT * FROM foo ORDER BY f1;
  374. </sql-statement>
  375. <sql-statement>
  376. SELECT * FROM foo ORDER BY f1 NULLS FIRST;
  377. </sql-statement>
  378. <sql-statement>
  379. SELECT * FROM foo ORDER BY f1 DESC;
  380. </sql-statement>
  381. <sql-statement>
  382. SELECT * FROM foo ORDER BY f1 DESC NULLS LAST;
  383. </sql-statement>
  384. <sql-statement>
  385. --
  386. -- Test planning of some cases with partial indexes
  387. --
  388. -- partial index is usable
  389. explain (costs off)
  390. select * from onek2 where unique2 = 11 and stringu1 = 'ATAAAA';
  391. </sql-statement>
  392. -stdin-:<main>: Error: Parse Sql
  393. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  394. --
  395. ^
  396. <sql-statement>
  397. select * from onek2 where unique2 = 11 and stringu1 = 'ATAAAA';
  398. </sql-statement>
  399. <sql-statement>
  400. -- actually run the query with an analyze to use the partial index
  401. explain (costs off, analyze on, timing off, summary off)
  402. select * from onek2 where unique2 = 11 and stringu1 = 'ATAAAA';
  403. </sql-statement>
  404. -stdin-:<main>: Error: Parse Sql
  405. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  406. -- actually run the query with an analyze to use the partial index
  407. ^
  408. <sql-statement>
  409. explain (costs off)
  410. select unique2 from onek2 where unique2 = 11 and stringu1 = 'ATAAAA';
  411. </sql-statement>
  412. -stdin-:<main>: Error: Parse Sql
  413. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  414. explain (costs off)
  415. ^
  416. <sql-statement>
  417. select unique2 from onek2 where unique2 = 11 and stringu1 = 'ATAAAA';
  418. </sql-statement>
  419. <sql-statement>
  420. -- partial index predicate implies clause, so no need for retest
  421. explain (costs off)
  422. select * from onek2 where unique2 = 11 and stringu1 < 'B';
  423. </sql-statement>
  424. -stdin-:<main>: Error: Parse Sql
  425. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  426. -- partial index predicate implies clause, so no need for retest
  427. ^
  428. <sql-statement>
  429. select * from onek2 where unique2 = 11 and stringu1 < 'B';
  430. </sql-statement>
  431. <sql-statement>
  432. explain (costs off)
  433. select unique2 from onek2 where unique2 = 11 and stringu1 < 'B';
  434. </sql-statement>
  435. -stdin-:<main>: Error: Parse Sql
  436. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  437. explain (costs off)
  438. ^
  439. <sql-statement>
  440. select unique2 from onek2 where unique2 = 11 and stringu1 < 'B';
  441. </sql-statement>
  442. <sql-statement>
  443. -- but if it's an update target, must retest anyway
  444. explain (costs off)
  445. select unique2 from onek2 where unique2 = 11 and stringu1 < 'B' for update;
  446. </sql-statement>
  447. -stdin-:<main>: Error: Parse Sql
  448. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  449. -- but if it's an update target, must retest anyway
  450. ^
  451. <sql-statement>
  452. select unique2 from onek2 where unique2 = 11 and stringu1 < 'B' for update;
  453. </sql-statement>
  454. <sql-statement>
  455. -- partial index is not applicable
  456. explain (costs off)
  457. select unique2 from onek2 where unique2 = 11 and stringu1 < 'C';
  458. </sql-statement>
  459. -stdin-:<main>: Error: Parse Sql
  460. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  461. -- partial index is not applicable
  462. ^
  463. <sql-statement>
  464. select unique2 from onek2 where unique2 = 11 and stringu1 < 'C';
  465. </sql-statement>
  466. <sql-statement>
  467. -- partial index implies clause, but bitmap scan must recheck predicate anyway
  468. SET enable_indexscan TO off;
  469. </sql-statement>
  470. -stdin-:<main>: Error: Parse Sql
  471. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported name: enable_indexscan
  472. -- partial index implies clause, but bitmap scan must recheck predicate anyway
  473. ^
  474. <sql-statement>
  475. explain (costs off)
  476. select unique2 from onek2 where unique2 = 11 and stringu1 < 'B';
  477. </sql-statement>
  478. -stdin-:<main>: Error: Parse Sql
  479. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  480. explain (costs off)
  481. ^
  482. <sql-statement>
  483. select unique2 from onek2 where unique2 = 11 and stringu1 < 'B';
  484. </sql-statement>
  485. <sql-statement>
  486. RESET enable_indexscan;
  487. </sql-statement>
  488. -stdin-:<main>: Error: Parse Sql
  489. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported kind: 4
  490. RESET enable_indexscan;
  491. ^
  492. <sql-statement>
  493. -- check multi-index cases too
  494. explain (costs off)
  495. select unique1, unique2 from onek2
  496. where (unique2 = 11 or unique1 = 0) and stringu1 < 'B';
  497. </sql-statement>
  498. -stdin-:<main>: Error: Parse Sql
  499. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  500. -- check multi-index cases too
  501. ^
  502. <sql-statement>
  503. select unique1, unique2 from onek2
  504. where (unique2 = 11 or unique1 = 0) and stringu1 < 'B';
  505. </sql-statement>
  506. <sql-statement>
  507. explain (costs off)
  508. select unique1, unique2 from onek2
  509. where (unique2 = 11 and stringu1 < 'B') or unique1 = 0;
  510. </sql-statement>
  511. -stdin-:<main>: Error: Parse Sql
  512. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  513. explain (costs off)
  514. ^
  515. <sql-statement>
  516. select unique1, unique2 from onek2
  517. where (unique2 = 11 and stringu1 < 'B') or unique1 = 0;
  518. </sql-statement>
  519. <sql-statement>
  520. --
  521. -- Test some corner cases that have been known to confuse the planner
  522. --
  523. -- ORDER BY on a constant doesn't really need any sorting
  524. SELECT 1 AS x ORDER BY x;
  525. </sql-statement>
  526. -stdin-:<main>: Error: Type annotation
  527. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  528. --
  529. ^
  530. -stdin-:<main>:5:24: Error: Column reference can't be used without FROM
  531. SELECT 1 AS x ORDER BY x;
  532. ^
  533. <sql-statement>
  534. -- But ORDER BY on a set-valued expression does
  535. create function sillysrf(int) returns setof int as
  536. 'values (1),(10),(2),($1)' language sql immutable;
  537. </sql-statement>
  538. -stdin-:<main>: Error: Parse Sql
  539. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 261
  540. -- But ORDER BY on a set-valued expression does
  541. ^
  542. <sql-statement>
  543. select sillysrf(42);
  544. </sql-statement>
  545. -stdin-:<main>: Error: Type annotation
  546. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  547. select sillysrf(42);
  548. ^
  549. -stdin-:<main>:1:8: Error: At function: PgCall
  550. select sillysrf(42);
  551. ^
  552. -stdin-:<main>:1:8: Error: No such proc: sillysrf
  553. select sillysrf(42);
  554. ^
  555. <sql-statement>
  556. select sillysrf(-1) order by 1;
  557. </sql-statement>
  558. -stdin-:<main>: Error: Type annotation
  559. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  560. select sillysrf(-1) order by 1;
  561. ^
  562. -stdin-:<main>:1:8: Error: At function: PgCall
  563. select sillysrf(-1) order by 1;
  564. ^
  565. -stdin-:<main>:1:8: Error: No such proc: sillysrf
  566. select sillysrf(-1) order by 1;
  567. ^
  568. <sql-statement>
  569. drop function sillysrf(int);
  570. </sql-statement>
  571. -stdin-:<main>: Error: Parse Sql
  572. -stdin-:<main>:1:1: Error: DropStmt: alternative is not implemented yet : 386
  573. drop function sillysrf(int);
  574. ^
  575. <sql-statement>
  576. -- X = X isn't a no-op, it's effectively X IS NOT NULL assuming = is strict
  577. -- (see bug #5084)
  578. select * from (values (2),(null),(1)) v(k) where k = k order by k;
  579. </sql-statement>
  580. <sql-statement>
  581. select * from (values (2),(null),(1)) v(k) where k = k;
  582. </sql-statement>
  583. <sql-statement>
  584. -- Test partitioned tables with no partitions, which should be handled the
  585. -- same as the non-inheritance case when expanding its RTE.
  586. create table list_parted_tbl (a int,b int) partition by list (a);
  587. </sql-statement>
  588. -stdin-:<main>: Error: Parse Sql
  589. -stdin-:<main>:1:1: Error: PARTITION BY clause not supported
  590. -- Test partitioned tables with no partitions, which should be handled the
  591. ^
  592. <sql-statement>
  593. create table list_parted_tbl1 partition of list_parted_tbl
  594. for values in (1) partition by list(b);
  595. </sql-statement>
  596. -stdin-:<main>: Error: Parse Sql
  597. -stdin-:<main>:1:1: Error: table inheritance not supported
  598. create table list_parted_tbl1 partition of list_parted_tbl
  599. ^
  600. <sql-statement>
  601. explain (costs off) select * from list_parted_tbl;
  602. </sql-statement>
  603. -stdin-:<main>: Error: Parse Sql
  604. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 276
  605. explain (costs off) select * from list_parted_tbl;
  606. ^
  607. <sql-statement>
  608. drop table list_parted_tbl;
  609. </sql-statement>