@@ -109,6 +109,78 @@ public class ITBase extends BigQueryJdbcBaseTest {
109109 + " CONSTRAINT my_fk2 FOREIGN KEY (address) REFERENCES `%1$s.%2$s.JDBC_CONSTRAINTS_TEST_TABLE3`(address) NOT ENFORCED\n "
110110 + ");\n " ;
111111
112+ private static final String DDL_ALL_BQ_TYPES =
113+ "CREATE OR REPLACE TABLE `%1$s.%2$s.all_bq_types`\n "
114+ + "(\n "
115+ + " stringField STRING,\n "
116+ + " bytesField BYTES,\n "
117+ + " intField INT64,\n "
118+ + " floatField FLOAT64,\n "
119+ + " numericField NUMERIC,\n "
120+ + " bigNumericField BIGNUMERIC,\n "
121+ + " booleanField BOOLEAN,\n "
122+ + " timestampFiled TIMESTAMP,\n "
123+ + " dateField DATE,\n "
124+ + " timeField TIME,\n "
125+ + " dateTimeField DATETIME,\n "
126+ + " geographyField GEOGRAPHY,\n "
127+ + " recordField STRUCT<name STRING, recordNested STRUCT<lastName STRING>>,\n "
128+ + " rangeField RANGE<DATE>,\n "
129+ + " jsonField JSON,\n "
130+ + " arrayString ARRAY<STRING>,\n "
131+ + " arrayRecord ARRAY<STRUCT<value STRING>>,\n "
132+ + " arrayBytes ARRAY<BYTES>,\n "
133+ + " arrayInteger ARRAY<INT64>,\n "
134+ + " arrayNumeric ARRAY<NUMERIC>,\n "
135+ + " arrayBignumeric ARRAY<BIGNUMERIC>,\n "
136+ + " arrayBoolean ARRAY<BOOLEAN>,\n "
137+ + " arrayTimestamp ARRAY<TIMESTAMP>,\n "
138+ + " arrayDate ARRAY<DATE>,\n "
139+ + " arrayTime ARRAY<TIME>,\n "
140+ + " arrayDatetime ARRAY<DATETIME>,\n "
141+ + " arrayGeography ARRAY<GEOGRAPHY>,\n "
142+ + " arrayRange ARRAY<RANGE<DATE>>,\n "
143+ + " arrayJson ARRAY<JSON>,\n "
144+ + " arrayFloat ARRAY<FLOAT64>\n "
145+ + ");\n " ;
146+
147+ private static final String DML_ALL_BQ_TYPES =
148+ "INSERT INTO `%1$s.%2$s.all_bq_types`\n "
149+ + "(\n "
150+ + " stringField, bytesField, intField, floatField, numericField, bigNumericField, booleanField,\n "
151+ + " timestampFiled, dateField, timeField, dateTimeField, geographyField, recordField, rangeField, jsonField,\n "
152+ + " arrayString, arrayRecord, arrayBytes, arrayInteger, arrayNumeric, arrayBignumeric, arrayBoolean,\n "
153+ + " arrayTimestamp, arrayDate, arrayTime, arrayDatetime, arrayGeography, arrayRange, arrayJson, arrayFloat\n "
154+ + ")\n "
155+ + "VALUES\n "
156+ + "(\n "
157+ + " 'StringValue', CAST('BytesValue' AS BYTES), 123, 10.5, CAST('12345.67' AS NUMERIC), CAST('98765432109876543210.123456789' AS BIGNUMERIC), true,\n "
158+ + " TIMESTAMP '2023-07-28 12:30:00', DATE '2023-07-28', TIME '12:30:00', DATETIME '2023-07-28 12:30:00', ST_GEOGFROMTEXT('POINT(-74.006 40.7128)'),\n "
159+ + " STRUCT('NameValue' AS name, STRUCT('LastNameValue' AS lastName) AS recordNested),\n "
160+ + " RANGE<DATE> '[2023-01-01, 2023-12-01)', JSON '{\" key\" :\" value\" }',\n "
161+ + " ['abc', 'def', 'ghi'],\n "
162+ + " [STRUCT('rec_val1' AS value), STRUCT('rec_val2' AS value)],\n "
163+ + " [CAST('byte1' AS BYTES), CAST('byte2' AS BYTES)],\n "
164+ + " [10, 20],\n "
165+ + " [CAST('10.5' AS NUMERIC), CAST('20.5' AS NUMERIC)],\n "
166+ + " [CAST('100.1' AS BIGNUMERIC), CAST('200.2' AS BIGNUMERIC)],\n "
167+ + " [true, false],\n "
168+ + " [TIMESTAMP '2023-01-01 01:00:00', TIMESTAMP '2023-01-01 02:00:00'],\n "
169+ + " [DATE '2023-01-01', DATE '2023-01-02'],\n "
170+ + " [TIME '01:00:00', TIME '02:00:00'],\n "
171+ + " [DATETIME '2023-01-01 01:00:00', DATETIME '2023-01-01 02:00:00'],\n "
172+ + " [ST_GEOGFROMTEXT('POINT(1 1)'), ST_GEOGFROMTEXT('POINT(2 2)')],\n "
173+ + " [RANGE<DATE> '[2023-01-01, 2023-01-03)', RANGE<DATE> '[2023-01-04, 2023-01-06)'],\n "
174+ + " [JSON '{\" a\" :1}', JSON '{\" b\" :2}'],\n "
175+ + " [1.1, 2.2]\n "
176+ + "),\n "
177+ + "(\n "
178+ + " NULL, NULL, NULL, NULL, NULL, NULL, NULL,\n "
179+ + " NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,\n "
180+ + " [], [], [], [], [], [], [],\n "
181+ + " [], [], [], [], [], [], [], []\n "
182+ + ");\n " ;
183+
112184 private static final String CREATE_RESOURCES_SCRIPT =
113185 DDL_IT_CALLABLE_STMT_PROC_DML_TABLE
114186 + DDL_IT_CALLABLE_STMT_PROC_TABLE
@@ -118,7 +190,9 @@ public class ITBase extends BigQueryJdbcBaseTest {
118190 + DDL_IT_CALLABLE_STMT_PROC_DML_INSERT_TEST
119191 + DDL_IT_CALLABLE_STMT_PROC_DML_UPDATE_TEST
120192 + DDL_IT_CALLABLE_STMT_PROC_DML_DELETE_TEST
121- + DDL_IT_CALLABLE_STMT_PROC_TEST ;
193+ + DDL_IT_CALLABLE_STMT_PROC_TEST
194+ + DDL_ALL_BQ_TYPES
195+ + DML_ALL_BQ_TYPES ;
122196
123197 public static synchronized String getSharedDataset () {
124198 if (sharedDataset == null ) {
0 commit comments