arrays.err 156 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399
  1. Registering pre-existing tables
  2. tenk1
  3. int8_tbl
  4. <sql-statement>
  5. --
  6. -- ARRAYS
  7. --
  8. CREATE TABLE arrtest (
  9. a int2[],
  10. b int4[][][],
  11. c name[],
  12. d text[][],
  13. e float8[],
  14. f char(5)[],
  15. g varchar(5)[]
  16. );
  17. </sql-statement>
  18. <sql-statement>
  19. --
  20. -- only the 'e' array is 0-based, the others are 1-based.
  21. --
  22. INSERT INTO arrtest (a[1:5], b[1:1][1:2][1:2], c, d, f, g)
  23. VALUES ('{1,2,3,4,5}', '{{{0,0},{1,2}}}', '{}', '{}', '{}', '{}');
  24. </sql-statement>
  25. -stdin-:<main>: Fatal: Execution
  26. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  27. --
  28. ^
  29. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type smallint: "{1,2,3,4,5}"
  30. --
  31. ^
  32. <sql-statement>
  33. UPDATE arrtest SET e[0] = '1.1';
  34. </sql-statement>
  35. -stdin-:<main>: Fatal: Pre type annotation
  36. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  37. <sql-statement>
  38. UPDATE arrtest SET e[1] = '2.2';
  39. </sql-statement>
  40. -stdin-:<main>: Fatal: Pre type annotation
  41. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  42. <sql-statement>
  43. INSERT INTO arrtest (f)
  44. VALUES ('{"too long"}');
  45. </sql-statement>
  46. <sql-statement>
  47. INSERT INTO arrtest (a, b[1:2][1:2], c, d, e, f, g)
  48. VALUES ('{11,12,23}', '{{3,4},{4,5}}', '{"foobar"}',
  49. '{{"elt1", "elt2"}}', '{"3.4", "6.7"}',
  50. '{"abc","abcde"}', '{"abc","abcde"}');
  51. </sql-statement>
  52. -stdin-:<main>: Fatal: Execution
  53. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  54. INSERT INTO arrtest (a, b[1:2][1:2], c, d, e, f, g)
  55. ^
  56. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type smallint: "{11,12,23}"
  57. INSERT INTO arrtest (a, b[1:2][1:2], c, d, e, f, g)
  58. ^
  59. <sql-statement>
  60. INSERT INTO arrtest (a, b[1:2], c, d[1:2])
  61. VALUES ('{}', '{3,4}', '{foo,bar}', '{bar,foo}');
  62. </sql-statement>
  63. -stdin-:<main>: Fatal: Execution
  64. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  65. INSERT INTO arrtest (a, b[1:2], c, d[1:2])
  66. ^
  67. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type smallint: "{}"
  68. INSERT INTO arrtest (a, b[1:2], c, d[1:2])
  69. ^
  70. <sql-statement>
  71. INSERT INTO arrtest (b[2]) VALUES(now()); -- error, type mismatch
  72. </sql-statement>
  73. -stdin-:<main>: Error: Type annotation
  74. -stdin-:<main>:1:1: Error: At function: YtWriteTable!
  75. INSERT INTO arrtest (b[2]) VALUES(now()); -- error, type mismatch
  76. ^
  77. -stdin-:<main>:1:1: Error: Failed to convert type: List<Struct<'b':pgtimestamptz>> to List<Struct<'a':pgint2,'b':pgint4,'c':pgname,'d':pgtext,'e':pgfloat8,'f':pgbpchar,'g':pgvarchar>>
  78. INSERT INTO arrtest (b[2]) VALUES(now()); -- error, type mismatch
  79. ^
  80. -stdin-:<main>:1:1: Error: Failed to convert 'b': pgtimestamptz to pgint4
  81. INSERT INTO arrtest (b[2]) VALUES(now()); -- error, type mismatch
  82. ^
  83. -stdin-:<main>:1:1: Error: Table "arrtest" row type differs from the written row type: Struct<-a:pgint2,b:pgint4!=pgtimestamptz,-c:pgname,-d:pgtext,-e:pgfloat8,-f:pgbpchar,-g:pgvarchar>
  84. INSERT INTO arrtest (b[2]) VALUES(now()); -- error, type mismatch
  85. ^
  86. <sql-statement>
  87. INSERT INTO arrtest (b[1:2]) VALUES(now()); -- error, type mismatch
  88. </sql-statement>
  89. -stdin-:<main>: Error: Type annotation
  90. -stdin-:<main>:1:1: Error: At function: YtWriteTable!
  91. INSERT INTO arrtest (b[1:2]) VALUES(now()); -- error, type mismatch
  92. ^
  93. -stdin-:<main>:1:1: Error: Failed to convert type: List<Struct<'b':pgtimestamptz>> to List<Struct<'a':pgint2,'b':pgint4,'c':pgname,'d':pgtext,'e':pgfloat8,'f':pgbpchar,'g':pgvarchar>>
  94. INSERT INTO arrtest (b[1:2]) VALUES(now()); -- error, type mismatch
  95. ^
  96. -stdin-:<main>:1:1: Error: Failed to convert 'b': pgtimestamptz to pgint4
  97. INSERT INTO arrtest (b[1:2]) VALUES(now()); -- error, type mismatch
  98. ^
  99. -stdin-:<main>:1:1: Error: Table "arrtest" row type differs from the written row type: Struct<-a:pgint2,b:pgint4!=pgtimestamptz,-c:pgname,-d:pgtext,-e:pgfloat8,-f:pgbpchar,-g:pgvarchar>
  100. INSERT INTO arrtest (b[1:2]) VALUES(now()); -- error, type mismatch
  101. ^
  102. <sql-statement>
  103. SELECT * FROM arrtest;
  104. </sql-statement>
  105. <sql-statement>
  106. SELECT arrtest.a[1],
  107. arrtest.b[1][1][1],
  108. arrtest.c[1],
  109. arrtest.d[1][1],
  110. arrtest.e[0]
  111. FROM arrtest;
  112. </sql-statement>
  113. -stdin-:<main>: Error: Parse Sql
  114. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  115. SELECT arrtest.a[1],
  116. ^
  117. <sql-statement>
  118. SELECT a[1], b[1][1][1], c[1], d[1][1], e[0]
  119. FROM arrtest;
  120. </sql-statement>
  121. -stdin-:<main>: Error: Parse Sql
  122. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  123. SELECT a[1], b[1][1][1], c[1], d[1][1], e[0]
  124. ^
  125. <sql-statement>
  126. SELECT a[1:3],
  127. b[1:1][1:2][1:2],
  128. c[1:2],
  129. d[1:1][1:2]
  130. FROM arrtest;
  131. </sql-statement>
  132. -stdin-:<main>: Error: Parse Sql
  133. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  134. SELECT a[1:3],
  135. ^
  136. <sql-statement>
  137. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  138. FROM arrtest;
  139. </sql-statement>
  140. -stdin-:<main>: Error: Type annotation
  141. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  142. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  143. ^
  144. -stdin-:<main>:1:1: Error: At function: PgResultItem
  145. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  146. ^
  147. -stdin-:<main>:1:8: Error: At function: PgCall
  148. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  149. ^
  150. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_ndims with given argument types: (int2)
  151. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  152. ^
  153. -stdin-:<main>:1:1: Error: At function: PgResultItem
  154. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  155. ^
  156. -stdin-:<main>:1:28: Error: At function: PgCall
  157. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  158. ^
  159. -stdin-:<main>:1:28: Error: Unable to find an overload for proc array_ndims with given argument types: (int4)
  160. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  161. ^
  162. -stdin-:<main>:1:1: Error: At function: PgResultItem
  163. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  164. ^
  165. -stdin-:<main>:1:48: Error: At function: PgCall
  166. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  167. ^
  168. -stdin-:<main>:1:48: Error: Unable to find an overload for proc array_ndims with given argument types: (name)
  169. SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c
  170. ^
  171. <sql-statement>
  172. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  173. FROM arrtest;
  174. </sql-statement>
  175. -stdin-:<main>: Error: Type annotation
  176. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  177. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  178. ^
  179. -stdin-:<main>:1:1: Error: At function: PgResultItem
  180. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  181. ^
  182. -stdin-:<main>:1:8: Error: At function: PgCall
  183. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  184. ^
  185. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_dims with given argument types: (int2)
  186. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  187. ^
  188. -stdin-:<main>:1:1: Error: At function: PgResultItem
  189. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  190. ^
  191. -stdin-:<main>:1:27: Error: At function: PgCall
  192. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  193. ^
  194. -stdin-:<main>:1:27: Error: Unable to find an overload for proc array_dims with given argument types: (int4)
  195. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  196. ^
  197. -stdin-:<main>:1:1: Error: At function: PgResultItem
  198. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  199. ^
  200. -stdin-:<main>:1:46: Error: At function: PgCall
  201. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  202. ^
  203. -stdin-:<main>:1:46: Error: Unable to find an overload for proc array_dims with given argument types: (name)
  204. SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c
  205. ^
  206. <sql-statement>
  207. -- returns nothing
  208. SELECT *
  209. FROM arrtest
  210. WHERE a[1] < 5 and
  211. c = '{"foobar"}'::_name;
  212. </sql-statement>
  213. -stdin-:<main>: Error: Parse Sql
  214. -stdin-:<main>:4:15: Error: alternative is not implemented yet : 360
  215. WHERE a[1] < 5 and
  216. ^
  217. <sql-statement>
  218. UPDATE arrtest
  219. SET a[1:2] = '{16,25}'
  220. WHERE NOT a = '{}'::_int2;
  221. </sql-statement>
  222. -stdin-:<main>: Fatal: Pre type annotation
  223. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  224. <sql-statement>
  225. UPDATE arrtest
  226. SET b[1:1][1:1][1:2] = '{113, 117}',
  227. b[1:1][1:2][2:2] = '{142, 147}'
  228. WHERE array_dims(b) = '[1:1][1:2][1:2]';
  229. </sql-statement>
  230. -stdin-:<main>: Fatal: Pre type annotation
  231. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  232. <sql-statement>
  233. UPDATE arrtest
  234. SET c[2:2] = '{"new_word"}'
  235. WHERE array_dims(c) is not null;
  236. </sql-statement>
  237. -stdin-:<main>: Fatal: Pre type annotation
  238. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  239. <sql-statement>
  240. SELECT a,b,c FROM arrtest;
  241. </sql-statement>
  242. <sql-statement>
  243. SELECT a[1:3],
  244. b[1:1][1:2][1:2],
  245. c[1:2],
  246. d[1:1][2:2]
  247. FROM arrtest;
  248. </sql-statement>
  249. -stdin-:<main>: Error: Parse Sql
  250. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  251. SELECT a[1:3],
  252. ^
  253. <sql-statement>
  254. SELECT b[1:1][2][2],
  255. d[1:1][2]
  256. FROM arrtest;
  257. </sql-statement>
  258. -stdin-:<main>: Error: Parse Sql
  259. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  260. SELECT b[1:1][2][2],
  261. ^
  262. <sql-statement>
  263. INSERT INTO arrtest(a) VALUES('{1,null,3}');
  264. </sql-statement>
  265. -stdin-:<main>: Fatal: Execution
  266. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  267. INSERT INTO arrtest(a) VALUES('{1,null,3}');
  268. ^
  269. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type smallint: "{1,null,3}"
  270. INSERT INTO arrtest(a) VALUES('{1,null,3}');
  271. ^
  272. <sql-statement>
  273. SELECT a FROM arrtest;
  274. </sql-statement>
  275. <sql-statement>
  276. UPDATE arrtest SET a[4] = NULL WHERE a[2] IS NULL;
  277. </sql-statement>
  278. -stdin-:<main>: Error: Parse Sql
  279. -stdin-:<main>:1:43: Error: alternative is not implemented yet : 360
  280. UPDATE arrtest SET a[4] = NULL WHERE a[2] IS NULL;
  281. ^
  282. <sql-statement>
  283. SELECT a FROM arrtest WHERE a[2] IS NULL;
  284. </sql-statement>
  285. -stdin-:<main>: Error: Parse Sql
  286. -stdin-:<main>:1:34: Error: alternative is not implemented yet : 360
  287. SELECT a FROM arrtest WHERE a[2] IS NULL;
  288. ^
  289. <sql-statement>
  290. DELETE FROM arrtest WHERE a[2] IS NULL AND b IS NULL;
  291. </sql-statement>
  292. -stdin-:<main>: Error: Parse Sql
  293. -stdin-:<main>:1:32: Error: alternative is not implemented yet : 360
  294. DELETE FROM arrtest WHERE a[2] IS NULL AND b IS NULL;
  295. ^
  296. <sql-statement>
  297. SELECT a,b,c FROM arrtest;
  298. </sql-statement>
  299. <sql-statement>
  300. -- test mixed slice/scalar subscripting
  301. select '{{1,2,3},{4,5,6},{7,8,9}}'::int[];
  302. </sql-statement>
  303. <sql-statement>
  304. select ('{{1,2,3},{4,5,6},{7,8,9}}'::int[])[1:2][2];
  305. </sql-statement>
  306. -stdin-:<main>: Error: Parse Sql
  307. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  308. select ('{{1,2,3},{4,5,6},{7,8,9}}'::int[])[1:2][2];
  309. ^
  310. <sql-statement>
  311. select '[0:2][0:2]={{1,2,3},{4,5,6},{7,8,9}}'::int[];
  312. </sql-statement>
  313. <sql-statement>
  314. select ('[0:2][0:2]={{1,2,3},{4,5,6},{7,8,9}}'::int[])[1:2][2];
  315. </sql-statement>
  316. -stdin-:<main>: Error: Parse Sql
  317. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  318. select ('[0:2][0:2]={{1,2,3},{4,5,6},{7,8,9}}'::int[])[1:2][2];
  319. ^
  320. <sql-statement>
  321. --
  322. -- check subscription corner cases
  323. --
  324. -- More subscripts than MAXDIM (6)
  325. SELECT ('{}'::int[])[1][2][3][4][5][6][7];
  326. </sql-statement>
  327. -stdin-:<main>: Error: Parse Sql
  328. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  329. --
  330. ^
  331. <sql-statement>
  332. -- NULL index yields NULL when selecting
  333. SELECT ('{{{1},{2},{3}},{{4},{5},{6}}}'::int[])[1][NULL][1];
  334. </sql-statement>
  335. -stdin-:<main>: Error: Parse Sql
  336. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  337. -- NULL index yields NULL when selecting
  338. ^
  339. <sql-statement>
  340. SELECT ('{{{1},{2},{3}},{{4},{5},{6}}}'::int[])[1][NULL:1][1];
  341. </sql-statement>
  342. -stdin-:<main>: Error: Parse Sql
  343. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  344. SELECT ('{{{1},{2},{3}},{{4},{5},{6}}}'::int[])[1][NULL:1][1];
  345. ^
  346. <sql-statement>
  347. SELECT ('{{{1},{2},{3}},{{4},{5},{6}}}'::int[])[1][1:NULL][1];
  348. </sql-statement>
  349. -stdin-:<main>: Error: Parse Sql
  350. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  351. SELECT ('{{{1},{2},{3}},{{4},{5},{6}}}'::int[])[1][1:NULL][1];
  352. ^
  353. <sql-statement>
  354. -- NULL index in assignment is an error
  355. UPDATE arrtest
  356. SET c[NULL] = '{"can''t assign"}'
  357. WHERE array_dims(c) is not null;
  358. </sql-statement>
  359. -stdin-:<main>: Fatal: Pre type annotation
  360. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  361. <sql-statement>
  362. UPDATE arrtest
  363. SET c[NULL:1] = '{"can''t assign"}'
  364. WHERE array_dims(c) is not null;
  365. </sql-statement>
  366. -stdin-:<main>: Fatal: Pre type annotation
  367. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  368. <sql-statement>
  369. UPDATE arrtest
  370. SET c[1:NULL] = '{"can''t assign"}'
  371. WHERE array_dims(c) is not null;
  372. </sql-statement>
  373. -stdin-:<main>: Fatal: Pre type annotation
  374. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  375. <sql-statement>
  376. -- Un-subscriptable type
  377. SELECT (now())[1];
  378. </sql-statement>
  379. -stdin-:<main>: Error: Parse Sql
  380. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  381. -- Un-subscriptable type
  382. ^
  383. <sql-statement>
  384. -- test slices with empty lower and/or upper index
  385. CREATE TEMP TABLE arrtest_s (
  386. a int2[],
  387. b int2[][]
  388. );
  389. </sql-statement>
  390. <sql-statement>
  391. INSERT INTO arrtest_s VALUES ('{1,2,3,4,5}', '{{1,2,3}, {4,5,6}, {7,8,9}}');
  392. </sql-statement>
  393. -stdin-:<main>: Fatal: Execution
  394. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  395. INSERT INTO arrtest_s VALUES ('{1,2,3,4,5}', '{{1,2,3}, {4,5,6}, {7,8,9}}');
  396. ^
  397. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type smallint: "{1,2,3,4,5}"
  398. INSERT INTO arrtest_s VALUES ('{1,2,3,4,5}', '{{1,2,3}, {4,5,6}, {7,8,9}}');
  399. ^
  400. <sql-statement>
  401. INSERT INTO arrtest_s VALUES ('[0:4]={1,2,3,4,5}', '[0:2][0:2]={{1,2,3}, {4,5,6}, {7,8,9}}');
  402. </sql-statement>
  403. -stdin-:<main>: Fatal: Execution
  404. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  405. INSERT INTO arrtest_s VALUES ('[0:4]={1,2,3,4,5}', '[0:2][0:2]={{1,2,3}, {4,5,6}, {7,8,9}}');
  406. ^
  407. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type smallint: "[0:4]={1,2,3,4,5}"
  408. INSERT INTO arrtest_s VALUES ('[0:4]={1,2,3,4,5}', '[0:2][0:2]={{1,2,3}, {4,5,6}, {7,8,9}}');
  409. ^
  410. <sql-statement>
  411. SELECT * FROM arrtest_s;
  412. </sql-statement>
  413. <sql-statement>
  414. SELECT a[:3], b[:2][:2] FROM arrtest_s;
  415. </sql-statement>
  416. -stdin-:<main>: Error: Parse Sql
  417. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  418. SELECT a[:3], b[:2][:2] FROM arrtest_s;
  419. ^
  420. <sql-statement>
  421. SELECT a[2:], b[2:][2:] FROM arrtest_s;
  422. </sql-statement>
  423. -stdin-:<main>: Error: Parse Sql
  424. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  425. SELECT a[2:], b[2:][2:] FROM arrtest_s;
  426. ^
  427. <sql-statement>
  428. SELECT a[:], b[:] FROM arrtest_s;
  429. </sql-statement>
  430. -stdin-:<main>: Error: Parse Sql
  431. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  432. SELECT a[:], b[:] FROM arrtest_s;
  433. ^
  434. <sql-statement>
  435. -- updates
  436. UPDATE arrtest_s SET a[:3] = '{11, 12, 13}', b[:2][:2] = '{{11,12}, {14,15}}'
  437. WHERE array_lower(a,1) = 1;
  438. </sql-statement>
  439. -stdin-:<main>: Fatal: Pre type annotation
  440. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  441. <sql-statement>
  442. SELECT * FROM arrtest_s;
  443. </sql-statement>
  444. <sql-statement>
  445. UPDATE arrtest_s SET a[3:] = '{23, 24, 25}', b[2:][2:] = '{{25,26}, {28,29}}';
  446. </sql-statement>
  447. -stdin-:<main>: Fatal: Pre type annotation
  448. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  449. <sql-statement>
  450. SELECT * FROM arrtest_s;
  451. </sql-statement>
  452. <sql-statement>
  453. UPDATE arrtest_s SET a[:] = '{11, 12, 13, 14, 15}';
  454. </sql-statement>
  455. -stdin-:<main>: Fatal: Pre type annotation
  456. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  457. <sql-statement>
  458. SELECT * FROM arrtest_s;
  459. </sql-statement>
  460. <sql-statement>
  461. UPDATE arrtest_s SET a[:] = '{23, 24, 25}'; -- fail, too small
  462. </sql-statement>
  463. -stdin-:<main>: Fatal: Pre type annotation
  464. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  465. <sql-statement>
  466. INSERT INTO arrtest_s VALUES(NULL, NULL);
  467. </sql-statement>
  468. <sql-statement>
  469. UPDATE arrtest_s SET a[:] = '{11, 12, 13, 14, 15}'; -- fail, no good with null
  470. </sql-statement>
  471. -stdin-:<main>: Fatal: Pre type annotation
  472. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  473. <sql-statement>
  474. -- check with fixed-length-array type, such as point
  475. SELECT f1[0:1] FROM POINT_TBL;
  476. </sql-statement>
  477. -stdin-:<main>: Error: Parse Sql
  478. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  479. -- check with fixed-length-array type, such as point
  480. ^
  481. <sql-statement>
  482. SELECT f1[0:] FROM POINT_TBL;
  483. </sql-statement>
  484. -stdin-:<main>: Error: Parse Sql
  485. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  486. SELECT f1[0:] FROM POINT_TBL;
  487. ^
  488. <sql-statement>
  489. SELECT f1[:1] FROM POINT_TBL;
  490. </sql-statement>
  491. -stdin-:<main>: Error: Parse Sql
  492. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  493. SELECT f1[:1] FROM POINT_TBL;
  494. ^
  495. <sql-statement>
  496. SELECT f1[:] FROM POINT_TBL;
  497. </sql-statement>
  498. -stdin-:<main>: Error: Parse Sql
  499. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  500. SELECT f1[:] FROM POINT_TBL;
  501. ^
  502. <sql-statement>
  503. -- subscript assignments to fixed-width result in NULL if previous value is NULL
  504. UPDATE point_tbl SET f1[0] = 10 WHERE f1 IS NULL RETURNING *;
  505. </sql-statement>
  506. -stdin-:<main>: Fatal: Pre type annotation
  507. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  508. <sql-statement>
  509. INSERT INTO point_tbl(f1[0]) VALUES(0) RETURNING *;
  510. </sql-statement>
  511. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'returning' 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'.
  512. <sql-statement>
  513. -- NULL assignments get ignored
  514. UPDATE point_tbl SET f1[0] = NULL WHERE f1::text = '(10,10)'::point::text RETURNING *;
  515. </sql-statement>
  516. -stdin-:<main>: Fatal: Pre type annotation
  517. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  518. <sql-statement>
  519. -- but non-NULL subscript assignments work
  520. UPDATE point_tbl SET f1[0] = -10, f1[1] = -10 WHERE f1::text = '(10,10)'::point::text RETURNING *;
  521. </sql-statement>
  522. -stdin-:<main>: Fatal: Pre type annotation
  523. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  524. <sql-statement>
  525. -- but not to expand the range
  526. UPDATE point_tbl SET f1[3] = 10 WHERE f1::text = '(-10,-10)'::point::text RETURNING *;
  527. </sql-statement>
  528. -stdin-:<main>: Fatal: Pre type annotation
  529. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  530. <sql-statement>
  531. --
  532. -- test array extension
  533. --
  534. CREATE TEMP TABLE arrtest1 (i int[], t text[]);
  535. </sql-statement>
  536. <sql-statement>
  537. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  538. </sql-statement>
  539. -stdin-:<main>: Error: Type annotation
  540. -stdin-:<main>:1:1: Error: At function: YtWriteTable!
  541. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  542. ^
  543. -stdin-:<main>:1:1: Error: Failed to convert type: List<Struct<'i':_pgint4,'t':_pgtext>> to List<Struct<'i':pgint4,'t':pgtext>>
  544. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  545. ^
  546. -stdin-:<main>:1:1: Error: Failed to convert 'i': _pgint4 to pgint4
  547. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  548. ^
  549. -stdin-:<main>:1:1: Error: Table "arrtest1" row type differs from the written row type: Struct<i:pgint4!=_pgint4,t:pgtext!=_pgtext>
  550. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  551. ^
  552. <sql-statement>
  553. select * from arrtest1;
  554. </sql-statement>
  555. <sql-statement>
  556. update arrtest1 set i[2] = 22, t[2] = 'twenty-two';
  557. </sql-statement>
  558. -stdin-:<main>: Fatal: Pre type annotation
  559. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  560. <sql-statement>
  561. select * from arrtest1;
  562. </sql-statement>
  563. <sql-statement>
  564. update arrtest1 set i[5] = 5, t[5] = 'five';
  565. </sql-statement>
  566. -stdin-:<main>: Fatal: Pre type annotation
  567. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  568. <sql-statement>
  569. select * from arrtest1;
  570. </sql-statement>
  571. <sql-statement>
  572. update arrtest1 set i[8] = 8, t[8] = 'eight';
  573. </sql-statement>
  574. -stdin-:<main>: Fatal: Pre type annotation
  575. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  576. <sql-statement>
  577. select * from arrtest1;
  578. </sql-statement>
  579. <sql-statement>
  580. update arrtest1 set i[0] = 0, t[0] = 'zero';
  581. </sql-statement>
  582. -stdin-:<main>: Fatal: Pre type annotation
  583. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  584. <sql-statement>
  585. select * from arrtest1;
  586. </sql-statement>
  587. <sql-statement>
  588. update arrtest1 set i[-3] = -3, t[-3] = 'minus-three';
  589. </sql-statement>
  590. -stdin-:<main>: Fatal: Pre type annotation
  591. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  592. <sql-statement>
  593. select * from arrtest1;
  594. </sql-statement>
  595. <sql-statement>
  596. update arrtest1 set i[0:2] = array[10,11,12], t[0:2] = array['ten','eleven','twelve'];
  597. </sql-statement>
  598. -stdin-:<main>: Fatal: Pre type annotation
  599. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  600. <sql-statement>
  601. select * from arrtest1;
  602. </sql-statement>
  603. <sql-statement>
  604. update arrtest1 set i[8:10] = array[18,null,20], t[8:10] = array['p18',null,'p20'];
  605. </sql-statement>
  606. -stdin-:<main>: Fatal: Pre type annotation
  607. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  608. <sql-statement>
  609. select * from arrtest1;
  610. </sql-statement>
  611. <sql-statement>
  612. update arrtest1 set i[11:12] = array[null,22], t[11:12] = array[null,'p22'];
  613. </sql-statement>
  614. -stdin-:<main>: Fatal: Pre type annotation
  615. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  616. <sql-statement>
  617. select * from arrtest1;
  618. </sql-statement>
  619. <sql-statement>
  620. update arrtest1 set i[15:16] = array[null,26], t[15:16] = array[null,'p26'];
  621. </sql-statement>
  622. -stdin-:<main>: Fatal: Pre type annotation
  623. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  624. <sql-statement>
  625. select * from arrtest1;
  626. </sql-statement>
  627. <sql-statement>
  628. update arrtest1 set i[-5:-3] = array[-15,-14,-13], t[-5:-3] = array['m15','m14','m13'];
  629. </sql-statement>
  630. -stdin-:<main>: Fatal: Pre type annotation
  631. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  632. <sql-statement>
  633. select * from arrtest1;
  634. </sql-statement>
  635. <sql-statement>
  636. update arrtest1 set i[-7:-6] = array[-17,null], t[-7:-6] = array['m17',null];
  637. </sql-statement>
  638. -stdin-:<main>: Fatal: Pre type annotation
  639. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  640. <sql-statement>
  641. select * from arrtest1;
  642. </sql-statement>
  643. <sql-statement>
  644. update arrtest1 set i[-12:-10] = array[-22,null,-20], t[-12:-10] = array['m22',null,'m20'];
  645. </sql-statement>
  646. -stdin-:<main>: Fatal: Pre type annotation
  647. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  648. <sql-statement>
  649. select * from arrtest1;
  650. </sql-statement>
  651. <sql-statement>
  652. delete from arrtest1;
  653. </sql-statement>
  654. -stdin-:<main>: Fatal: Pre type annotation
  655. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_delete' 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'.
  656. <sql-statement>
  657. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  658. </sql-statement>
  659. -stdin-:<main>: Error: Type annotation
  660. -stdin-:<main>:1:1: Error: At function: YtWriteTable!
  661. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  662. ^
  663. -stdin-:<main>:1:1: Error: Failed to convert type: List<Struct<'i':_pgint4,'t':_pgtext>> to List<Struct<'i':pgint4,'t':pgtext>>
  664. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  665. ^
  666. -stdin-:<main>:1:1: Error: Failed to convert 'i': _pgint4 to pgint4
  667. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  668. ^
  669. -stdin-:<main>:1:1: Error: Table "arrtest1" row type differs from the written row type: Struct<i:pgint4!=_pgint4,t:pgtext!=_pgtext>
  670. insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
  671. ^
  672. <sql-statement>
  673. select * from arrtest1;
  674. </sql-statement>
  675. <sql-statement>
  676. update arrtest1 set i[0:5] = array[0,1,2,null,4,5], t[0:5] = array['z','p1','p2',null,'p4','p5'];
  677. </sql-statement>
  678. -stdin-:<main>: Fatal: Pre type annotation
  679. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  680. <sql-statement>
  681. select * from arrtest1;
  682. </sql-statement>
  683. <sql-statement>
  684. --
  685. -- array expressions and operators
  686. --
  687. -- table creation and INSERTs
  688. CREATE TEMP TABLE arrtest2 (i integer ARRAY[4], f float8[], n numeric[], t text[], d timestamp[]);
  689. </sql-statement>
  690. <sql-statement>
  691. INSERT INTO arrtest2 VALUES(
  692. ARRAY[[[113,142],[1,147]]],
  693. ARRAY[1.1,1.2,1.3]::float8[],
  694. ARRAY[1.1,1.2,1.3],
  695. ARRAY[[['aaa','aab'],['aba','abb'],['aca','acb']],[['baa','bab'],['bba','bbb'],['bca','bcb']]],
  696. ARRAY['19620326','19931223','19970117']::timestamp[]
  697. );
  698. </sql-statement>
  699. -stdin-:<main>: Error: Type annotation
  700. -stdin-:<main>:1:1: Error: At function: YtWriteTable!
  701. INSERT INTO arrtest2 VALUES(
  702. ^
  703. -stdin-:<main>:1:1: Error: Failed to convert type: List<Struct<'d':_pgtimestamp,'f':_pgfloat8,'i':_pgint4,'n':_pgnumeric,'t':_pgtext>> to List<Struct<'d':pgtimestamp,'f':pgfloat8,'i':pgint4,'n':pgnumeric,'t':pgtext>>
  704. INSERT INTO arrtest2 VALUES(
  705. ^
  706. -stdin-:<main>:1:1: Error: Failed to convert 'd': _pgtimestamp to pgtimestamp
  707. INSERT INTO arrtest2 VALUES(
  708. ^
  709. -stdin-:<main>:1:1: Error: Table "arrtest2" row type differs from the written row type: Struct<d:pgtimestamp!=_pgtimestamp,f:pgfloat8!=_pgfloat8,i:pgint4!=_pgint4,n:pgnumeric!=_pgnumeric,t:pgtext!=_pgtext>
  710. INSERT INTO arrtest2 VALUES(
  711. ^
  712. <sql-statement>
  713. -- some more test data
  714. CREATE TEMP TABLE arrtest_f (f0 int, f1 text, f2 float8);
  715. </sql-statement>
  716. <sql-statement>
  717. insert into arrtest_f values(1,'cat1',1.21);
  718. </sql-statement>
  719. <sql-statement>
  720. insert into arrtest_f values(2,'cat1',1.24);
  721. </sql-statement>
  722. <sql-statement>
  723. insert into arrtest_f values(3,'cat1',1.18);
  724. </sql-statement>
  725. <sql-statement>
  726. insert into arrtest_f values(4,'cat1',1.26);
  727. </sql-statement>
  728. <sql-statement>
  729. insert into arrtest_f values(5,'cat1',1.15);
  730. </sql-statement>
  731. <sql-statement>
  732. insert into arrtest_f values(6,'cat2',1.15);
  733. </sql-statement>
  734. <sql-statement>
  735. insert into arrtest_f values(7,'cat2',1.26);
  736. </sql-statement>
  737. <sql-statement>
  738. insert into arrtest_f values(8,'cat2',1.32);
  739. </sql-statement>
  740. <sql-statement>
  741. insert into arrtest_f values(9,'cat2',1.30);
  742. </sql-statement>
  743. <sql-statement>
  744. CREATE TEMP TABLE arrtest_i (f0 int, f1 text, f2 int);
  745. </sql-statement>
  746. <sql-statement>
  747. insert into arrtest_i values(1,'cat1',21);
  748. </sql-statement>
  749. <sql-statement>
  750. insert into arrtest_i values(2,'cat1',24);
  751. </sql-statement>
  752. <sql-statement>
  753. insert into arrtest_i values(3,'cat1',18);
  754. </sql-statement>
  755. <sql-statement>
  756. insert into arrtest_i values(4,'cat1',26);
  757. </sql-statement>
  758. <sql-statement>
  759. insert into arrtest_i values(5,'cat1',15);
  760. </sql-statement>
  761. <sql-statement>
  762. insert into arrtest_i values(6,'cat2',15);
  763. </sql-statement>
  764. <sql-statement>
  765. insert into arrtest_i values(7,'cat2',26);
  766. </sql-statement>
  767. <sql-statement>
  768. insert into arrtest_i values(8,'cat2',32);
  769. </sql-statement>
  770. <sql-statement>
  771. insert into arrtest_i values(9,'cat2',30);
  772. </sql-statement>
  773. <sql-statement>
  774. -- expressions
  775. SELECT t.f[1][3][1] AS "131", t.f[2][2][1] AS "221" FROM (
  776. SELECT ARRAY[[[111,112],[121,122],[131,132]],[[211,212],[221,122],[231,232]]] AS f
  777. ) AS t;
  778. </sql-statement>
  779. -stdin-:<main>: Error: Parse Sql
  780. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  781. -- expressions
  782. ^
  783. <sql-statement>
  784. SELECT ARRAY[[[[[['hello'],['world']]]]]];
  785. </sql-statement>
  786. <sql-statement>
  787. SELECT ARRAY[ARRAY['hello'],ARRAY['world']];
  788. </sql-statement>
  789. <sql-statement>
  790. SELECT ARRAY(select f2 from arrtest_f order by f2) AS "ARRAY";
  791. </sql-statement>
  792. <sql-statement>
  793. -- with nulls
  794. SELECT '{1,null,3}'::int[];
  795. </sql-statement>
  796. <sql-statement>
  797. SELECT ARRAY[1,NULL,3];
  798. </sql-statement>
  799. <sql-statement>
  800. -- functions
  801. SELECT array_append(array[42], 6) AS "{42,6}";
  802. </sql-statement>
  803. -stdin-:<main>: Error: Type annotation
  804. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  805. -- functions
  806. ^
  807. -stdin-:<main>:2:8: Error: At function: PgCall
  808. SELECT array_append(array[42], 6) AS "{42,6}";
  809. ^
  810. -stdin-:<main>:2:8: Error: Unable to find an overload for proc array_append with given argument types: (_int4,int4)
  811. SELECT array_append(array[42], 6) AS "{42,6}";
  812. ^
  813. <sql-statement>
  814. SELECT array_prepend(6, array[42]) AS "{6,42}";
  815. </sql-statement>
  816. -stdin-:<main>: Error: Type annotation
  817. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  818. SELECT array_prepend(6, array[42]) AS "{6,42}";
  819. ^
  820. -stdin-:<main>:1:8: Error: At function: PgCall
  821. SELECT array_prepend(6, array[42]) AS "{6,42}";
  822. ^
  823. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_prepend with given argument types: (int4,_int4)
  824. SELECT array_prepend(6, array[42]) AS "{6,42}";
  825. ^
  826. <sql-statement>
  827. SELECT array_cat(ARRAY[1,2], ARRAY[3,4]) AS "{1,2,3,4}";
  828. </sql-statement>
  829. -stdin-:<main>: Error: Type annotation
  830. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  831. SELECT array_cat(ARRAY[1,2], ARRAY[3,4]) AS "{1,2,3,4}";
  832. ^
  833. -stdin-:<main>:1:8: Error: At function: PgCall
  834. SELECT array_cat(ARRAY[1,2], ARRAY[3,4]) AS "{1,2,3,4}";
  835. ^
  836. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_cat with given argument types: (_int4,_int4)
  837. SELECT array_cat(ARRAY[1,2], ARRAY[3,4]) AS "{1,2,3,4}";
  838. ^
  839. <sql-statement>
  840. SELECT array_cat(ARRAY[1,2], ARRAY[[3,4],[5,6]]) AS "{{1,2},{3,4},{5,6}}";
  841. </sql-statement>
  842. -stdin-:<main>: Error: Type annotation
  843. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  844. SELECT array_cat(ARRAY[1,2], ARRAY[[3,4],[5,6]]) AS "{{1,2},{3,4},{5,6}}";
  845. ^
  846. -stdin-:<main>:1:8: Error: At function: PgCall
  847. SELECT array_cat(ARRAY[1,2], ARRAY[[3,4],[5,6]]) AS "{{1,2},{3,4},{5,6}}";
  848. ^
  849. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_cat with given argument types: (_int4,_int4)
  850. SELECT array_cat(ARRAY[1,2], ARRAY[[3,4],[5,6]]) AS "{{1,2},{3,4},{5,6}}";
  851. ^
  852. <sql-statement>
  853. SELECT array_cat(ARRAY[[3,4],[5,6]], ARRAY[1,2]) AS "{{3,4},{5,6},{1,2}}";
  854. </sql-statement>
  855. -stdin-:<main>: Error: Type annotation
  856. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  857. SELECT array_cat(ARRAY[[3,4],[5,6]], ARRAY[1,2]) AS "{{3,4},{5,6},{1,2}}";
  858. ^
  859. -stdin-:<main>:1:8: Error: At function: PgCall
  860. SELECT array_cat(ARRAY[[3,4],[5,6]], ARRAY[1,2]) AS "{{3,4},{5,6},{1,2}}";
  861. ^
  862. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_cat with given argument types: (_int4,_int4)
  863. SELECT array_cat(ARRAY[[3,4],[5,6]], ARRAY[1,2]) AS "{{3,4},{5,6},{1,2}}";
  864. ^
  865. <sql-statement>
  866. SELECT array_position(ARRAY[1,2,3,4,5], 4);
  867. </sql-statement>
  868. -stdin-:<main>: Error: Type annotation
  869. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  870. SELECT array_position(ARRAY[1,2,3,4,5], 4);
  871. ^
  872. -stdin-:<main>:1:8: Error: At function: PgCall
  873. SELECT array_position(ARRAY[1,2,3,4,5], 4);
  874. ^
  875. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_position with given argument types: (_int4,int4)
  876. SELECT array_position(ARRAY[1,2,3,4,5], 4);
  877. ^
  878. <sql-statement>
  879. SELECT array_position(ARRAY[5,3,4,2,1], 4);
  880. </sql-statement>
  881. -stdin-:<main>: Error: Type annotation
  882. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  883. SELECT array_position(ARRAY[5,3,4,2,1], 4);
  884. ^
  885. -stdin-:<main>:1:8: Error: At function: PgCall
  886. SELECT array_position(ARRAY[5,3,4,2,1], 4);
  887. ^
  888. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_position with given argument types: (_int4,int4)
  889. SELECT array_position(ARRAY[5,3,4,2,1], 4);
  890. ^
  891. <sql-statement>
  892. SELECT array_position(ARRAY[[1,2],[3,4]], 3);
  893. </sql-statement>
  894. -stdin-:<main>: Error: Type annotation
  895. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  896. SELECT array_position(ARRAY[[1,2],[3,4]], 3);
  897. ^
  898. -stdin-:<main>:1:8: Error: At function: PgCall
  899. SELECT array_position(ARRAY[[1,2],[3,4]], 3);
  900. ^
  901. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_position with given argument types: (_int4,int4)
  902. SELECT array_position(ARRAY[[1,2],[3,4]], 3);
  903. ^
  904. <sql-statement>
  905. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'mon');
  906. </sql-statement>
  907. -stdin-:<main>: Error: Type annotation
  908. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  909. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'mon');
  910. ^
  911. -stdin-:<main>:1:8: Error: At function: PgCall
  912. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'mon');
  913. ^
  914. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_position with given argument types: (_text,unknown)
  915. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'mon');
  916. ^
  917. <sql-statement>
  918. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'sat');
  919. </sql-statement>
  920. -stdin-:<main>: Error: Type annotation
  921. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  922. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'sat');
  923. ^
  924. -stdin-:<main>:1:8: Error: At function: PgCall
  925. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'sat');
  926. ^
  927. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_position with given argument types: (_text,unknown)
  928. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'sat');
  929. ^
  930. <sql-statement>
  931. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], NULL);
  932. </sql-statement>
  933. -stdin-:<main>: Error: Type annotation
  934. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  935. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], NULL);
  936. ^
  937. -stdin-:<main>:1:8: Error: At function: PgCall
  938. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], NULL);
  939. ^
  940. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_position with given argument types: (_text,unknown)
  941. SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], NULL);
  942. ^
  943. <sql-statement>
  944. SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], NULL);
  945. </sql-statement>
  946. -stdin-:<main>: Error: Type annotation
  947. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  948. SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], NULL);
  949. ^
  950. -stdin-:<main>:1:8: Error: At function: PgCall
  951. SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], NULL);
  952. ^
  953. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_position with given argument types: (_text,unknown)
  954. SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], NULL);
  955. ^
  956. <sql-statement>
  957. SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], 'sat');
  958. </sql-statement>
  959. -stdin-:<main>: Error: Type annotation
  960. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  961. SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], 'sat');
  962. ^
  963. -stdin-:<main>:1:8: Error: At function: PgCall
  964. SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], 'sat');
  965. ^
  966. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_position with given argument types: (_text,unknown)
  967. SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], 'sat');
  968. ^
  969. <sql-statement>
  970. SELECT array_positions(NULL, 10);
  971. </sql-statement>
  972. -stdin-:<main>: Error: Type annotation
  973. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  974. SELECT array_positions(NULL, 10);
  975. ^
  976. -stdin-:<main>:1:8: Error: At function: PgCall
  977. SELECT array_positions(NULL, 10);
  978. ^
  979. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_positions with given argument types: (unknown,int4)
  980. SELECT array_positions(NULL, 10);
  981. ^
  982. <sql-statement>
  983. SELECT array_positions(NULL, NULL::int);
  984. </sql-statement>
  985. -stdin-:<main>: Error: Type annotation
  986. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  987. SELECT array_positions(NULL, NULL::int);
  988. ^
  989. -stdin-:<main>:1:8: Error: At function: PgCall
  990. SELECT array_positions(NULL, NULL::int);
  991. ^
  992. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_positions with given argument types: (unknown,int4)
  993. SELECT array_positions(NULL, NULL::int);
  994. ^
  995. <sql-statement>
  996. SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], 4);
  997. </sql-statement>
  998. -stdin-:<main>: Error: Type annotation
  999. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1000. SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], 4);
  1001. ^
  1002. -stdin-:<main>:1:8: Error: At function: PgCall
  1003. SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], 4);
  1004. ^
  1005. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_positions with given argument types: (_int4,int4)
  1006. SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], 4);
  1007. ^
  1008. <sql-statement>
  1009. SELECT array_positions(ARRAY[[1,2],[3,4]], 4);
  1010. </sql-statement>
  1011. -stdin-:<main>: Error: Type annotation
  1012. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1013. SELECT array_positions(ARRAY[[1,2],[3,4]], 4);
  1014. ^
  1015. -stdin-:<main>:1:8: Error: At function: PgCall
  1016. SELECT array_positions(ARRAY[[1,2],[3,4]], 4);
  1017. ^
  1018. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_positions with given argument types: (_int4,int4)
  1019. SELECT array_positions(ARRAY[[1,2],[3,4]], 4);
  1020. ^
  1021. <sql-statement>
  1022. SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], NULL);
  1023. </sql-statement>
  1024. -stdin-:<main>: Error: Type annotation
  1025. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1026. SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], NULL);
  1027. ^
  1028. -stdin-:<main>:1:8: Error: At function: PgCall
  1029. SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], NULL);
  1030. ^
  1031. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_positions with given argument types: (_int4,unknown)
  1032. SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], NULL);
  1033. ^
  1034. <sql-statement>
  1035. SELECT array_positions(ARRAY[1,2,3,NULL,5,6,1,2,3,NULL,5,6], NULL);
  1036. </sql-statement>
  1037. -stdin-:<main>: Error: Type annotation
  1038. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1039. SELECT array_positions(ARRAY[1,2,3,NULL,5,6,1,2,3,NULL,5,6], NULL);
  1040. ^
  1041. -stdin-:<main>:1:8: Error: At function: PgCall
  1042. SELECT array_positions(ARRAY[1,2,3,NULL,5,6,1,2,3,NULL,5,6], NULL);
  1043. ^
  1044. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_positions with given argument types: (_int4,unknown)
  1045. SELECT array_positions(ARRAY[1,2,3,NULL,5,6,1,2,3,NULL,5,6], NULL);
  1046. ^
  1047. <sql-statement>
  1048. SELECT array_length(array_positions(ARRAY(SELECT 'AAAAAAAAAAAAAAAAAAAAAAAAA'::text || i % 10
  1049. FROM generate_series(1,100) g(i)),
  1050. 'AAAAAAAAAAAAAAAAAAAAAAAAA5'), 1);
  1051. </sql-statement>
  1052. -stdin-:<main>: Error: Type annotation
  1053. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1054. SELECT array_length(array_positions(ARRAY(SELECT 'AAAAAAAAAAAAAAAAAAAAAAAAA'::text || i % 10
  1055. ^
  1056. -stdin-:<main>:1:8: Error: At function: PgCall
  1057. SELECT array_length(array_positions(ARRAY(SELECT 'AAAAAAAAAAAAAAAAAAAAAAAAA'::text || i % 10
  1058. ^
  1059. -stdin-:<main>:1:21: Error: At function: PgCall
  1060. SELECT array_length(array_positions(ARRAY(SELECT 'AAAAAAAAAAAAAAAAAAAAAAAAA'::text || i % 10
  1061. ^
  1062. -stdin-:<main>:1:37: Error: At function: PgSubLink, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1063. SELECT array_length(array_positions(ARRAY(SELECT 'AAAAAAAAAAAAAAAAAAAAAAAAA'::text || i % 10
  1064. ^
  1065. -stdin-:<main>:1:84: Error: At function: PgOp
  1066. SELECT array_length(array_positions(ARRAY(SELECT 'AAAAAAAAAAAAAAAAAAAAAAAAA'::text || i % 10
  1067. ^
  1068. -stdin-:<main>:1:84: Error: Unable to find an overload for operator || with given argument type(s): (text,int4)
  1069. SELECT array_length(array_positions(ARRAY(SELECT 'AAAAAAAAAAAAAAAAAAAAAAAAA'::text || i % 10
  1070. ^
  1071. <sql-statement>
  1072. DO $$
  1073. DECLARE
  1074. o int;
  1075. a int[] := ARRAY[1,2,3,2,3,1,2];
  1076. BEGIN
  1077. o := array_position(a, 2);
  1078. WHILE o IS NOT NULL
  1079. LOOP
  1080. RAISE NOTICE '%', o;
  1081. o := array_position(a, 2, o + 1);
  1082. END LOOP;
  1083. END
  1084. $$ LANGUAGE plpgsql;
  1085. </sql-statement>
  1086. -stdin-:<main>: Error: Parse Sql
  1087. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 263
  1088. DO $$
  1089. ^
  1090. <sql-statement>
  1091. SELECT array_position('[2:4]={1,2,3}'::int[], 1);
  1092. </sql-statement>
  1093. -stdin-:<main>: Error: Type annotation
  1094. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1095. SELECT array_position('[2:4]={1,2,3}'::int[], 1);
  1096. ^
  1097. -stdin-:<main>:1:8: Error: At function: PgCall
  1098. SELECT array_position('[2:4]={1,2,3}'::int[], 1);
  1099. ^
  1100. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_position with given argument types: (_int4,int4)
  1101. SELECT array_position('[2:4]={1,2,3}'::int[], 1);
  1102. ^
  1103. <sql-statement>
  1104. SELECT array_positions('[2:4]={1,2,3}'::int[], 1);
  1105. </sql-statement>
  1106. -stdin-:<main>: Error: Type annotation
  1107. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1108. SELECT array_positions('[2:4]={1,2,3}'::int[], 1);
  1109. ^
  1110. -stdin-:<main>:1:8: Error: At function: PgCall
  1111. SELECT array_positions('[2:4]={1,2,3}'::int[], 1);
  1112. ^
  1113. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_positions with given argument types: (_int4,int4)
  1114. SELECT array_positions('[2:4]={1,2,3}'::int[], 1);
  1115. ^
  1116. <sql-statement>
  1117. SELECT
  1118. array_position(ids, (1, 1)),
  1119. array_positions(ids, (1, 1))
  1120. FROM
  1121. (VALUES
  1122. (ARRAY[(0, 0), (1, 1)]),
  1123. (ARRAY[(1, 1)])
  1124. ) AS f (ids);
  1125. </sql-statement>
  1126. -stdin-:<main>: Error: Parse Sql
  1127. -stdin-:<main>:6:6: Error: alternative is not implemented yet : 138
  1128. (ARRAY[(0, 0), (1, 1)]),
  1129. ^
  1130. -stdin-:<main>:2:5: Error: alternative is not implemented yet : 138
  1131. array_position(ids, (1, 1)),
  1132. ^
  1133. <sql-statement>
  1134. -- operators
  1135. SELECT a FROM arrtest WHERE b = ARRAY[[[113,142],[1,147]]];
  1136. </sql-statement>
  1137. -stdin-:<main>: Error: Type annotation
  1138. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect
  1139. -- operators
  1140. ^
  1141. -stdin-:<main>: Error: At function: PgSetItem
  1142. -stdin-:<main>:1:1: Error: At function: PgWhere
  1143. -- operators
  1144. ^
  1145. -stdin-:<main>:2:31: Error: At function: PgOp
  1146. SELECT a FROM arrtest WHERE b = ARRAY[[[113,142],[1,147]]];
  1147. ^
  1148. -stdin-:<main>:2:31: Error: Unable to find an overload for operator = with given argument type(s): (int4,_int4)
  1149. SELECT a FROM arrtest WHERE b = ARRAY[[[113,142],[1,147]]];
  1150. ^
  1151. <sql-statement>
  1152. SELECT NOT ARRAY[1.1,1.2,1.3] = ARRAY[1.1,1.2,1.3] AS "FALSE";
  1153. </sql-statement>
  1154. <sql-statement>
  1155. SELECT ARRAY[1,2] || 3 AS "{1,2,3}";
  1156. </sql-statement>
  1157. -stdin-:<main>: Error: Type annotation
  1158. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1159. SELECT ARRAY[1,2] || 3 AS "{1,2,3}";
  1160. ^
  1161. -stdin-:<main>:1:19: Error: At function: PgOp
  1162. SELECT ARRAY[1,2] || 3 AS "{1,2,3}";
  1163. ^
  1164. -stdin-:<main>:1:19: Error: Unable to find an overload for operator || with given argument type(s): (_int4,int4)
  1165. SELECT ARRAY[1,2] || 3 AS "{1,2,3}";
  1166. ^
  1167. <sql-statement>
  1168. SELECT 0 || ARRAY[1,2] AS "{0,1,2}";
  1169. </sql-statement>
  1170. -stdin-:<main>: Error: Type annotation
  1171. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1172. SELECT 0 || ARRAY[1,2] AS "{0,1,2}";
  1173. ^
  1174. -stdin-:<main>:1:10: Error: At function: PgOp
  1175. SELECT 0 || ARRAY[1,2] AS "{0,1,2}";
  1176. ^
  1177. -stdin-:<main>:1:10: Error: Unable to find an overload for operator || with given argument type(s): (int4,_int4)
  1178. SELECT 0 || ARRAY[1,2] AS "{0,1,2}";
  1179. ^
  1180. <sql-statement>
  1181. SELECT ARRAY[1,2] || ARRAY[3,4] AS "{1,2,3,4}";
  1182. </sql-statement>
  1183. -stdin-:<main>: Error: Type annotation
  1184. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1185. SELECT ARRAY[1,2] || ARRAY[3,4] AS "{1,2,3,4}";
  1186. ^
  1187. -stdin-:<main>:1:19: Error: At function: PgOp
  1188. SELECT ARRAY[1,2] || ARRAY[3,4] AS "{1,2,3,4}";
  1189. ^
  1190. -stdin-:<main>:1:19: Error: Unable to find an overload for operator || with given argument type(s): (_int4,_int4)
  1191. SELECT ARRAY[1,2] || ARRAY[3,4] AS "{1,2,3,4}";
  1192. ^
  1193. <sql-statement>
  1194. SELECT ARRAY[[['hello','world']]] || ARRAY[[['happy','birthday']]] AS "ARRAY";
  1195. </sql-statement>
  1196. -stdin-:<main>: Error: Type annotation
  1197. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1198. SELECT ARRAY[[['hello','world']]] || ARRAY[[['happy','birthday']]] AS "ARRAY";
  1199. ^
  1200. -stdin-:<main>:1:35: Error: At function: PgOp
  1201. SELECT ARRAY[[['hello','world']]] || ARRAY[[['happy','birthday']]] AS "ARRAY";
  1202. ^
  1203. -stdin-:<main>:1:35: Error: Unable to find an overload for operator || with given argument type(s): (_text,_text)
  1204. SELECT ARRAY[[['hello','world']]] || ARRAY[[['happy','birthday']]] AS "ARRAY";
  1205. ^
  1206. <sql-statement>
  1207. SELECT ARRAY[[1,2],[3,4]] || ARRAY[5,6] AS "{{1,2},{3,4},{5,6}}";
  1208. </sql-statement>
  1209. -stdin-:<main>: Error: Type annotation
  1210. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1211. SELECT ARRAY[[1,2],[3,4]] || ARRAY[5,6] AS "{{1,2},{3,4},{5,6}}";
  1212. ^
  1213. -stdin-:<main>:1:27: Error: At function: PgOp
  1214. SELECT ARRAY[[1,2],[3,4]] || ARRAY[5,6] AS "{{1,2},{3,4},{5,6}}";
  1215. ^
  1216. -stdin-:<main>:1:27: Error: Unable to find an overload for operator || with given argument type(s): (_int4,_int4)
  1217. SELECT ARRAY[[1,2],[3,4]] || ARRAY[5,6] AS "{{1,2},{3,4},{5,6}}";
  1218. ^
  1219. <sql-statement>
  1220. SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{0,0,1,1,2,2}";
  1221. </sql-statement>
  1222. -stdin-:<main>: Error: Type annotation
  1223. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1224. SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{0,0,1,1,2,2}";
  1225. ^
  1226. -stdin-:<main>:1:33: Error: At function: PgOp
  1227. SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{0,0,1,1,2,2}";
  1228. ^
  1229. -stdin-:<main>:1:19: Error: At function: PgOp
  1230. SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{0,0,1,1,2,2}";
  1231. ^
  1232. -stdin-:<main>:1:19: Error: Unable to find an overload for operator || with given argument type(s): (_int4,_int4)
  1233. SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{0,0,1,1,2,2}";
  1234. ^
  1235. <sql-statement>
  1236. SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}";
  1237. </sql-statement>
  1238. -stdin-:<main>: Error: Type annotation
  1239. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1240. SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}";
  1241. ^
  1242. -stdin-:<main>:1:24: Error: At function: PgOp
  1243. SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}";
  1244. ^
  1245. -stdin-:<main>:1:10: Error: At function: PgOp
  1246. SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}";
  1247. ^
  1248. -stdin-:<main>:1:10: Error: Unable to find an overload for operator || with given argument type(s): (int4,_int4)
  1249. SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}";
  1250. ^
  1251. <sql-statement>
  1252. SELECT ARRAY[1.1] || ARRAY[2,3,4];
  1253. </sql-statement>
  1254. -stdin-:<main>: Error: Type annotation
  1255. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1256. SELECT ARRAY[1.1] || ARRAY[2,3,4];
  1257. ^
  1258. -stdin-:<main>:1:19: Error: At function: PgOp
  1259. SELECT ARRAY[1.1] || ARRAY[2,3,4];
  1260. ^
  1261. -stdin-:<main>:1:19: Error: Unable to find an overload for operator || with given argument type(s): (_numeric,_int4)
  1262. SELECT ARRAY[1.1] || ARRAY[2,3,4];
  1263. ^
  1264. <sql-statement>
  1265. SELECT array_agg(x) || array_agg(x) FROM (VALUES (ROW(1,2)), (ROW(3,4))) v(x);
  1266. </sql-statement>
  1267. -stdin-:<main>: Error: Parse Sql
  1268. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 138
  1269. SELECT array_agg(x) || array_agg(x) FROM (VALUES (ROW(1,2)), (ROW(3,4))) v(x);
  1270. ^
  1271. -stdin-:<main>: Error: Type annotation
  1272. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect
  1273. SELECT array_agg(x) || array_agg(x) FROM (VALUES (ROW(1,2)), (ROW(3,4))) v(x);
  1274. ^
  1275. -stdin-:<main>:1:1: Error: Recursive query does not have the form non-recursive-term UNION [ALL] recursive-term
  1276. SELECT array_agg(x) || array_agg(x) FROM (VALUES (ROW(1,2)), (ROW(3,4))) v(x);
  1277. ^
  1278. <sql-statement>
  1279. SELECT ROW(1,2) || array_agg(x) FROM (VALUES (ROW(3,4)), (ROW(5,6))) v(x);
  1280. </sql-statement>
  1281. -stdin-:<main>: Error: Parse Sql
  1282. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 138
  1283. SELECT ROW(1,2) || array_agg(x) FROM (VALUES (ROW(3,4)), (ROW(5,6))) v(x);
  1284. ^
  1285. -stdin-:<main>:1:17: Error: alternative is not implemented yet : 138
  1286. SELECT ROW(1,2) || array_agg(x) FROM (VALUES (ROW(3,4)), (ROW(5,6))) v(x);
  1287. ^
  1288. <sql-statement>
  1289. SELECT * FROM array_op_test WHERE i @> '{32}' ORDER BY seqno;
  1290. </sql-statement>
  1291. -stdin-:<main>: Fatal: Table metadata loading
  1292. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1293. <sql-statement>
  1294. SELECT * FROM array_op_test WHERE i && '{32}' ORDER BY seqno;
  1295. </sql-statement>
  1296. -stdin-:<main>: Fatal: Table metadata loading
  1297. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1298. <sql-statement>
  1299. SELECT * FROM array_op_test WHERE i @> '{17}' ORDER BY seqno;
  1300. </sql-statement>
  1301. -stdin-:<main>: Fatal: Table metadata loading
  1302. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1303. <sql-statement>
  1304. SELECT * FROM array_op_test WHERE i && '{17}' ORDER BY seqno;
  1305. </sql-statement>
  1306. -stdin-:<main>: Fatal: Table metadata loading
  1307. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1308. <sql-statement>
  1309. SELECT * FROM array_op_test WHERE i @> '{32,17}' ORDER BY seqno;
  1310. </sql-statement>
  1311. -stdin-:<main>: Fatal: Table metadata loading
  1312. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1313. <sql-statement>
  1314. SELECT * FROM array_op_test WHERE i && '{32,17}' ORDER BY seqno;
  1315. </sql-statement>
  1316. -stdin-:<main>: Fatal: Table metadata loading
  1317. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1318. <sql-statement>
  1319. SELECT * FROM array_op_test WHERE i <@ '{38,34,32,89}' ORDER BY seqno;
  1320. </sql-statement>
  1321. -stdin-:<main>: Fatal: Table metadata loading
  1322. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1323. <sql-statement>
  1324. SELECT * FROM array_op_test WHERE i = '{}' ORDER BY seqno;
  1325. </sql-statement>
  1326. -stdin-:<main>: Fatal: Table metadata loading
  1327. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1328. <sql-statement>
  1329. SELECT * FROM array_op_test WHERE i @> '{}' ORDER BY seqno;
  1330. </sql-statement>
  1331. -stdin-:<main>: Fatal: Table metadata loading
  1332. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1333. <sql-statement>
  1334. SELECT * FROM array_op_test WHERE i && '{}' ORDER BY seqno;
  1335. </sql-statement>
  1336. -stdin-:<main>: Fatal: Table metadata loading
  1337. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1338. <sql-statement>
  1339. SELECT * FROM array_op_test WHERE i <@ '{}' ORDER BY seqno;
  1340. </sql-statement>
  1341. -stdin-:<main>: Fatal: Table metadata loading
  1342. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1343. <sql-statement>
  1344. SELECT * FROM array_op_test WHERE i = '{NULL}' ORDER BY seqno;
  1345. </sql-statement>
  1346. -stdin-:<main>: Fatal: Table metadata loading
  1347. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1348. <sql-statement>
  1349. SELECT * FROM array_op_test WHERE i @> '{NULL}' ORDER BY seqno;
  1350. </sql-statement>
  1351. -stdin-:<main>: Fatal: Table metadata loading
  1352. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1353. <sql-statement>
  1354. SELECT * FROM array_op_test WHERE i && '{NULL}' ORDER BY seqno;
  1355. </sql-statement>
  1356. -stdin-:<main>: Fatal: Table metadata loading
  1357. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1358. <sql-statement>
  1359. SELECT * FROM array_op_test WHERE i <@ '{NULL}' ORDER BY seqno;
  1360. </sql-statement>
  1361. -stdin-:<main>: Fatal: Table metadata loading
  1362. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1363. <sql-statement>
  1364. SELECT * FROM array_op_test WHERE t @> '{AAAAAAAA72908}' ORDER BY seqno;
  1365. </sql-statement>
  1366. -stdin-:<main>: Fatal: Table metadata loading
  1367. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1368. <sql-statement>
  1369. SELECT * FROM array_op_test WHERE t && '{AAAAAAAA72908}' ORDER BY seqno;
  1370. </sql-statement>
  1371. -stdin-:<main>: Fatal: Table metadata loading
  1372. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1373. <sql-statement>
  1374. SELECT * FROM array_op_test WHERE t @> '{AAAAAAAAAA646}' ORDER BY seqno;
  1375. </sql-statement>
  1376. -stdin-:<main>: Fatal: Table metadata loading
  1377. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1378. <sql-statement>
  1379. SELECT * FROM array_op_test WHERE t && '{AAAAAAAAAA646}' ORDER BY seqno;
  1380. </sql-statement>
  1381. -stdin-:<main>: Fatal: Table metadata loading
  1382. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1383. <sql-statement>
  1384. SELECT * FROM array_op_test WHERE t @> '{AAAAAAAA72908,AAAAAAAAAA646}' ORDER BY seqno;
  1385. </sql-statement>
  1386. -stdin-:<main>: Fatal: Table metadata loading
  1387. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1388. <sql-statement>
  1389. SELECT * FROM array_op_test WHERE t && '{AAAAAAAA72908,AAAAAAAAAA646}' ORDER BY seqno;
  1390. </sql-statement>
  1391. -stdin-:<main>: Fatal: Table metadata loading
  1392. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1393. <sql-statement>
  1394. SELECT * FROM array_op_test WHERE t <@ '{AAAAAAAA72908,AAAAAAAAAAAAAAAAAAA17075,AA88409,AAAAAAAAAAAAAAAAAA36842,AAAAAAA48038,AAAAAAAAAAAAAA10611}' ORDER BY seqno;
  1395. </sql-statement>
  1396. -stdin-:<main>: Fatal: Table metadata loading
  1397. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1398. <sql-statement>
  1399. SELECT * FROM array_op_test WHERE t = '{}' ORDER BY seqno;
  1400. </sql-statement>
  1401. -stdin-:<main>: Fatal: Table metadata loading
  1402. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1403. <sql-statement>
  1404. SELECT * FROM array_op_test WHERE t @> '{}' ORDER BY seqno;
  1405. </sql-statement>
  1406. -stdin-:<main>: Fatal: Table metadata loading
  1407. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1408. <sql-statement>
  1409. SELECT * FROM array_op_test WHERE t && '{}' ORDER BY seqno;
  1410. </sql-statement>
  1411. -stdin-:<main>: Fatal: Table metadata loading
  1412. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1413. <sql-statement>
  1414. SELECT * FROM array_op_test WHERE t <@ '{}' ORDER BY seqno;
  1415. </sql-statement>
  1416. -stdin-:<main>: Fatal: Table metadata loading
  1417. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.array_op_test
  1418. <sql-statement>
  1419. -- array casts
  1420. SELECT ARRAY[1,2,3]::text[]::int[]::float8[] AS "{1,2,3}";
  1421. </sql-statement>
  1422. <sql-statement>
  1423. SELECT pg_typeof(ARRAY[1,2,3]::text[]::int[]::float8[]) AS "double precision[]";
  1424. </sql-statement>
  1425. <sql-statement>
  1426. SELECT ARRAY[['a','bc'],['def','hijk']]::text[]::varchar[] AS "{{a,bc},{def,hijk}}";
  1427. </sql-statement>
  1428. <sql-statement>
  1429. SELECT pg_typeof(ARRAY[['a','bc'],['def','hijk']]::text[]::varchar[]) AS "character varying[]";
  1430. </sql-statement>
  1431. <sql-statement>
  1432. SELECT CAST(ARRAY[[[[[['a','bb','ccc']]]]]] as text[]) as "{{{{{{a,bb,ccc}}}}}}";
  1433. </sql-statement>
  1434. <sql-statement>
  1435. SELECT NULL::text[]::int[] AS "NULL";
  1436. </sql-statement>
  1437. <sql-statement>
  1438. -- scalar op any/all (array)
  1439. select 33 = any ('{1,2,3}');
  1440. </sql-statement>
  1441. <sql-statement>
  1442. select 33 = any ('{1,2,33}');
  1443. </sql-statement>
  1444. <sql-statement>
  1445. select 33 = all ('{1,2,33}');
  1446. </sql-statement>
  1447. <sql-statement>
  1448. select 33 >= all ('{1,2,33}');
  1449. </sql-statement>
  1450. <sql-statement>
  1451. -- boundary cases
  1452. select null::int >= all ('{1,2,33}');
  1453. </sql-statement>
  1454. <sql-statement>
  1455. select null::int >= all ('{}');
  1456. </sql-statement>
  1457. <sql-statement>
  1458. select null::int >= any ('{}');
  1459. </sql-statement>
  1460. <sql-statement>
  1461. -- cross-datatype
  1462. select 33.4 = any (array[1,2,3]);
  1463. </sql-statement>
  1464. <sql-statement>
  1465. select 33.4 > all (array[1,2,3]);
  1466. </sql-statement>
  1467. <sql-statement>
  1468. -- errors
  1469. select 33 * any ('{1,2,3}');
  1470. </sql-statement>
  1471. -stdin-:<main>: Error: Type annotation
  1472. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1473. -- errors
  1474. ^
  1475. -stdin-:<main>:2:11: Error: At function: PgAnyResolvedOp
  1476. select 33 * any ('{1,2,3}');
  1477. ^
  1478. -stdin-:<main>:2:11: Error: Expected boolean operator result, but got: int4
  1479. select 33 * any ('{1,2,3}');
  1480. ^
  1481. <sql-statement>
  1482. select 33 * any (44);
  1483. </sql-statement>
  1484. -stdin-:<main>: Error: Type annotation
  1485. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1486. select 33 * any (44);
  1487. ^
  1488. -stdin-:<main>:1:11: Error: At function: PgAnyOp
  1489. select 33 * any (44);
  1490. ^
  1491. -stdin-:<main>:1:11: Error: ydb/library/yql/parser/pg_catalog/catalog.cpp:2143: Condition violated: `fromTypePtr'
  1492. select 33 * any (44);
  1493. ^
  1494. <sql-statement>
  1495. -- nulls
  1496. select 33 = any (null::int[]);
  1497. </sql-statement>
  1498. <sql-statement>
  1499. select null::int = any ('{1,2,3}');
  1500. </sql-statement>
  1501. <sql-statement>
  1502. select 33 = any ('{1,null,3}');
  1503. </sql-statement>
  1504. <sql-statement>
  1505. select 33 = any ('{1,null,33}');
  1506. </sql-statement>
  1507. <sql-statement>
  1508. select 33 = all (null::int[]);
  1509. </sql-statement>
  1510. <sql-statement>
  1511. select null::int = all ('{1,2,3}');
  1512. </sql-statement>
  1513. <sql-statement>
  1514. select 33 = all ('{1,null,3}');
  1515. </sql-statement>
  1516. <sql-statement>
  1517. select 33 = all ('{33,null,33}');
  1518. </sql-statement>
  1519. <sql-statement>
  1520. -- nulls later in the bitmap
  1521. SELECT -1 != ALL(ARRAY(SELECT NULLIF(g.i, 900) FROM generate_series(1,1000) g(i)));
  1522. </sql-statement>
  1523. <sql-statement>
  1524. -- test indexes on arrays
  1525. create temp table arr_tbl (f1 int[] unique);
  1526. </sql-statement>
  1527. <sql-statement>
  1528. insert into arr_tbl values ('{1,2,3}');
  1529. </sql-statement>
  1530. -stdin-:<main>: Fatal: Execution
  1531. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1532. insert into arr_tbl values ('{1,2,3}');
  1533. ^
  1534. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,3}"
  1535. insert into arr_tbl values ('{1,2,3}');
  1536. ^
  1537. <sql-statement>
  1538. insert into arr_tbl values ('{1,2}');
  1539. </sql-statement>
  1540. -stdin-:<main>: Fatal: Execution
  1541. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1542. insert into arr_tbl values ('{1,2}');
  1543. ^
  1544. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2}"
  1545. insert into arr_tbl values ('{1,2}');
  1546. ^
  1547. <sql-statement>
  1548. -- failure expected:
  1549. insert into arr_tbl values ('{1,2,3}');
  1550. </sql-statement>
  1551. -stdin-:<main>: Fatal: Execution
  1552. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1553. -- failure expected:
  1554. ^
  1555. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,3}"
  1556. -- failure expected:
  1557. ^
  1558. <sql-statement>
  1559. insert into arr_tbl values ('{2,3,4}');
  1560. </sql-statement>
  1561. -stdin-:<main>: Fatal: Execution
  1562. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1563. insert into arr_tbl values ('{2,3,4}');
  1564. ^
  1565. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{2,3,4}"
  1566. insert into arr_tbl values ('{2,3,4}');
  1567. ^
  1568. <sql-statement>
  1569. insert into arr_tbl values ('{1,5,3}');
  1570. </sql-statement>
  1571. -stdin-:<main>: Fatal: Execution
  1572. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1573. insert into arr_tbl values ('{1,5,3}');
  1574. ^
  1575. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,5,3}"
  1576. insert into arr_tbl values ('{1,5,3}');
  1577. ^
  1578. <sql-statement>
  1579. insert into arr_tbl values ('{1,2,10}');
  1580. </sql-statement>
  1581. -stdin-:<main>: Fatal: Execution
  1582. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1583. insert into arr_tbl values ('{1,2,10}');
  1584. ^
  1585. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,10}"
  1586. insert into arr_tbl values ('{1,2,10}');
  1587. ^
  1588. <sql-statement>
  1589. set enable_seqscan to off;
  1590. </sql-statement>
  1591. -stdin-:<main>: Error: Parse Sql
  1592. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported name: enable_seqscan
  1593. set enable_seqscan to off;
  1594. ^
  1595. <sql-statement>
  1596. set enable_bitmapscan to off;
  1597. </sql-statement>
  1598. -stdin-:<main>: Error: Parse Sql
  1599. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported name: enable_bitmapscan
  1600. set enable_bitmapscan to off;
  1601. ^
  1602. <sql-statement>
  1603. select * from arr_tbl where f1 > '{1,2,3}' and f1 <= '{1,5,3}';
  1604. </sql-statement>
  1605. <sql-statement>
  1606. select * from arr_tbl where f1 >= '{1,2,3}' and f1 < '{1,5,3}';
  1607. </sql-statement>
  1608. <sql-statement>
  1609. -- test ON CONFLICT DO UPDATE with arrays
  1610. create temp table arr_pk_tbl (pk int4 primary key, f1 int[]);
  1611. </sql-statement>
  1612. <sql-statement>
  1613. insert into arr_pk_tbl values (1, '{1,2,3}');
  1614. </sql-statement>
  1615. -stdin-:<main>: Fatal: Execution
  1616. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1617. insert into arr_pk_tbl values (1, '{1,2,3}');
  1618. ^
  1619. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,3}"
  1620. insert into arr_pk_tbl values (1, '{1,2,3}');
  1621. ^
  1622. <sql-statement>
  1623. insert into arr_pk_tbl values (1, '{3,4,5}') on conflict (pk)
  1624. do update set f1[1] = excluded.f1[1], f1[3] = excluded.f1[3]
  1625. returning pk, f1;
  1626. </sql-statement>
  1627. -stdin-:<main>: Error: Parse Sql
  1628. -stdin-:<main>:1:1: Error: InsertStmt: not supported onConflictClause
  1629. insert into arr_pk_tbl values (1, '{3,4,5}') on conflict (pk)
  1630. ^
  1631. <sql-statement>
  1632. insert into arr_pk_tbl(pk, f1[1:2]) values (1, '{6,7,8}') on conflict (pk)
  1633. do update set f1[1] = excluded.f1[1],
  1634. f1[2] = excluded.f1[2],
  1635. f1[3] = excluded.f1[3]
  1636. returning pk, f1;
  1637. </sql-statement>
  1638. -stdin-:<main>: Error: Parse Sql
  1639. -stdin-:<main>:1:1: Error: InsertStmt: not supported onConflictClause
  1640. insert into arr_pk_tbl(pk, f1[1:2]) values (1, '{6,7,8}') on conflict (pk)
  1641. ^
  1642. <sql-statement>
  1643. -- note: if above selects don't produce the expected tuple order,
  1644. -- then you didn't get an indexscan plan, and something is busted.
  1645. reset enable_seqscan;
  1646. </sql-statement>
  1647. -stdin-:<main>: Error: Parse Sql
  1648. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported kind: 4
  1649. -- note: if above selects don't produce the expected tuple order,
  1650. ^
  1651. <sql-statement>
  1652. reset enable_bitmapscan;
  1653. </sql-statement>
  1654. -stdin-:<main>: Error: Parse Sql
  1655. -stdin-:<main>:1:1: Error: VariableSetStmt, not supported kind: 4
  1656. reset enable_bitmapscan;
  1657. ^
  1658. <sql-statement>
  1659. -- test [not] (like|ilike) (any|all) (...)
  1660. select 'foo' like any (array['%a', '%o']); -- t
  1661. </sql-statement>
  1662. <sql-statement>
  1663. select 'foo' like any (array['%a', '%b']); -- f
  1664. </sql-statement>
  1665. <sql-statement>
  1666. select 'foo' like all (array['f%', '%o']); -- t
  1667. </sql-statement>
  1668. <sql-statement>
  1669. select 'foo' like all (array['f%', '%b']); -- f
  1670. </sql-statement>
  1671. <sql-statement>
  1672. select 'foo' not like any (array['%a', '%b']); -- t
  1673. </sql-statement>
  1674. <sql-statement>
  1675. select 'foo' not like all (array['%a', '%o']); -- f
  1676. </sql-statement>
  1677. <sql-statement>
  1678. select 'foo' ilike any (array['%A', '%O']); -- t
  1679. </sql-statement>
  1680. <sql-statement>
  1681. select 'foo' ilike all (array['F%', '%O']); -- t
  1682. </sql-statement>
  1683. <sql-statement>
  1684. --
  1685. -- General array parser tests
  1686. --
  1687. -- none of the following should be accepted
  1688. select '{{1,{2}},{2,3}}'::text[];
  1689. </sql-statement>
  1690. -stdin-:<main>: Fatal: Execution
  1691. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1692. --
  1693. ^
  1694. -stdin-:<main>:1:1: Fatal: ERROR: malformed array literal: "{{1,{2}},{2,3}}"
  1695. DETAIL: Unexpected "{" character.
  1696. --
  1697. ^
  1698. <sql-statement>
  1699. select '{{},{}}'::text[];
  1700. </sql-statement>
  1701. -stdin-:<main>: Fatal: Execution
  1702. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1703. select '{{},{}}'::text[];
  1704. ^
  1705. -stdin-:<main>:1:1: Fatal: ERROR: malformed array literal: "{{},{}}"
  1706. DETAIL: Unexpected "}" character.
  1707. select '{{},{}}'::text[];
  1708. ^
  1709. <sql-statement>
  1710. select E'{{1,2},\\{2,3}}'::text[];
  1711. </sql-statement>
  1712. -stdin-:<main>: Fatal: Execution
  1713. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1714. select E'{{1,2},\\{2,3}}'::text[];
  1715. ^
  1716. -stdin-:<main>:1:1: Fatal: ERROR: malformed array literal: "{{1,2},\{2,3}}"
  1717. DETAIL: Unexpected "\" character.
  1718. select E'{{1,2},\\{2,3}}'::text[];
  1719. ^
  1720. <sql-statement>
  1721. select '{{"1 2" x},{3}}'::text[];
  1722. </sql-statement>
  1723. -stdin-:<main>: Fatal: Execution
  1724. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1725. select '{{"1 2" x},{3}}'::text[];
  1726. ^
  1727. -stdin-:<main>:1:1: Fatal: ERROR: malformed array literal: "{{"1 2" x},{3}}"
  1728. DETAIL: Unexpected array element.
  1729. select '{{"1 2" x},{3}}'::text[];
  1730. ^
  1731. <sql-statement>
  1732. select '{}}'::text[];
  1733. </sql-statement>
  1734. -stdin-:<main>: Fatal: Execution
  1735. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1736. select '{}}'::text[];
  1737. ^
  1738. -stdin-:<main>:1:1: Fatal: ERROR: malformed array literal: "{}}"
  1739. DETAIL: Junk after closing right brace.
  1740. select '{}}'::text[];
  1741. ^
  1742. <sql-statement>
  1743. select '{ }}'::text[];
  1744. </sql-statement>
  1745. -stdin-:<main>: Fatal: Execution
  1746. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1747. select '{ }}'::text[];
  1748. ^
  1749. -stdin-:<main>:1:1: Fatal: ERROR: malformed array literal: "{ }}"
  1750. DETAIL: Junk after closing right brace.
  1751. select '{ }}'::text[];
  1752. ^
  1753. <sql-statement>
  1754. select array[];
  1755. </sql-statement>
  1756. -stdin-:<main>: Error: Type annotation
  1757. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1758. select array[];
  1759. ^
  1760. -stdin-:<main>:1:8: Error: At function: PgArray
  1761. select array[];
  1762. ^
  1763. -stdin-:<main>:1:8: Error: Expected at least 1 argument(s), but got 0
  1764. select array[];
  1765. ^
  1766. <sql-statement>
  1767. -- none of the above should be accepted
  1768. -- all of the following should be accepted
  1769. select '{}'::text[];
  1770. </sql-statement>
  1771. <sql-statement>
  1772. select '{{{1,2,3,4},{2,3,4,5}},{{3,4,5,6},{4,5,6,7}}}'::text[];
  1773. </sql-statement>
  1774. <sql-statement>
  1775. select '{0 second ,0 second}'::interval[];
  1776. </sql-statement>
  1777. <sql-statement>
  1778. select '{ { "," } , { 3 } }'::text[];
  1779. </sql-statement>
  1780. <sql-statement>
  1781. select ' { { " 0 second " , 0 second } }'::text[];
  1782. </sql-statement>
  1783. <sql-statement>
  1784. select '{
  1785. 0 second,
  1786. @ 1 hour @ 42 minutes @ 20 seconds
  1787. }'::interval[];
  1788. </sql-statement>
  1789. <sql-statement>
  1790. select array[]::text[];
  1791. </sql-statement>
  1792. -stdin-:<main>: Error: Type annotation
  1793. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  1794. select array[]::text[];
  1795. ^
  1796. -stdin-:<main>:1:17: Error: At function: PgCast
  1797. select array[]::text[];
  1798. ^
  1799. -stdin-:<main>:1:8: Error: At function: PgArray
  1800. select array[]::text[];
  1801. ^
  1802. -stdin-:<main>:1:8: Error: Expected at least 1 argument(s), but got 0
  1803. select array[]::text[];
  1804. ^
  1805. <sql-statement>
  1806. select '[0:1]={1.1,2.2}'::float8[];
  1807. </sql-statement>
  1808. <sql-statement>
  1809. -- all of the above should be accepted
  1810. -- tests for array aggregates
  1811. CREATE TEMP TABLE arraggtest ( f1 INT[], f2 TEXT[][], f3 FLOAT[]);
  1812. </sql-statement>
  1813. <sql-statement>
  1814. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1815. ('{1,2,3,4}','{{grey,red},{blue,blue}}','{1.6, 0.0}');
  1816. </sql-statement>
  1817. -stdin-:<main>: Fatal: Execution
  1818. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1819. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1820. ^
  1821. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,3,4}"
  1822. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1823. ^
  1824. <sql-statement>
  1825. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1826. ('{1,2,3}','{{grey,red},{grey,blue}}','{1.6}');
  1827. </sql-statement>
  1828. -stdin-:<main>: Fatal: Execution
  1829. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1830. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1831. ^
  1832. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,3}"
  1833. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1834. ^
  1835. <sql-statement>
  1836. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1837. </sql-statement>
  1838. -stdin-:<main>: Error: Type annotation
  1839. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  1840. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1841. ^
  1842. -stdin-:<main>:1:1: Error: Duplicated member: max
  1843. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1844. ^
  1845. <sql-statement>
  1846. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1847. ('{3,3,2,4,5,6}','{{white,yellow},{pink,orange}}','{2.1,3.3,1.8,1.7,1.6}');
  1848. </sql-statement>
  1849. -stdin-:<main>: Fatal: Execution
  1850. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1851. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1852. ^
  1853. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{3,3,2,4,5,6}"
  1854. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1855. ^
  1856. <sql-statement>
  1857. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1858. </sql-statement>
  1859. -stdin-:<main>: Error: Type annotation
  1860. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  1861. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1862. ^
  1863. -stdin-:<main>:1:1: Error: Duplicated member: max
  1864. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1865. ^
  1866. <sql-statement>
  1867. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1868. ('{2}','{{black,red},{green,orange}}','{1.6,2.2,2.6,0.4}');
  1869. </sql-statement>
  1870. -stdin-:<main>: Fatal: Execution
  1871. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1872. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1873. ^
  1874. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{2}"
  1875. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1876. ^
  1877. <sql-statement>
  1878. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1879. </sql-statement>
  1880. -stdin-:<main>: Error: Type annotation
  1881. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  1882. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1883. ^
  1884. -stdin-:<main>:1:1: Error: Duplicated member: max
  1885. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1886. ^
  1887. <sql-statement>
  1888. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1889. ('{4,2,6,7,8,1}','{{red},{black},{purple},{blue},{blue}}',NULL);
  1890. </sql-statement>
  1891. -stdin-:<main>: Fatal: Execution
  1892. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1893. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1894. ^
  1895. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{4,2,6,7,8,1}"
  1896. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1897. ^
  1898. <sql-statement>
  1899. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1900. </sql-statement>
  1901. -stdin-:<main>: Error: Type annotation
  1902. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  1903. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1904. ^
  1905. -stdin-:<main>:1:1: Error: Duplicated member: max
  1906. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1907. ^
  1908. <sql-statement>
  1909. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1910. ('{}','{{pink,white,blue,red,grey,orange}}','{2.1,1.87,1.4,2.2}');
  1911. </sql-statement>
  1912. -stdin-:<main>: Fatal: Execution
  1913. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  1914. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1915. ^
  1916. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{}"
  1917. INSERT INTO arraggtest (f1, f2, f3) VALUES
  1918. ^
  1919. <sql-statement>
  1920. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1921. </sql-statement>
  1922. -stdin-:<main>: Error: Type annotation
  1923. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  1924. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1925. ^
  1926. -stdin-:<main>:1:1: Error: Duplicated member: max
  1927. SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
  1928. ^
  1929. <sql-statement>
  1930. -- A few simple tests for arrays of composite types
  1931. create type comptype as (f1 int, f2 text);
  1932. </sql-statement>
  1933. -stdin-:<main>: Error: Parse Sql
  1934. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 314
  1935. -- A few simple tests for arrays of composite types
  1936. ^
  1937. <sql-statement>
  1938. create table comptable (c1 comptype, c2 comptype[]);
  1939. </sql-statement>
  1940. <sql-statement>
  1941. -- XXX would like to not have to specify row() construct types here ...
  1942. insert into comptable
  1943. values (row(1,'foo'), array[row(2,'bar')::comptype, row(3,'baz')::comptype]);
  1944. </sql-statement>
  1945. -stdin-:<main>: Error: Parse Sql
  1946. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 138
  1947. -- XXX would like to not have to specify row() construct types here ...
  1948. ^
  1949. <sql-statement>
  1950. -- check that implicitly named array type _comptype isn't a problem
  1951. create type _comptype as enum('fooey');
  1952. </sql-statement>
  1953. -stdin-:<main>: Error: Parse Sql
  1954. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 315
  1955. -- check that implicitly named array type _comptype isn't a problem
  1956. ^
  1957. <sql-statement>
  1958. select * from comptable;
  1959. </sql-statement>
  1960. -stdin-:<main>: Fatal: Table metadata loading
  1961. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.comptable
  1962. <sql-statement>
  1963. select c2[2].f2 from comptable;
  1964. </sql-statement>
  1965. -stdin-:<main>: Error: Parse Sql
  1966. -stdin-:<main>:1:1: Error: alternative is not implemented yet : 360
  1967. select c2[2].f2 from comptable;
  1968. ^
  1969. <sql-statement>
  1970. drop type _comptype;
  1971. </sql-statement>
  1972. -stdin-:<main>: Error: Parse Sql
  1973. -stdin-:<main>:1:1: Error: DropStmt: alternative is not implemented yet : 373
  1974. drop type _comptype;
  1975. ^
  1976. <sql-statement>
  1977. drop table comptable;
  1978. </sql-statement>
  1979. <sql-statement>
  1980. drop type comptype;
  1981. </sql-statement>
  1982. -stdin-:<main>: Error: Parse Sql
  1983. -stdin-:<main>:1:1: Error: DropStmt: alternative is not implemented yet : 373
  1984. drop type comptype;
  1985. ^
  1986. <sql-statement>
  1987. create or replace function unnest1(anyarray)
  1988. returns setof anyelement as $$
  1989. select $1[s] from generate_subscripts($1,1) g(s);
  1990. $$ language sql immutable;
  1991. </sql-statement>
  1992. -stdin-:<main>: Error: Parse Sql
  1993. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 261
  1994. create or replace function unnest1(anyarray)
  1995. ^
  1996. <sql-statement>
  1997. create or replace function unnest2(anyarray)
  1998. returns setof anyelement as $$
  1999. select $1[s1][s2] from generate_subscripts($1,1) g1(s1),
  2000. generate_subscripts($1,2) g2(s2);
  2001. $$ language sql immutable;
  2002. </sql-statement>
  2003. -stdin-:<main>: Error: Parse Sql
  2004. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 261
  2005. create or replace function unnest2(anyarray)
  2006. ^
  2007. <sql-statement>
  2008. select * from unnest1(array[1,2,3]);
  2009. </sql-statement>
  2010. -stdin-:<main>: Error: Type annotation
  2011. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  2012. select * from unnest1(array[1,2,3]);
  2013. ^
  2014. -stdin-:<main>:1:15: Error: At function: PgCall
  2015. select * from unnest1(array[1,2,3]);
  2016. ^
  2017. -stdin-:<main>:1:15: Error: No such proc: unnest1
  2018. select * from unnest1(array[1,2,3]);
  2019. ^
  2020. <sql-statement>
  2021. select * from unnest2(array[[1,2,3],[4,5,6]]);
  2022. </sql-statement>
  2023. -stdin-:<main>: Error: Type annotation
  2024. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  2025. select * from unnest2(array[[1,2,3],[4,5,6]]);
  2026. ^
  2027. -stdin-:<main>:1:15: Error: At function: PgCall
  2028. select * from unnest2(array[[1,2,3],[4,5,6]]);
  2029. ^
  2030. -stdin-:<main>:1:15: Error: No such proc: unnest2
  2031. select * from unnest2(array[[1,2,3],[4,5,6]]);
  2032. ^
  2033. <sql-statement>
  2034. drop function unnest1(anyarray);
  2035. </sql-statement>
  2036. -stdin-:<main>: Error: Parse Sql
  2037. -stdin-:<main>:1:1: Error: DropStmt: alternative is not implemented yet : 386
  2038. drop function unnest1(anyarray);
  2039. ^
  2040. <sql-statement>
  2041. drop function unnest2(anyarray);
  2042. </sql-statement>
  2043. -stdin-:<main>: Error: Parse Sql
  2044. -stdin-:<main>:1:1: Error: DropStmt: alternative is not implemented yet : 386
  2045. drop function unnest2(anyarray);
  2046. ^
  2047. <sql-statement>
  2048. select array_fill(null::integer, array[3,3],array[2,2]);
  2049. </sql-statement>
  2050. -stdin-:<main>: Error: Type annotation
  2051. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2052. select array_fill(null::integer, array[3,3],array[2,2]);
  2053. ^
  2054. -stdin-:<main>:1:8: Error: At function: PgCall
  2055. select array_fill(null::integer, array[3,3],array[2,2]);
  2056. ^
  2057. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4,_int4)
  2058. select array_fill(null::integer, array[3,3],array[2,2]);
  2059. ^
  2060. <sql-statement>
  2061. select array_fill(null::integer, array[3,3]);
  2062. </sql-statement>
  2063. -stdin-:<main>: Error: Type annotation
  2064. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2065. select array_fill(null::integer, array[3,3]);
  2066. ^
  2067. -stdin-:<main>:1:8: Error: At function: PgCall
  2068. select array_fill(null::integer, array[3,3]);
  2069. ^
  2070. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4)
  2071. select array_fill(null::integer, array[3,3]);
  2072. ^
  2073. <sql-statement>
  2074. select array_fill(null::text, array[3,3],array[2,2]);
  2075. </sql-statement>
  2076. -stdin-:<main>: Error: Type annotation
  2077. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2078. select array_fill(null::text, array[3,3],array[2,2]);
  2079. ^
  2080. -stdin-:<main>:1:8: Error: At function: PgCall
  2081. select array_fill(null::text, array[3,3],array[2,2]);
  2082. ^
  2083. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (text,_int4,_int4)
  2084. select array_fill(null::text, array[3,3],array[2,2]);
  2085. ^
  2086. <sql-statement>
  2087. select array_fill(null::text, array[3,3]);
  2088. </sql-statement>
  2089. -stdin-:<main>: Error: Type annotation
  2090. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2091. select array_fill(null::text, array[3,3]);
  2092. ^
  2093. -stdin-:<main>:1:8: Error: At function: PgCall
  2094. select array_fill(null::text, array[3,3]);
  2095. ^
  2096. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (text,_int4)
  2097. select array_fill(null::text, array[3,3]);
  2098. ^
  2099. <sql-statement>
  2100. select array_fill(7, array[3,3],array[2,2]);
  2101. </sql-statement>
  2102. -stdin-:<main>: Error: Type annotation
  2103. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2104. select array_fill(7, array[3,3],array[2,2]);
  2105. ^
  2106. -stdin-:<main>:1:8: Error: At function: PgCall
  2107. select array_fill(7, array[3,3],array[2,2]);
  2108. ^
  2109. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4,_int4)
  2110. select array_fill(7, array[3,3],array[2,2]);
  2111. ^
  2112. <sql-statement>
  2113. select array_fill(7, array[3,3]);
  2114. </sql-statement>
  2115. -stdin-:<main>: Error: Type annotation
  2116. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2117. select array_fill(7, array[3,3]);
  2118. ^
  2119. -stdin-:<main>:1:8: Error: At function: PgCall
  2120. select array_fill(7, array[3,3]);
  2121. ^
  2122. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4)
  2123. select array_fill(7, array[3,3]);
  2124. ^
  2125. <sql-statement>
  2126. select array_fill('juhu'::text, array[3,3],array[2,2]);
  2127. </sql-statement>
  2128. -stdin-:<main>: Error: Type annotation
  2129. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2130. select array_fill('juhu'::text, array[3,3],array[2,2]);
  2131. ^
  2132. -stdin-:<main>:1:8: Error: At function: PgCall
  2133. select array_fill('juhu'::text, array[3,3],array[2,2]);
  2134. ^
  2135. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (text,_int4,_int4)
  2136. select array_fill('juhu'::text, array[3,3],array[2,2]);
  2137. ^
  2138. <sql-statement>
  2139. select array_fill('juhu'::text, array[3,3]);
  2140. </sql-statement>
  2141. -stdin-:<main>: Error: Type annotation
  2142. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2143. select array_fill('juhu'::text, array[3,3]);
  2144. ^
  2145. -stdin-:<main>:1:8: Error: At function: PgCall
  2146. select array_fill('juhu'::text, array[3,3]);
  2147. ^
  2148. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (text,_int4)
  2149. select array_fill('juhu'::text, array[3,3]);
  2150. ^
  2151. <sql-statement>
  2152. select a, a = '{}' as is_eq, array_dims(a)
  2153. from (select array_fill(42, array[0]) as a) ss;
  2154. </sql-statement>
  2155. -stdin-:<main>: Error: Type annotation
  2156. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2157. select a, a = '{}' as is_eq, array_dims(a)
  2158. ^
  2159. -stdin-:<main>:2:16: Error: At function: PgCall
  2160. from (select array_fill(42, array[0]) as a) ss;
  2161. ^
  2162. -stdin-:<main>:2:16: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4)
  2163. from (select array_fill(42, array[0]) as a) ss;
  2164. ^
  2165. <sql-statement>
  2166. select a, a = '{}' as is_eq, array_dims(a)
  2167. from (select array_fill(42, '{}') as a) ss;
  2168. </sql-statement>
  2169. -stdin-:<main>: Error: Type annotation
  2170. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2171. select a, a = '{}' as is_eq, array_dims(a)
  2172. ^
  2173. -stdin-:<main>:2:16: Error: At function: PgCall
  2174. from (select array_fill(42, '{}') as a) ss;
  2175. ^
  2176. -stdin-:<main>:2:16: Error: Unable to find an overload for proc array_fill with given argument types: (int4,unknown)
  2177. from (select array_fill(42, '{}') as a) ss;
  2178. ^
  2179. <sql-statement>
  2180. select a, a = '{}' as is_eq, array_dims(a)
  2181. from (select array_fill(42, '{}', '{}') as a) ss;
  2182. </sql-statement>
  2183. -stdin-:<main>: Error: Type annotation
  2184. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2185. select a, a = '{}' as is_eq, array_dims(a)
  2186. ^
  2187. -stdin-:<main>:2:16: Error: At function: PgCall
  2188. from (select array_fill(42, '{}', '{}') as a) ss;
  2189. ^
  2190. -stdin-:<main>:2:16: Error: Unable to find an overload for proc array_fill with given argument types: (int4,unknown,unknown)
  2191. from (select array_fill(42, '{}', '{}') as a) ss;
  2192. ^
  2193. <sql-statement>
  2194. -- raise exception
  2195. select array_fill(1, null, array[2,2]);
  2196. </sql-statement>
  2197. -stdin-:<main>: Error: Type annotation
  2198. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2199. -- raise exception
  2200. ^
  2201. -stdin-:<main>:2:8: Error: At function: PgCall
  2202. select array_fill(1, null, array[2,2]);
  2203. ^
  2204. -stdin-:<main>:2:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,unknown,_int4)
  2205. select array_fill(1, null, array[2,2]);
  2206. ^
  2207. <sql-statement>
  2208. select array_fill(1, array[2,2], null);
  2209. </sql-statement>
  2210. -stdin-:<main>: Error: Type annotation
  2211. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2212. select array_fill(1, array[2,2], null);
  2213. ^
  2214. -stdin-:<main>:1:8: Error: At function: PgCall
  2215. select array_fill(1, array[2,2], null);
  2216. ^
  2217. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4,unknown)
  2218. select array_fill(1, array[2,2], null);
  2219. ^
  2220. <sql-statement>
  2221. select array_fill(1, array[2,2], '{}');
  2222. </sql-statement>
  2223. -stdin-:<main>: Error: Type annotation
  2224. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2225. select array_fill(1, array[2,2], '{}');
  2226. ^
  2227. -stdin-:<main>:1:8: Error: At function: PgCall
  2228. select array_fill(1, array[2,2], '{}');
  2229. ^
  2230. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4,unknown)
  2231. select array_fill(1, array[2,2], '{}');
  2232. ^
  2233. <sql-statement>
  2234. select array_fill(1, array[3,3], array[1,1,1]);
  2235. </sql-statement>
  2236. -stdin-:<main>: Error: Type annotation
  2237. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2238. select array_fill(1, array[3,3], array[1,1,1]);
  2239. ^
  2240. -stdin-:<main>:1:8: Error: At function: PgCall
  2241. select array_fill(1, array[3,3], array[1,1,1]);
  2242. ^
  2243. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4,_int4)
  2244. select array_fill(1, array[3,3], array[1,1,1]);
  2245. ^
  2246. <sql-statement>
  2247. select array_fill(1, array[1,2,null]);
  2248. </sql-statement>
  2249. -stdin-:<main>: Error: Type annotation
  2250. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2251. select array_fill(1, array[1,2,null]);
  2252. ^
  2253. -stdin-:<main>:1:8: Error: At function: PgCall
  2254. select array_fill(1, array[1,2,null]);
  2255. ^
  2256. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4)
  2257. select array_fill(1, array[1,2,null]);
  2258. ^
  2259. <sql-statement>
  2260. select array_fill(1, array[[1,2],[3,4]]);
  2261. </sql-statement>
  2262. -stdin-:<main>: Error: Type annotation
  2263. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2264. select array_fill(1, array[[1,2],[3,4]]);
  2265. ^
  2266. -stdin-:<main>:1:8: Error: At function: PgCall
  2267. select array_fill(1, array[[1,2],[3,4]]);
  2268. ^
  2269. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_fill with given argument types: (int4,_int4)
  2270. select array_fill(1, array[[1,2],[3,4]]);
  2271. ^
  2272. <sql-statement>
  2273. select string_to_array('1|2|3', '|');
  2274. </sql-statement>
  2275. <sql-statement>
  2276. select string_to_array('1|2|3|', '|');
  2277. </sql-statement>
  2278. <sql-statement>
  2279. select string_to_array('1||2|3||', '||');
  2280. </sql-statement>
  2281. <sql-statement>
  2282. select string_to_array('1|2|3', '');
  2283. </sql-statement>
  2284. <sql-statement>
  2285. select string_to_array('', '|');
  2286. </sql-statement>
  2287. <sql-statement>
  2288. select string_to_array('1|2|3', NULL);
  2289. </sql-statement>
  2290. <sql-statement>
  2291. select string_to_array(NULL, '|') IS NULL;
  2292. </sql-statement>
  2293. <sql-statement>
  2294. select string_to_array('abc', '');
  2295. </sql-statement>
  2296. <sql-statement>
  2297. select string_to_array('abc', '', 'abc');
  2298. </sql-statement>
  2299. <sql-statement>
  2300. select string_to_array('abc', ',');
  2301. </sql-statement>
  2302. <sql-statement>
  2303. select string_to_array('abc', ',', 'abc');
  2304. </sql-statement>
  2305. <sql-statement>
  2306. select string_to_array('1,2,3,4,,6', ',');
  2307. </sql-statement>
  2308. <sql-statement>
  2309. select string_to_array('1,2,3,4,,6', ',', '');
  2310. </sql-statement>
  2311. <sql-statement>
  2312. select string_to_array('1,2,3,4,*,6', ',', '*');
  2313. </sql-statement>
  2314. <sql-statement>
  2315. select v, v is null as "is null" from string_to_table('1|2|3', '|') g(v);
  2316. </sql-statement>
  2317. <sql-statement>
  2318. select v, v is null as "is null" from string_to_table('1|2|3|', '|') g(v);
  2319. </sql-statement>
  2320. <sql-statement>
  2321. select v, v is null as "is null" from string_to_table('1||2|3||', '||') g(v);
  2322. </sql-statement>
  2323. <sql-statement>
  2324. select v, v is null as "is null" from string_to_table('1|2|3', '') g(v);
  2325. </sql-statement>
  2326. <sql-statement>
  2327. select v, v is null as "is null" from string_to_table('', '|') g(v);
  2328. </sql-statement>
  2329. <sql-statement>
  2330. select v, v is null as "is null" from string_to_table('1|2|3', NULL) g(v);
  2331. </sql-statement>
  2332. <sql-statement>
  2333. select v, v is null as "is null" from string_to_table(NULL, '|') g(v);
  2334. </sql-statement>
  2335. <sql-statement>
  2336. select v, v is null as "is null" from string_to_table('abc', '') g(v);
  2337. </sql-statement>
  2338. <sql-statement>
  2339. select v, v is null as "is null" from string_to_table('abc', '', 'abc') g(v);
  2340. </sql-statement>
  2341. <sql-statement>
  2342. select v, v is null as "is null" from string_to_table('abc', ',') g(v);
  2343. </sql-statement>
  2344. <sql-statement>
  2345. select v, v is null as "is null" from string_to_table('abc', ',', 'abc') g(v);
  2346. </sql-statement>
  2347. <sql-statement>
  2348. select v, v is null as "is null" from string_to_table('1,2,3,4,,6', ',') g(v);
  2349. </sql-statement>
  2350. <sql-statement>
  2351. select v, v is null as "is null" from string_to_table('1,2,3,4,,6', ',', '') g(v);
  2352. </sql-statement>
  2353. <sql-statement>
  2354. select v, v is null as "is null" from string_to_table('1,2,3,4,*,6', ',', '*') g(v);
  2355. </sql-statement>
  2356. <sql-statement>
  2357. select array_to_string(NULL::int4[], ',') IS NULL;
  2358. </sql-statement>
  2359. <sql-statement>
  2360. select array_to_string('{}'::int4[], ',');
  2361. </sql-statement>
  2362. <sql-statement>
  2363. select array_to_string(array[1,2,3,4,NULL,6], ',');
  2364. </sql-statement>
  2365. <sql-statement>
  2366. select array_to_string(array[1,2,3,4,NULL,6], ',', '*');
  2367. </sql-statement>
  2368. <sql-statement>
  2369. select array_to_string(array[1,2,3,4,NULL,6], NULL);
  2370. </sql-statement>
  2371. <sql-statement>
  2372. select array_to_string(array[1,2,3,4,NULL,6], ',', NULL);
  2373. </sql-statement>
  2374. <sql-statement>
  2375. select array_to_string(string_to_array('1|2|3', '|'), '|');
  2376. </sql-statement>
  2377. <sql-statement>
  2378. select array_length(array[1,2,3], 1);
  2379. </sql-statement>
  2380. <sql-statement>
  2381. select array_length(array[[1,2,3], [4,5,6]], 0);
  2382. </sql-statement>
  2383. <sql-statement>
  2384. select array_length(array[[1,2,3], [4,5,6]], 1);
  2385. </sql-statement>
  2386. <sql-statement>
  2387. select array_length(array[[1,2,3], [4,5,6]], 2);
  2388. </sql-statement>
  2389. <sql-statement>
  2390. select array_length(array[[1,2,3], [4,5,6]], 3);
  2391. </sql-statement>
  2392. <sql-statement>
  2393. select cardinality(NULL::int[]);
  2394. </sql-statement>
  2395. <sql-statement>
  2396. select cardinality('{}'::int[]);
  2397. </sql-statement>
  2398. <sql-statement>
  2399. select cardinality(array[1,2,3]);
  2400. </sql-statement>
  2401. <sql-statement>
  2402. select cardinality('[2:4]={5,6,7}'::int[]);
  2403. </sql-statement>
  2404. <sql-statement>
  2405. select cardinality('{{1,2}}'::int[]);
  2406. </sql-statement>
  2407. <sql-statement>
  2408. select cardinality('{{1,2},{3,4},{5,6}}'::int[]);
  2409. </sql-statement>
  2410. <sql-statement>
  2411. select cardinality('{{{1,9},{5,6}},{{2,3},{3,4}}}'::int[]);
  2412. </sql-statement>
  2413. <sql-statement>
  2414. -- array_agg(anynonarray)
  2415. select array_agg(unique1) from (select unique1 from tenk1 where unique1 < 15 order by unique1) ss;
  2416. </sql-statement>
  2417. <sql-statement>
  2418. select array_agg(ten) from (select ten from tenk1 where unique1 < 15 order by unique1) ss;
  2419. </sql-statement>
  2420. <sql-statement>
  2421. select array_agg(nullif(ten, 4)) from (select ten from tenk1 where unique1 < 15 order by unique1) ss;
  2422. </sql-statement>
  2423. <sql-statement>
  2424. select array_agg(unique1) from tenk1 where unique1 < -15;
  2425. </sql-statement>
  2426. <sql-statement>
  2427. -- array_agg(anyarray)
  2428. select array_agg(ar)
  2429. from (values ('{1,2}'::int[]), ('{3,4}'::int[])) v(ar);
  2430. </sql-statement>
  2431. <sql-statement>
  2432. select array_agg(distinct ar order by ar desc)
  2433. from (select array[i / 2] from generate_series(1,10) a(i)) b(ar);
  2434. </sql-statement>
  2435. -stdin-:<main>: Error: Parse Sql
  2436. -stdin-:<main>:1:8: Error: FuncCall: unsupported agg_order
  2437. select array_agg(distinct ar order by ar desc)
  2438. ^
  2439. <sql-statement>
  2440. select array_agg(ar)
  2441. from (select array_agg(array[i, i+1, i-1])
  2442. from generate_series(1,2) a(i)) b(ar);
  2443. </sql-statement>
  2444. <sql-statement>
  2445. select array_agg(array[i+1.2, i+1.3, i+1.4]) from generate_series(1,3) g(i);
  2446. </sql-statement>
  2447. <sql-statement>
  2448. select array_agg(array['Hello', i::text]) from generate_series(9,11) g(i);
  2449. </sql-statement>
  2450. <sql-statement>
  2451. select array_agg(array[i, nullif(i, 3), i+1]) from generate_series(1,4) g(i);
  2452. </sql-statement>
  2453. <sql-statement>
  2454. -- errors
  2455. select array_agg('{}'::int[]) from generate_series(1,2);
  2456. </sql-statement>
  2457. -stdin-:<main>: Fatal: Execution
  2458. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  2459. -- errors
  2460. ^
  2461. -stdin-:<main>:1:1: Fatal: ERROR: cannot accumulate empty arrays
  2462. -- errors
  2463. ^
  2464. <sql-statement>
  2465. select array_agg(null::int[]) from generate_series(1,2);
  2466. </sql-statement>
  2467. -stdin-:<main>: Fatal: Execution
  2468. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  2469. select array_agg(null::int[]) from generate_series(1,2);
  2470. ^
  2471. -stdin-:<main>:1:1: Fatal: ERROR: cannot accumulate null arrays
  2472. select array_agg(null::int[]) from generate_series(1,2);
  2473. ^
  2474. <sql-statement>
  2475. select array_agg(ar)
  2476. from (values ('{1,2}'::int[]), ('{3}'::int[])) v(ar);
  2477. </sql-statement>
  2478. -stdin-:<main>: Fatal: Execution
  2479. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  2480. select array_agg(ar)
  2481. ^
  2482. -stdin-:<main>:1:1: Fatal: ERROR: cannot accumulate arrays of different dimensionality
  2483. select array_agg(ar)
  2484. ^
  2485. <sql-statement>
  2486. select unnest(array[1,2,3]);
  2487. </sql-statement>
  2488. -stdin-:<main>: Error: Parse Sql
  2489. -stdin-:<main>:1:8: Error: Generator functions are not allowed in: SELECT
  2490. select unnest(array[1,2,3]);
  2491. ^
  2492. <sql-statement>
  2493. select * from unnest(array[1,2,3]);
  2494. </sql-statement>
  2495. <sql-statement>
  2496. select unnest(array[1,2,3,4.5]::float8[]);
  2497. </sql-statement>
  2498. -stdin-:<main>: Error: Parse Sql
  2499. -stdin-:<main>:1:8: Error: Generator functions are not allowed in: SELECT
  2500. select unnest(array[1,2,3,4.5]::float8[]);
  2501. ^
  2502. <sql-statement>
  2503. select unnest(array[1,2,3,4.5]::numeric[]);
  2504. </sql-statement>
  2505. -stdin-:<main>: Error: Parse Sql
  2506. -stdin-:<main>:1:8: Error: Generator functions are not allowed in: SELECT
  2507. select unnest(array[1,2,3,4.5]::numeric[]);
  2508. ^
  2509. <sql-statement>
  2510. select unnest(array[1,2,3,null,4,null,null,5,6]);
  2511. </sql-statement>
  2512. -stdin-:<main>: Error: Parse Sql
  2513. -stdin-:<main>:1:8: Error: Generator functions are not allowed in: SELECT
  2514. select unnest(array[1,2,3,null,4,null,null,5,6]);
  2515. ^
  2516. <sql-statement>
  2517. select unnest(array[1,2,3,null,4,null,null,5,6]::text[]);
  2518. </sql-statement>
  2519. -stdin-:<main>: Error: Parse Sql
  2520. -stdin-:<main>:1:8: Error: Generator functions are not allowed in: SELECT
  2521. select unnest(array[1,2,3,null,4,null,null,5,6]::text[]);
  2522. ^
  2523. <sql-statement>
  2524. select abs(unnest(array[1,2,null,-3]));
  2525. </sql-statement>
  2526. -stdin-:<main>: Error: Parse Sql
  2527. -stdin-:<main>:1:12: Error: Generator functions are not allowed in: SELECT
  2528. select abs(unnest(array[1,2,null,-3]));
  2529. ^
  2530. <sql-statement>
  2531. select array_remove(array[1,2,2,3], 2);
  2532. </sql-statement>
  2533. -stdin-:<main>: Error: Type annotation
  2534. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2535. select array_remove(array[1,2,2,3], 2);
  2536. ^
  2537. -stdin-:<main>:1:8: Error: At function: PgCall
  2538. select array_remove(array[1,2,2,3], 2);
  2539. ^
  2540. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_remove with given argument types: (_int4,int4)
  2541. select array_remove(array[1,2,2,3], 2);
  2542. ^
  2543. <sql-statement>
  2544. select array_remove(array[1,2,2,3], 5);
  2545. </sql-statement>
  2546. -stdin-:<main>: Error: Type annotation
  2547. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2548. select array_remove(array[1,2,2,3], 5);
  2549. ^
  2550. -stdin-:<main>:1:8: Error: At function: PgCall
  2551. select array_remove(array[1,2,2,3], 5);
  2552. ^
  2553. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_remove with given argument types: (_int4,int4)
  2554. select array_remove(array[1,2,2,3], 5);
  2555. ^
  2556. <sql-statement>
  2557. select array_remove(array[1,NULL,NULL,3], NULL);
  2558. </sql-statement>
  2559. -stdin-:<main>: Error: Type annotation
  2560. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2561. select array_remove(array[1,NULL,NULL,3], NULL);
  2562. ^
  2563. -stdin-:<main>:1:8: Error: At function: PgCall
  2564. select array_remove(array[1,NULL,NULL,3], NULL);
  2565. ^
  2566. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_remove with given argument types: (_int4,unknown)
  2567. select array_remove(array[1,NULL,NULL,3], NULL);
  2568. ^
  2569. <sql-statement>
  2570. select array_remove(array['A','CC','D','C','RR'], 'RR');
  2571. </sql-statement>
  2572. -stdin-:<main>: Error: Type annotation
  2573. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2574. select array_remove(array['A','CC','D','C','RR'], 'RR');
  2575. ^
  2576. -stdin-:<main>:1:8: Error: At function: PgCall
  2577. select array_remove(array['A','CC','D','C','RR'], 'RR');
  2578. ^
  2579. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_remove with given argument types: (_text,unknown)
  2580. select array_remove(array['A','CC','D','C','RR'], 'RR');
  2581. ^
  2582. <sql-statement>
  2583. select array_remove(array[1.0, 2.1, 3.3], 1);
  2584. </sql-statement>
  2585. -stdin-:<main>: Error: Type annotation
  2586. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2587. select array_remove(array[1.0, 2.1, 3.3], 1);
  2588. ^
  2589. -stdin-:<main>:1:8: Error: At function: PgCall
  2590. select array_remove(array[1.0, 2.1, 3.3], 1);
  2591. ^
  2592. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_remove with given argument types: (_numeric,int4)
  2593. select array_remove(array[1.0, 2.1, 3.3], 1);
  2594. ^
  2595. <sql-statement>
  2596. select array_remove('{{1,2,2},{1,4,3}}', 2); -- not allowed
  2597. </sql-statement>
  2598. -stdin-:<main>: Error: Type annotation
  2599. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2600. select array_remove('{{1,2,2},{1,4,3}}', 2); -- not allowed
  2601. ^
  2602. -stdin-:<main>:1:8: Error: At function: PgCall
  2603. select array_remove('{{1,2,2},{1,4,3}}', 2); -- not allowed
  2604. ^
  2605. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_remove with given argument types: (unknown,int4)
  2606. select array_remove('{{1,2,2},{1,4,3}}', 2); -- not allowed
  2607. ^
  2608. <sql-statement>
  2609. select array_remove(array['X','X','X'], 'X') = '{}';
  2610. </sql-statement>
  2611. -stdin-:<main>: Error: Type annotation
  2612. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2613. select array_remove(array['X','X','X'], 'X') = '{}';
  2614. ^
  2615. -stdin-:<main>:1:46: Error: At function: PgOp
  2616. select array_remove(array['X','X','X'], 'X') = '{}';
  2617. ^
  2618. -stdin-:<main>:1:8: Error: At function: PgCall
  2619. select array_remove(array['X','X','X'], 'X') = '{}';
  2620. ^
  2621. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_remove with given argument types: (_text,unknown)
  2622. select array_remove(array['X','X','X'], 'X') = '{}';
  2623. ^
  2624. <sql-statement>
  2625. select array_replace(array[1,2,5,4],5,3);
  2626. </sql-statement>
  2627. -stdin-:<main>: Error: Type annotation
  2628. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2629. select array_replace(array[1,2,5,4],5,3);
  2630. ^
  2631. -stdin-:<main>:1:8: Error: At function: PgCall
  2632. select array_replace(array[1,2,5,4],5,3);
  2633. ^
  2634. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_replace with given argument types: (_int4,int4,int4)
  2635. select array_replace(array[1,2,5,4],5,3);
  2636. ^
  2637. <sql-statement>
  2638. select array_replace(array[1,2,5,4],5,NULL);
  2639. </sql-statement>
  2640. -stdin-:<main>: Error: Type annotation
  2641. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2642. select array_replace(array[1,2,5,4],5,NULL);
  2643. ^
  2644. -stdin-:<main>:1:8: Error: At function: PgCall
  2645. select array_replace(array[1,2,5,4],5,NULL);
  2646. ^
  2647. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_replace with given argument types: (_int4,int4,unknown)
  2648. select array_replace(array[1,2,5,4],5,NULL);
  2649. ^
  2650. <sql-statement>
  2651. select array_replace(array[1,2,NULL,4,NULL],NULL,5);
  2652. </sql-statement>
  2653. -stdin-:<main>: Error: Type annotation
  2654. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2655. select array_replace(array[1,2,NULL,4,NULL],NULL,5);
  2656. ^
  2657. -stdin-:<main>:1:8: Error: At function: PgCall
  2658. select array_replace(array[1,2,NULL,4,NULL],NULL,5);
  2659. ^
  2660. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_replace with given argument types: (_int4,unknown,int4)
  2661. select array_replace(array[1,2,NULL,4,NULL],NULL,5);
  2662. ^
  2663. <sql-statement>
  2664. select array_replace(array['A','B','DD','B'],'B','CC');
  2665. </sql-statement>
  2666. -stdin-:<main>: Error: Type annotation
  2667. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2668. select array_replace(array['A','B','DD','B'],'B','CC');
  2669. ^
  2670. -stdin-:<main>:1:8: Error: At function: PgCall
  2671. select array_replace(array['A','B','DD','B'],'B','CC');
  2672. ^
  2673. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_replace with given argument types: (_text,unknown,unknown)
  2674. select array_replace(array['A','B','DD','B'],'B','CC');
  2675. ^
  2676. <sql-statement>
  2677. select array_replace(array[1,NULL,3],NULL,NULL);
  2678. </sql-statement>
  2679. -stdin-:<main>: Error: Type annotation
  2680. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2681. select array_replace(array[1,NULL,3],NULL,NULL);
  2682. ^
  2683. -stdin-:<main>:1:8: Error: At function: PgCall
  2684. select array_replace(array[1,NULL,3],NULL,NULL);
  2685. ^
  2686. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_replace with given argument types: (_int4,unknown,unknown)
  2687. select array_replace(array[1,NULL,3],NULL,NULL);
  2688. ^
  2689. <sql-statement>
  2690. select array_replace(array['AB',NULL,'CDE'],NULL,'12');
  2691. </sql-statement>
  2692. -stdin-:<main>: Error: Type annotation
  2693. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2694. select array_replace(array['AB',NULL,'CDE'],NULL,'12');
  2695. ^
  2696. -stdin-:<main>:1:8: Error: At function: PgCall
  2697. select array_replace(array['AB',NULL,'CDE'],NULL,'12');
  2698. ^
  2699. -stdin-:<main>:1:8: Error: Unable to find an overload for proc array_replace with given argument types: (_text,unknown,unknown)
  2700. select array_replace(array['AB',NULL,'CDE'],NULL,'12');
  2701. ^
  2702. <sql-statement>
  2703. -- array(select array-value ...)
  2704. select array(select array[i,i/2] from generate_series(1,5) i);
  2705. </sql-statement>
  2706. <sql-statement>
  2707. select array(select array['Hello', i::text] from generate_series(9,11) i);
  2708. </sql-statement>
  2709. <sql-statement>
  2710. -- Insert/update on a column that is array of composite
  2711. create temp table t1 (f1 int8_tbl[]);
  2712. </sql-statement>
  2713. <sql-statement>
  2714. insert into t1 (f1[5].q1) values(42);
  2715. </sql-statement>
  2716. -stdin-:<main>: Fatal: Table metadata loading
  2717. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.t1
  2718. <sql-statement>
  2719. select * from t1;
  2720. </sql-statement>
  2721. -stdin-:<main>: Fatal: Table metadata loading
  2722. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.t1
  2723. <sql-statement>
  2724. update t1 set f1[5].q2 = 43;
  2725. </sql-statement>
  2726. -stdin-:<main>: Fatal: Pre type annotation
  2727. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' 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'.
  2728. <sql-statement>
  2729. select * from t1;
  2730. </sql-statement>
  2731. -stdin-:<main>: Fatal: Table metadata loading
  2732. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.t1
  2733. <sql-statement>
  2734. -- Check that arrays of composites are safely detoasted when needed
  2735. create temp table src (f1 text);
  2736. </sql-statement>
  2737. <sql-statement>
  2738. insert into src
  2739. select string_agg(random()::text,'') from generate_series(1,10000);
  2740. </sql-statement>
  2741. <sql-statement>
  2742. create type textandtext as (c1 text, c2 text);
  2743. </sql-statement>
  2744. -stdin-:<main>: Error: Parse Sql
  2745. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 314
  2746. create type textandtext as (c1 text, c2 text);
  2747. ^
  2748. <sql-statement>
  2749. create temp table dest (f1 textandtext[]);
  2750. </sql-statement>
  2751. <sql-statement>
  2752. insert into dest select array[row(f1,f1)::textandtext] from src;
  2753. </sql-statement>
  2754. -stdin-:<main>: Error: Parse Sql
  2755. -stdin-:<main>:1:43: Error: alternative is not implemented yet : 138
  2756. insert into dest select array[row(f1,f1)::textandtext] from src;
  2757. ^
  2758. <sql-statement>
  2759. select length(md5((f1[1]).c2)) from dest;
  2760. </sql-statement>
  2761. -stdin-:<main>: Error: Parse Sql
  2762. -stdin-:<main>:1:15: Error: alternative is not implemented yet : 360
  2763. select length(md5((f1[1]).c2)) from dest;
  2764. ^
  2765. <sql-statement>
  2766. delete from src;
  2767. </sql-statement>
  2768. -stdin-:<main>: Fatal: Pre type annotation
  2769. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_delete' 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'.
  2770. <sql-statement>
  2771. select length(md5((f1[1]).c2)) from dest;
  2772. </sql-statement>
  2773. -stdin-:<main>: Error: Parse Sql
  2774. -stdin-:<main>:1:15: Error: alternative is not implemented yet : 360
  2775. select length(md5((f1[1]).c2)) from dest;
  2776. ^
  2777. <sql-statement>
  2778. truncate table src;
  2779. </sql-statement>
  2780. -stdin-:<main>: Error: Parse Sql
  2781. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 257
  2782. truncate table src;
  2783. ^
  2784. <sql-statement>
  2785. drop table src;
  2786. </sql-statement>
  2787. <sql-statement>
  2788. select length(md5((f1[1]).c2)) from dest;
  2789. </sql-statement>
  2790. -stdin-:<main>: Error: Parse Sql
  2791. -stdin-:<main>:1:15: Error: alternative is not implemented yet : 360
  2792. select length(md5((f1[1]).c2)) from dest;
  2793. ^
  2794. <sql-statement>
  2795. drop table dest;
  2796. </sql-statement>
  2797. <sql-statement>
  2798. drop type textandtext;
  2799. </sql-statement>
  2800. -stdin-:<main>: Error: Parse Sql
  2801. -stdin-:<main>:1:1: Error: DropStmt: alternative is not implemented yet : 373
  2802. drop type textandtext;
  2803. ^
  2804. <sql-statement>
  2805. -- Tests for polymorphic-array form of width_bucket()
  2806. -- this exercises the varwidth and float8 code paths
  2807. SELECT
  2808. op,
  2809. width_bucket(op::numeric, ARRAY[1, 3, 5, 10.0]::numeric[]) AS wb_n1,
  2810. width_bucket(op::numeric, ARRAY[0, 5.5, 9.99]::numeric[]) AS wb_n2,
  2811. width_bucket(op::numeric, ARRAY[-6, -5, 2.0]::numeric[]) AS wb_n3,
  2812. width_bucket(op::float8, ARRAY[1, 3, 5, 10.0]::float8[]) AS wb_f1,
  2813. width_bucket(op::float8, ARRAY[0, 5.5, 9.99]::float8[]) AS wb_f2,
  2814. width_bucket(op::float8, ARRAY[-6, -5, 2.0]::float8[]) AS wb_f3
  2815. FROM (VALUES
  2816. (-5.2),
  2817. (-0.0000000001),
  2818. (0.000000000001),
  2819. (1),
  2820. (1.99999999999999),
  2821. (2),
  2822. (2.00000000000001),
  2823. (3),
  2824. (4),
  2825. (4.5),
  2826. (5),
  2827. (5.5),
  2828. (6),
  2829. (7),
  2830. (8),
  2831. (9),
  2832. (9.99999999999999),
  2833. (10),
  2834. (10.0000000000001)
  2835. ) v(op);
  2836. </sql-statement>
  2837. -stdin-:<main>: Error: Type annotation
  2838. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  2839. -- Tests for polymorphic-array form of width_bucket()
  2840. ^
  2841. -stdin-:<main>:1:1: Error: At function: PgResultItem
  2842. -- Tests for polymorphic-array form of width_bucket()
  2843. ^
  2844. -stdin-:<main>:5:5: Error: At function: PgCall
  2845. width_bucket(op::numeric, ARRAY[1, 3, 5, 10.0]::numeric[]) AS wb_n1,
  2846. ^
  2847. -stdin-:<main>:5:5: Error: Unable to find an overload for proc width_bucket with given argument types: (numeric,_numeric)
  2848. width_bucket(op::numeric, ARRAY[1, 3, 5, 10.0]::numeric[]) AS wb_n1,
  2849. ^
  2850. -stdin-:<main>:1:1: Error: At function: PgResultItem
  2851. -- Tests for polymorphic-array form of width_bucket()
  2852. ^
  2853. -stdin-:<main>:6:5: Error: At function: PgCall
  2854. width_bucket(op::numeric, ARRAY[0, 5.5, 9.99]::numeric[]) AS wb_n2,
  2855. ^
  2856. -stdin-:<main>:6:5: Error: Unable to find an overload for proc width_bucket with given argument types: (numeric,_numeric)
  2857. width_bucket(op::numeric, ARRAY[0, 5.5, 9.99]::numeric[]) AS wb_n2,
  2858. ^
  2859. -stdin-:<main>:1:1: Error: At function: PgResultItem
  2860. -- Tests for polymorphic-array form of width_bucket()
  2861. ^
  2862. -stdin-:<main>:7:5: Error: At function: PgCall
  2863. width_bucket(op::numeric, ARRAY[-6, -5, 2.0]::numeric[]) AS wb_n3,
  2864. ^
  2865. -stdin-:<main>:7:5: Error: Unable to find an overload for proc width_bucket with given argument types: (numeric,_numeric)
  2866. width_bucket(op::numeric, ARRAY[-6, -5, 2.0]::numeric[]) AS wb_n3,
  2867. ^
  2868. -stdin-:<main>:1:1: Error: At function: PgResultItem
  2869. -- Tests for polymorphic-array form of width_bucket()
  2870. ^
  2871. -stdin-:<main>:8:5: Error: At function: PgCall
  2872. width_bucket(op::float8, ARRAY[1, 3, 5, 10.0]::float8[]) AS wb_f1,
  2873. ^
  2874. -stdin-:<main>:8:5: Error: Unable to find an overload for proc width_bucket with given argument types: (float8,_float8)
  2875. width_bucket(op::float8, ARRAY[1, 3, 5, 10.0]::float8[]) AS wb_f1,
  2876. ^
  2877. -stdin-:<main>:1:1: Error: At function: PgResultItem
  2878. -- Tests for polymorphic-array form of width_bucket()
  2879. ^
  2880. -stdin-:<main>:9:5: Error: At function: PgCall
  2881. width_bucket(op::float8, ARRAY[0, 5.5, 9.99]::float8[]) AS wb_f2,
  2882. ^
  2883. -stdin-:<main>:9:5: Error: Unable to find an overload for proc width_bucket with given argument types: (float8,_float8)
  2884. width_bucket(op::float8, ARRAY[0, 5.5, 9.99]::float8[]) AS wb_f2,
  2885. ^
  2886. -stdin-:<main>:1:1: Error: At function: PgResultItem
  2887. -- Tests for polymorphic-array form of width_bucket()
  2888. ^
  2889. -stdin-:<main>:10:5: Error: At function: PgCall
  2890. width_bucket(op::float8, ARRAY[-6, -5, 2.0]::float8[]) AS wb_f3
  2891. ^
  2892. -stdin-:<main>:10:5: Error: Unable to find an overload for proc width_bucket with given argument types: (float8,_float8)
  2893. width_bucket(op::float8, ARRAY[-6, -5, 2.0]::float8[]) AS wb_f3
  2894. ^
  2895. <sql-statement>
  2896. -- ensure float8 path handles NaN properly
  2897. SELECT
  2898. op,
  2899. width_bucket(op, ARRAY[1, 3, 9, 'NaN', 'NaN']::float8[]) AS wb
  2900. FROM (VALUES
  2901. (-5.2::float8),
  2902. (4::float8),
  2903. (77::float8),
  2904. ('NaN'::float8)
  2905. ) v(op);
  2906. </sql-statement>
  2907. -stdin-:<main>: Error: Type annotation
  2908. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2909. -- ensure float8 path handles NaN properly
  2910. ^
  2911. -stdin-:<main>:4:5: Error: At function: PgCall
  2912. width_bucket(op, ARRAY[1, 3, 9, 'NaN', 'NaN']::float8[]) AS wb
  2913. ^
  2914. -stdin-:<main>:4:5: Error: Unable to find an overload for proc width_bucket with given argument types: (float8,_float8)
  2915. width_bucket(op, ARRAY[1, 3, 9, 'NaN', 'NaN']::float8[]) AS wb
  2916. ^
  2917. <sql-statement>
  2918. -- these exercise the generic fixed-width code path
  2919. SELECT
  2920. op,
  2921. width_bucket(op, ARRAY[1, 3, 5, 10]) AS wb_1
  2922. FROM generate_series(0,11) as op;
  2923. </sql-statement>
  2924. -stdin-:<main>: Error: Type annotation
  2925. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2926. -- these exercise the generic fixed-width code path
  2927. ^
  2928. -stdin-:<main>:4:5: Error: At function: PgCall
  2929. width_bucket(op, ARRAY[1, 3, 5, 10]) AS wb_1
  2930. ^
  2931. -stdin-:<main>:4:5: Error: Unable to find an overload for proc width_bucket with given argument types: (int4,_int4)
  2932. width_bucket(op, ARRAY[1, 3, 5, 10]) AS wb_1
  2933. ^
  2934. <sql-statement>
  2935. SELECT width_bucket(now(),
  2936. array['yesterday', 'today', 'tomorrow']::timestamptz[]);
  2937. </sql-statement>
  2938. -stdin-:<main>: Error: Type annotation
  2939. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2940. SELECT width_bucket(now(),
  2941. ^
  2942. -stdin-:<main>:1:8: Error: At function: PgCall
  2943. SELECT width_bucket(now(),
  2944. ^
  2945. -stdin-:<main>:1:8: Error: Unable to find an overload for proc width_bucket with given argument types: (timestamptz,_timestamptz)
  2946. SELECT width_bucket(now(),
  2947. ^
  2948. <sql-statement>
  2949. -- corner cases
  2950. SELECT width_bucket(5, ARRAY[3]);
  2951. </sql-statement>
  2952. -stdin-:<main>: Error: Type annotation
  2953. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2954. -- corner cases
  2955. ^
  2956. -stdin-:<main>:2:8: Error: At function: PgCall
  2957. SELECT width_bucket(5, ARRAY[3]);
  2958. ^
  2959. -stdin-:<main>:2:8: Error: Unable to find an overload for proc width_bucket with given argument types: (int4,_int4)
  2960. SELECT width_bucket(5, ARRAY[3]);
  2961. ^
  2962. <sql-statement>
  2963. SELECT width_bucket(5, '{}');
  2964. </sql-statement>
  2965. -stdin-:<main>: Error: Type annotation
  2966. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2967. SELECT width_bucket(5, '{}');
  2968. ^
  2969. -stdin-:<main>:1:8: Error: At function: PgCall
  2970. SELECT width_bucket(5, '{}');
  2971. ^
  2972. -stdin-:<main>:1:8: Error: Unable to find an overload for proc width_bucket with given argument types: (int4,unknown)
  2973. SELECT width_bucket(5, '{}');
  2974. ^
  2975. <sql-statement>
  2976. -- error cases
  2977. SELECT width_bucket('5'::text, ARRAY[3, 4]::integer[]);
  2978. </sql-statement>
  2979. -stdin-:<main>: Error: Type annotation
  2980. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2981. -- error cases
  2982. ^
  2983. -stdin-:<main>:2:8: Error: At function: PgCall
  2984. SELECT width_bucket('5'::text, ARRAY[3, 4]::integer[]);
  2985. ^
  2986. -stdin-:<main>:2:8: Error: Unable to find an overload for proc width_bucket with given argument types: (text,_int4)
  2987. SELECT width_bucket('5'::text, ARRAY[3, 4]::integer[]);
  2988. ^
  2989. <sql-statement>
  2990. SELECT width_bucket(5, ARRAY[3, 4, NULL]);
  2991. </sql-statement>
  2992. -stdin-:<main>: Error: Type annotation
  2993. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  2994. SELECT width_bucket(5, ARRAY[3, 4, NULL]);
  2995. ^
  2996. -stdin-:<main>:1:8: Error: At function: PgCall
  2997. SELECT width_bucket(5, ARRAY[3, 4, NULL]);
  2998. ^
  2999. -stdin-:<main>:1:8: Error: Unable to find an overload for proc width_bucket with given argument types: (int4,_int4)
  3000. SELECT width_bucket(5, ARRAY[3, 4, NULL]);
  3001. ^
  3002. <sql-statement>
  3003. SELECT width_bucket(5, ARRAY[ARRAY[1, 2], ARRAY[3, 4]]);
  3004. </sql-statement>
  3005. -stdin-:<main>: Error: Type annotation
  3006. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  3007. SELECT width_bucket(5, ARRAY[ARRAY[1, 2], ARRAY[3, 4]]);
  3008. ^
  3009. -stdin-:<main>:1:8: Error: At function: PgCall
  3010. SELECT width_bucket(5, ARRAY[ARRAY[1, 2], ARRAY[3, 4]]);
  3011. ^
  3012. -stdin-:<main>:1:8: Error: Unable to find an overload for proc width_bucket with given argument types: (int4,_int4)
  3013. SELECT width_bucket(5, ARRAY[ARRAY[1, 2], ARRAY[3, 4]]);
  3014. ^
  3015. <sql-statement>
  3016. -- trim_array
  3017. SELECT arr, trim_array(arr, 2)
  3018. FROM
  3019. (VALUES ('{1,2,3,4,5,6}'::bigint[]),
  3020. ('{1,2}'),
  3021. ('[10:16]={1,2,3,4,5,6,7}'),
  3022. ('[-15:-10]={1,2,3,4,5,6}'),
  3023. ('{{1,10},{2,20},{3,30},{4,40}}')) v(arr);
  3024. </sql-statement>
  3025. <sql-statement>
  3026. SELECT trim_array(ARRAY[1, 2, 3], -1); -- fail
  3027. </sql-statement>
  3028. -stdin-:<main>: Fatal: Execution
  3029. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  3030. SELECT trim_array(ARRAY[1, 2, 3], -1); -- fail
  3031. ^
  3032. -stdin-:<main>:1:1: Fatal: ERROR: number of elements to trim must be between 0 and 3
  3033. SELECT trim_array(ARRAY[1, 2, 3], -1); -- fail
  3034. ^
  3035. <sql-statement>
  3036. SELECT trim_array(ARRAY[1, 2, 3], 10); -- fail
  3037. </sql-statement>
  3038. -stdin-:<main>: Fatal: Execution
  3039. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  3040. SELECT trim_array(ARRAY[1, 2, 3], 10); -- fail
  3041. ^
  3042. -stdin-:<main>:1:1: Fatal: ERROR: number of elements to trim must be between 0 and 3
  3043. SELECT trim_array(ARRAY[1, 2, 3], 10); -- fail
  3044. ^
  3045. <sql-statement>
  3046. SELECT trim_array(ARRAY[]::int[], 1); -- fail
  3047. </sql-statement>
  3048. -stdin-:<main>: Error: Type annotation
  3049. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
  3050. SELECT trim_array(ARRAY[]::int[], 1); -- fail
  3051. ^
  3052. -stdin-:<main>:1:8: Error: At function: PgCall
  3053. SELECT trim_array(ARRAY[]::int[], 1); -- fail
  3054. ^
  3055. -stdin-:<main>:1:28: Error: At function: PgCast
  3056. SELECT trim_array(ARRAY[]::int[], 1); -- fail
  3057. ^
  3058. -stdin-:<main>:1:19: Error: At function: PgArray
  3059. SELECT trim_array(ARRAY[]::int[], 1); -- fail
  3060. ^
  3061. -stdin-:<main>:1:19: Error: Expected at least 1 argument(s), but got 0
  3062. SELECT trim_array(ARRAY[]::int[], 1); -- fail
  3063. ^