@@ -431,9 +431,27 @@ CREATE TEMP TABLE arrtest_s (
431431<sql-statement>
432432INSERT INTO arrtest_s VALUES ('{1,2,3,4,5}', '{{1,2,3}, {4,5,6}, {7,8,9}}');
433433</sql-statement>
434+ -stdin-:<main>: Fatal: Execution
435+
436+ -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
437+ INSERT INTO arrtest_s VALUES ('{1,2,3,4,5}', '{{1,2,3}, {4,5,6}, {7,8,9}}');
438+ ^
439+ -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type smallint: "{1,2,3,4,5}"
440+
441+ INSERT INTO arrtest_s VALUES ('{1,2,3,4,5}', '{{1,2,3}, {4,5,6}, {7,8,9}}');
442+ ^
434443<sql-statement>
435444INSERT INTO arrtest_s VALUES ('[0:4]={1,2,3,4,5}', '[0:2][0:2]={{1,2,3}, {4,5,6}, {7,8,9}}');
436445</sql-statement>
446+ -stdin-:<main>: Fatal: Execution
447+
448+ -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
449+ 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}}');
450+ ^
451+ -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type smallint: "[0:4]={1,2,3,4,5}"
452+
453+ 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}}');
454+ ^
437455<sql-statement>
438456SELECT * FROM arrtest_s;
439457</sql-statement>
@@ -589,6 +607,20 @@ CREATE TEMP TABLE arrtest1 (i int[], t text[]);
589607<sql-statement>
590608insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
591609</sql-statement>
610+ -stdin-:<main>: Error: Type annotation
611+
612+ -stdin-:<main>:1:1: Error: At function: YtWriteTable!
613+ insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
614+ ^
615+ -stdin-:<main>:1:1: Error: Failed to convert type: List<Struct<'i':_pgint4,'t':_pgtext>> to List<Struct<'i':pgint4,'t':pgtext>>
616+ insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
617+ ^
618+ -stdin-:<main>:1:1: Error: Failed to convert 'i': _pgint4 to pgint4
619+ insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
620+ ^
621+ -stdin-:<main>:1:1: Error: Table "arrtest1" row type differs from the written row type: Struct<i:pgint4!=_pgint4,t:pgtext!=_pgtext>
622+ insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
623+ ^
592624<sql-statement>
593625select * from arrtest1;
594626</sql-statement>
@@ -722,6 +754,20 @@ delete from arrtest1;
722754<sql-statement>
723755insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
724756</sql-statement>
757+ -stdin-:<main>: Error: Type annotation
758+
759+ -stdin-:<main>:1:1: Error: At function: YtWriteTable!
760+ insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
761+ ^
762+ -stdin-:<main>:1:1: Error: Failed to convert type: List<Struct<'i':_pgint4,'t':_pgtext>> to List<Struct<'i':pgint4,'t':pgtext>>
763+ insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
764+ ^
765+ -stdin-:<main>:1:1: Error: Failed to convert 'i': _pgint4 to pgint4
766+ insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
767+ ^
768+ -stdin-:<main>:1:1: Error: Table "arrtest1" row type differs from the written row type: Struct<i:pgint4!=_pgint4,t:pgtext!=_pgtext>
769+ insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']);
770+ ^
725771<sql-statement>
726772select * from arrtest1;
727773</sql-statement>
@@ -751,6 +797,20 @@ INSERT INTO arrtest2 VALUES(
751797 ARRAY['19620326','19931223','19970117']::timestamp[]
752798);
753799</sql-statement>
800+ -stdin-:<main>: Error: Type annotation
801+
802+ -stdin-:<main>:1:1: Error: At function: YtWriteTable!
803+ INSERT INTO arrtest2 VALUES(
804+ ^
805+ -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>>
806+ INSERT INTO arrtest2 VALUES(
807+ ^
808+ -stdin-:<main>:1:1: Error: Failed to convert 'd': _pgtimestamp to pgtimestamp
809+ INSERT INTO arrtest2 VALUES(
810+ ^
811+ -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>
812+ INSERT INTO arrtest2 VALUES(
813+ ^
754814<sql-statement>
755815-- some more test data
756816CREATE TEMP TABLE arrtest_f (f0 int, f1 text, f2 float8);
@@ -1715,22 +1775,76 @@ create temp table arr_tbl (f1 int[] unique);
17151775<sql-statement>
17161776insert into arr_tbl values ('{1,2,3}');
17171777</sql-statement>
1778+ -stdin-:<main>: Fatal: Execution
1779+
1780+ -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
1781+ insert into arr_tbl values ('{1,2,3}');
1782+ ^
1783+ -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,3}"
1784+
1785+ insert into arr_tbl values ('{1,2,3}');
1786+ ^
17181787<sql-statement>
17191788insert into arr_tbl values ('{1,2}');
17201789</sql-statement>
1790+ -stdin-:<main>: Fatal: Execution
1791+
1792+ -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
1793+ insert into arr_tbl values ('{1,2}');
1794+ ^
1795+ -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2}"
1796+
1797+ insert into arr_tbl values ('{1,2}');
1798+ ^
17211799<sql-statement>
17221800-- failure expected:
17231801insert into arr_tbl values ('{1,2,3}');
17241802</sql-statement>
1803+ -stdin-:<main>: Fatal: Execution
1804+
1805+ -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
1806+ -- failure expected:
1807+ ^
1808+ -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,3}"
1809+
1810+ -- failure expected:
1811+ ^
17251812<sql-statement>
17261813insert into arr_tbl values ('{2,3,4}');
17271814</sql-statement>
1815+ -stdin-:<main>: Fatal: Execution
1816+
1817+ -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
1818+ insert into arr_tbl values ('{2,3,4}');
1819+ ^
1820+ -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{2,3,4}"
1821+
1822+ insert into arr_tbl values ('{2,3,4}');
1823+ ^
17281824<sql-statement>
17291825insert into arr_tbl values ('{1,5,3}');
17301826</sql-statement>
1827+ -stdin-:<main>: Fatal: Execution
1828+
1829+ -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
1830+ insert into arr_tbl values ('{1,5,3}');
1831+ ^
1832+ -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,5,3}"
1833+
1834+ insert into arr_tbl values ('{1,5,3}');
1835+ ^
17311836<sql-statement>
17321837insert into arr_tbl values ('{1,2,10}');
17331838</sql-statement>
1839+ -stdin-:<main>: Fatal: Execution
1840+
1841+ -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
1842+ insert into arr_tbl values ('{1,2,10}');
1843+ ^
1844+ -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,10}"
1845+
1846+ insert into arr_tbl values ('{1,2,10}');
1847+ ^
17341848<sql-statement>
17351849set enable_seqscan to off;
17361850</sql-statement>
@@ -1760,6 +1874,15 @@ create temp table arr_pk_tbl (pk int4 primary key, f1 int[]);
17601874<sql-statement>
17611875insert into arr_pk_tbl values (1, '{1,2,3}');
17621876</sql-statement>
1877+ -stdin-:<main>: Fatal: Execution
1878+
1879+ -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
1880+ insert into arr_pk_tbl values (1, '{1,2,3}');
1881+ ^
1882+ -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type integer: "{1,2,3}"
1883+
1884+ insert into arr_pk_tbl values (1, '{1,2,3}');
1885+ ^
17631886<sql-statement>
17641887insert into arr_pk_tbl values (1, '{3,4,5}') on conflict (pk)
17651888 do update set f1[1] = excluded.f1[1], f1[3] = excluded.f1[3]
0 commit comments