diff --git a/docs/api-reference/sql-api.md b/docs/api-reference/sql-api.md index 2b25bdd02f0b..ccba5b154355 100644 --- a/docs/api-reference/sql-api.md +++ b/docs/api-reference/sql-api.md @@ -1286,6 +1286,9 @@ Getting the query results for an ingestion query returns an empty response. * `resultFormat` (optional) * Type: String * Defines the format in which the results are presented. The following options are supported `arrayLines`,`objectLines`,`array`,`object`, and `csv`. The default is `object`. +* `filename` (optional) + * Type: String + * If set, attaches a `Content-Disposition` header to the response with the value of `attachment; filename={filename}`. The filename must not be longer than 255 characters and must not contain the characters `/`, `\`, `:`, `*`, `?`, `"`, `<`, `>`, `|`, `\0`, `\n`, or `\r`. #### Responses diff --git a/docs/configuration/index.md b/docs/configuration/index.md index 687e1d688a67..b3f4f38d5ca4 100644 --- a/docs/configuration/index.md +++ b/docs/configuration/index.md @@ -1175,8 +1175,8 @@ The following properties pertain to segment metadata caching on the Overlord tha |Property|Description|Default| |--------|-----------|-------| -|`druid.manager.segments.useCache`|If `true`, segment metadata is cached on the Overlord to speed up metadata operations.|false| -|`druid.manager.segments.pollDuration`|Duration (in ISO 8601 format) between successive syncs of the cache with the metadata store. This property is used only when `druid.manager.segments.useCache` is `true`.|`PT1M` (1 minute)| +|`druid.manager.segments.useCache`|Denotes the usage mode of the segment metadata cache. Possible modes are: (a) `never`: Cache is disabled. (b) `always`: Reads are always done from the cache. Service start-up will be blocked until cache has synced with the metadata store at least once. Transactions will block until cache has synced with the metadata store at least once after becoming leader. (c) `ifSynced`: Reads are done from the cache only if it has already synced with the metadata store. This mode does not block service start-up or transactions.|`never`| +|`druid.manager.segments.pollDuration`|Duration (in ISO 8601 format) between successive syncs of the cache with the metadata store. This property is used only when `druid.manager.segments.useCache` is set to `always` or `ifSynced`.|`PT1M` (1 minute)| #### Overlord dynamic configuration diff --git a/docs/operations/metrics.md b/docs/operations/metrics.md index 926740b5fb42..044d32960482 100644 --- a/docs/operations/metrics.md +++ b/docs/operations/metrics.md @@ -85,6 +85,13 @@ Most metric values reset each emission period, as specified in `druid.monitoring |`subquery/fallback/unknownReason/count`|Number of subqueries which cannot be materialized as frames due other reasons.|This metric is only available if the `SubqueryCountStatsMonitor` module is included.| | |`query/rowLimit/exceeded/count`|Number of queries whose inlined subquery results exceeded the given row limit|This metric is only available if the `SubqueryCountStatsMonitor` module is included.| | |`query/byteLimit/exceeded/count`|Number of queries whose inlined subquery results exceeded the given byte limit|This metric is only available if the `SubqueryCountStatsMonitor` module is included.| | +|`mergeBuffer/pendingRequests`|Number of requests waiting to acquire a batch of buffers from the merge buffer pool.|This metric is only available if the `GroupByStatsMonitor` module is included.|Should be ideally 0, though a higher number isn't representative of a problem.| +|`mergeBuffer/used`|Number of merge buffers used from the merge buffer pool.|This metric is only available if the `GroupByStatsMonitor` module is included.|Depends on the number of groupBy queries needing merge buffers.| +|`mergeBuffer/queries`|Number of groupBy queries that acquired a batch of buffers from the merge buffer pool.|This metric is only available if the `GroupByStatsMonitor` module is included.|Depends on the number of groupBy queries needing merge buffers.| +|`mergeBuffer/acquisitionTimeNs`|Total time in nanoseconds to acquire merge buffer for groupBy queries.|This metric is only available if the `GroupByStatsMonitor` module is included.|Varies| +|`groupBy/spilledQueries`|Number of groupBy queries that have spilled onto the disk.|This metric is only available if the `GroupByStatsMonitor` module is included.|Varies| +|`groupBy/spilledBytes`|Number of bytes spilled on the disk by the groupBy queries.|This metric is only available if the `GroupByStatsMonitor` module is included.|Varies| +|`groupBy/mergeDictionarySize`|Size of on-heap merge dictionary in bytes.|This metric is only available if the `GroupByStatsMonitor` module is included.|Varies| ### Historical @@ -102,6 +109,13 @@ Most metric values reset each emission period, as specified in `druid.monitoring |`query/failed/count`|Number of failed queries.|This metric is only available if the `QueryCountStatsMonitor` module is included.|| |`query/interrupted/count`|Number of queries interrupted due to cancellation.|This metric is only available if the `QueryCountStatsMonitor` module is included.|| |`query/timeout/count`|Number of timed out queries.|This metric is only available if the `QueryCountStatsMonitor` module is included.|| +|`mergeBuffer/pendingRequests`|Number of requests waiting to acquire a batch of buffers from the merge buffer pool.|This metric is only available if the `GroupByStatsMonitor` module is included.|Should be ideally 0, though a higher number isn't representative of a problem.| +|`mergeBuffer/used`|Number of merge buffers used from the merge buffer pool.|This metric is only available if the `GroupByStatsMonitor` module is included.|Depends on the number of groupBy queries needing merge buffers.| +|`mergeBuffer/queries`|Number of groupBy queries that acquired a batch of buffers from the merge buffer pool.|This metric is only available if the `GroupByStatsMonitor` module is included.|Depends on the number of groupBy queries needing merge buffers.| +|`mergeBuffer/acquisitionTimeNs`|Total time in nanoseconds to acquire merge buffer for groupBy queries.|This metric is only available if the `GroupByStatsMonitor` module is included.|Varies| +|`groupBy/spilledQueries`|Number of groupBy queries that have spilled onto the disk.|This metric is only available if the `GroupByStatsMonitor` module is included.|Varies| +|`groupBy/spilledBytes`|Number of bytes spilled on the disk by the groupBy queries.|This metric is only available if the `GroupByStatsMonitor` module is included.|Varies| +|`groupBy/mergeDictionarySize`|Size of on-heap merge dictionary in bytes.|This metric is only available if the `GroupByStatsMonitor` module is included.|Varies| ### Real-time @@ -117,13 +131,6 @@ Most metric values reset each emission period, as specified in `druid.monitoring |`query/failed/count`|Number of failed queries.|This metric is only available if the `QueryCountStatsMonitor` module is included.|| |`query/interrupted/count`|Number of queries interrupted due to cancellation.|This metric is only available if the `QueryCountStatsMonitor` module is included.|| |`query/timeout/count`|Number of timed out queries.|This metric is only available if the `QueryCountStatsMonitor` module is included.|| - -### GroupBy query metrics - -These metrics are reported from broker, historical and real-time nodes - -|Metric|Description|Normal value| -|------|-----------|------------| |`mergeBuffer/pendingRequests`|Number of requests waiting to acquire a batch of buffers from the merge buffer pool.|This metric is only available if the `GroupByStatsMonitor` module is included.|Should be ideally 0, though a higher number isn't representative of a problem.| |`mergeBuffer/used`|Number of merge buffers used from the merge buffer pool.|This metric is only available if the `GroupByStatsMonitor` module is included.|Depends on the number of groupBy queries needing merge buffers.| |`mergeBuffer/queries`|Number of groupBy queries that acquired a batch of buffers from the merge buffer pool.|This metric is only available if the `GroupByStatsMonitor` module is included.|Depends on the number of groupBy queries needing merge buffers.| diff --git a/docs/querying/multi-value-dimensions.md b/docs/querying/multi-value-dimensions.md index e41e8630ebb1..a77a7766f279 100644 --- a/docs/querying/multi-value-dimensions.md +++ b/docs/querying/multi-value-dimensions.md @@ -252,7 +252,7 @@ results in: ```sql SELECT label, tags FROM "mvd_example_rollup" -WHERE tags = 't3' +WHERE label in ('row1','row2') GROUP BY 1,2 ``` diff --git a/extensions-contrib/materialized-view-maintenance/src/test/java/org/apache/druid/indexing/materializedview/MaterializedViewSupervisorTest.java b/extensions-contrib/materialized-view-maintenance/src/test/java/org/apache/druid/indexing/materializedview/MaterializedViewSupervisorTest.java index 6c39d21c1f59..444eb7cb61b9 100644 --- a/extensions-contrib/materialized-view-maintenance/src/test/java/org/apache/druid/indexing/materializedview/MaterializedViewSupervisorTest.java +++ b/extensions-contrib/materialized-view-maintenance/src/test/java/org/apache/druid/indexing/materializedview/MaterializedViewSupervisorTest.java @@ -56,6 +56,7 @@ import org.apache.druid.segment.metadata.SegmentSchemaManager; import org.apache.druid.segment.realtime.ChatHandlerProvider; import org.apache.druid.server.coordinator.simulate.TestDruidLeaderSelector; +import org.apache.druid.server.metrics.NoopServiceEmitter; import org.apache.druid.server.security.AuthorizerMapper; import org.apache.druid.timeline.DataSegment; import org.apache.druid.timeline.partition.HashBasedNumberedShardSpec; @@ -113,7 +114,8 @@ public void setUp() derbyConnectorRule.metadataTablesConfigSupplier().get(), derbyConnector, new TestDruidLeaderSelector(), - new NoopSegmentMetadataCache() + NoopSegmentMetadataCache.instance(), + NoopServiceEmitter.instance() ), objectMapper, derbyConnectorRule.metadataTablesConfigSupplier().get(), diff --git a/extensions-contrib/materialized-view-selection/src/test/java/org/apache/druid/query/materializedview/DatasourceOptimizerTest.java b/extensions-contrib/materialized-view-selection/src/test/java/org/apache/druid/query/materializedview/DatasourceOptimizerTest.java index 999a38ffd3a0..606c6a529587 100644 --- a/extensions-contrib/materialized-view-selection/src/test/java/org/apache/druid/query/materializedview/DatasourceOptimizerTest.java +++ b/extensions-contrib/materialized-view-selection/src/test/java/org/apache/druid/query/materializedview/DatasourceOptimizerTest.java @@ -120,7 +120,8 @@ public void setUp() throws Exception derbyConnectorRule.metadataTablesConfigSupplier().get(), derbyConnector, new TestDruidLeaderSelector(), - new NoopSegmentMetadataCache() + NoopSegmentMetadataCache.instance(), + NoopServiceEmitter.instance() ), jsonMapper, derbyConnectorRule.metadataTablesConfigSupplier().get(), diff --git a/extensions-core/kinesis-indexing-service/src/test/java/org/apache/druid/indexing/kinesis/KinesisIndexTaskTest.java b/extensions-core/kinesis-indexing-service/src/test/java/org/apache/druid/indexing/kinesis/KinesisIndexTaskTest.java index eb82040a8133..fe1977d9971f 100644 --- a/extensions-core/kinesis-indexing-service/src/test/java/org/apache/druid/indexing/kinesis/KinesisIndexTaskTest.java +++ b/extensions-core/kinesis-indexing-service/src/test/java/org/apache/druid/indexing/kinesis/KinesisIndexTaskTest.java @@ -793,7 +793,7 @@ public void testRunWithMinimumMessageTime() throws Exception final ListenableFuture future = runTask(task); - waitUntil(task, this::isTaskReading); + waitUntil(task, this::isTaskPublishing); // Wait for task to exit Assert.assertEquals(TaskState.SUCCESS, future.get().getStatusCode()); @@ -856,7 +856,7 @@ public void testRunWithMaximumMessageTime() throws Exception final ListenableFuture future = runTask(task); - waitUntil(task, this::isTaskReading); + waitUntil(task, this::isTaskPublishing); // Wait for task to exit Assert.assertEquals(TaskState.SUCCESS, future.get().getStatusCode()); @@ -915,7 +915,7 @@ public void testRunWithTransformSpec() throws Exception ); final ListenableFuture future = runTask(task); - waitUntil(task, this::isTaskReading); + waitUntil(task, this::isTaskPublishing); // Wait for task to exit Assert.assertEquals(TaskState.SUCCESS, future.get().getStatusCode()); @@ -2461,6 +2461,16 @@ private boolean isTaskReading(KinesisIndexTask task) return task.getRunner().getStatus() == SeekableStreamIndexTaskRunner.Status.READING; } + /** + * Return true if specified task is in PUBLISHING state + * @param task {@link KinesisIndexTask} having its state checked + * @return true if task is in PUBLISHING state, otherwise false + */ + private boolean isTaskPublishing(KinesisIndexTask task) + { + return task.getRunner().getStatus() == SeekableStreamIndexTaskRunner.Status.PUBLISHING; + } + private static KinesisRecordEntity kjb( String timestamp, String dim1, diff --git a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/sql/resources/SqlStatementResource.java b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/sql/resources/SqlStatementResource.java index dcaa447539b1..f0a800c246ab 100644 --- a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/sql/resources/SqlStatementResource.java +++ b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/sql/resources/SqlStatementResource.java @@ -95,6 +95,7 @@ import org.jboss.netty.handler.codec.http.HttpResponseStatus; import javax.servlet.http.HttpServletRequest; +import javax.validation.constraints.NotNull; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -114,6 +115,7 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; +import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -122,6 +124,8 @@ public class SqlStatementResource { public static final String RESULT_FORMAT = "__resultFormat"; + public static final String CONTENT_DISPOSITION_RESPONSE_HEADER = "Content-Disposition"; + private static final Pattern FILENAME_PATTERN = Pattern.compile("^[^/:*?><\\\\\"|\0\n\r]*$"); private static final Logger log = new Logger(SqlStatementResource.class); private final SqlStatementFactory msqSqlStatementFactory; private final ObjectMapper jsonMapper; @@ -277,6 +281,7 @@ public Response doGetResults( @PathParam("id") final String queryId, @QueryParam("page") Long page, @QueryParam("resultFormat") String resultFormat, + @QueryParam("filename") String filename, @Context final HttpServletRequest req ) { @@ -309,10 +314,12 @@ public Response doGetResults( ); throwIfQueryIsNotSuccessful(queryId, statusPlus); + final String contentDispositionHeaderValue = filename != null ? StringUtils.format("attachment; filename=\"%s\"", validateFilename(filename)) : null; + Optional> signature = SqlStatementResourceHelper.getSignature(msqControllerTask); if (!signature.isPresent() || MSQControllerTask.isIngestion(msqControllerTask.getQuerySpec())) { // Since it's not a select query, nothing to return. - return Response.ok().build(); + return addContentDisposition(Response.ok(), contentDispositionHeaderValue).build(); } // returning results @@ -321,18 +328,20 @@ public Response doGetResults( results = getResultYielder(queryId, page, msqControllerTask, closer); if (!results.isPresent()) { // no results, return empty - return Response.ok().build(); + return addContentDisposition(Response.ok(), contentDispositionHeaderValue).build(); } ResultFormat preferredFormat = getPreferredResultFormat(resultFormat, msqControllerTask.getQuerySpec()); - return Response.ok((StreamingOutput) outputStream -> resultPusher( + final Response.ResponseBuilder responseBuilder = Response.ok((StreamingOutput) outputStream -> resultPusher( queryId, signature, closer, results, new CountingOutputStream(outputStream), preferredFormat - )).build(); + )); + + return addContentDisposition(responseBuilder, contentDispositionHeaderValue).build(); } @@ -976,6 +985,42 @@ private void checkForDurableStorageConnectorImpl() } } + private static Response.ResponseBuilder addContentDisposition( + Response.ResponseBuilder responseBuilder, + String contentDisposition + ) + { + if (contentDisposition != null) { + responseBuilder.header(CONTENT_DISPOSITION_RESPONSE_HEADER, contentDisposition); + } + return responseBuilder; + } + + /** + * Validates that a filename is valid. Filenames are considered to be valid if it is: + *
    + *
  • Not empty.
  • + *
  • Not longer than 255 characters.
  • + *
  • Does not contain the characters `/`, `\`, `:`, `*`, `?`, `"`, `<`, `>`, `|`, `\0`, `\n`, or `\r`.
  • + *
+ */ + @VisibleForTesting + static String validateFilename(@NotNull String filename) + { + if (filename.isEmpty()) { + throw InvalidInput.exception("Filename cannot be empty."); + } + + if (filename.length() > 255) { + throw InvalidInput.exception("Filename cannot be longer than 255 characters."); + } + + if (!FILENAME_PATTERN.matcher(filename).matches()) { + throw InvalidInput.exception("Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + } + return filename; + } + private T contactOverlord(final ListenableFuture future, String queryId) { try { diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/quidem/MSQQuidemTest.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/quidem/MSQQuidemTest.java index 30deed4b6263..5f3ca89e4906 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/quidem/MSQQuidemTest.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/quidem/MSQQuidemTest.java @@ -19,15 +19,17 @@ package org.apache.druid.msq.quidem; +import org.apache.druid.quidem.DruidQuidemCommandHandler; import org.apache.druid.quidem.DruidQuidemTestBase; import org.apache.druid.quidem.ProjectPathUtils; + import java.io.File; public class MSQQuidemTest extends DruidQuidemTestBase { public MSQQuidemTest() { - super(); + super(new DruidQuidemCommandHandler()); } @Override diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/resources/SqlMSQStatementResourcePostTest.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/resources/SqlMSQStatementResourcePostTest.java index e810de56f4e1..0437fbccda25 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/resources/SqlMSQStatementResourcePostTest.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/resources/SqlMSQStatementResourcePostTest.java @@ -393,6 +393,7 @@ public void testWithDurableStorage() throws IOException sqlStatementResult.getQueryId(), null, ResultFormat.OBJECTLINES.name(), + null, SqlStatementResourceTest.makeOkRequest() ), objectMapper @@ -406,6 +407,7 @@ public void testWithDurableStorage() throws IOException sqlStatementResult.getQueryId(), 0L, ResultFormat.OBJECTLINES.name(), + null, SqlStatementResourceTest.makeOkRequest() ), objectMapper @@ -419,6 +421,7 @@ public void testWithDurableStorage() throws IOException sqlStatementResult.getQueryId(), 2L, ResultFormat.OBJECTLINES.name(), + null, SqlStatementResourceTest.makeOkRequest() ), objectMapper @@ -485,6 +488,7 @@ public void testMultipleWorkersWithPageSizeLimiting() throws IOException sqlStatementResult.getQueryId(), null, ResultFormat.ARRAY.name(), + null, SqlStatementResourceTest.makeOkRequest() ))); @@ -492,6 +496,7 @@ public void testMultipleWorkersWithPageSizeLimiting() throws IOException sqlStatementResult.getQueryId(), 0L, ResultFormat.ARRAY.name(), + null, SqlStatementResourceTest.makeOkRequest() ))); @@ -499,6 +504,7 @@ public void testMultipleWorkersWithPageSizeLimiting() throws IOException sqlStatementResult.getQueryId(), 1L, ResultFormat.ARRAY.name(), + null, SqlStatementResourceTest.makeOkRequest() ))); @@ -506,6 +512,7 @@ public void testMultipleWorkersWithPageSizeLimiting() throws IOException sqlStatementResult.getQueryId(), 2L, ResultFormat.ARRAY.name(), + null, SqlStatementResourceTest.makeOkRequest() ))); @@ -513,6 +520,7 @@ public void testMultipleWorkersWithPageSizeLimiting() throws IOException sqlStatementResult.getQueryId(), 3L, ResultFormat.ARRAY.name(), + null, SqlStatementResourceTest.makeOkRequest() ))); @@ -520,6 +528,7 @@ public void testMultipleWorkersWithPageSizeLimiting() throws IOException sqlStatementResult.getQueryId(), 4L, ResultFormat.ARRAY.name(), + null, SqlStatementResourceTest.makeOkRequest() ))); } @@ -565,6 +574,7 @@ public void testResultFormat() throws Exception sqlStatementResult.getQueryId(), null, resultFormat.name(), + null, SqlStatementResourceTest.makeOkRequest() ), objectMapper ) @@ -577,6 +587,7 @@ public void testResultFormat() throws Exception sqlStatementResult.getQueryId(), 0L, resultFormat.name(), + null, SqlStatementResourceTest.makeOkRequest() ), objectMapper ) @@ -616,6 +627,7 @@ public void testResultFormatWithParamInSelect() throws IOException sqlStatementResult.getQueryId(), null, ResultFormat.ARRAY.name(), + null, SqlStatementResourceTest.makeOkRequest() ))); @@ -623,6 +635,7 @@ public void testResultFormatWithParamInSelect() throws IOException sqlStatementResult.getQueryId(), 0L, ResultFormat.ARRAY.name(), + null, SqlStatementResourceTest.makeOkRequest() ))); } @@ -695,6 +708,7 @@ public void testInsert() actual.getQueryId(), 0L, null, + null, SqlStatementResourceTest.makeOkRequest() ); Assert.assertEquals(Response.Status.OK.getStatusCode(), resultsResponse.getStatus()); @@ -738,6 +752,7 @@ public void testReplaceAll() actual.getQueryId(), 0L, null, + null, SqlStatementResourceTest.makeOkRequest() ); Assert.assertEquals(Response.Status.OK.getStatusCode(), resultsResponse.getStatus()); diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/resources/SqlStatementResourceTest.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/resources/SqlStatementResourceTest.java index 40dcb303b1dc..83ae1de7f9d3 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/resources/SqlStatementResourceTest.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/resources/SqlStatementResourceTest.java @@ -22,11 +22,14 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Iterables; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.SettableFuture; import org.apache.calcite.sql.type.SqlTypeName; import org.apache.druid.client.indexing.TaskPayloadResponse; import org.apache.druid.client.indexing.TaskStatusResponse; +import org.apache.druid.error.DruidException; +import org.apache.druid.error.DruidExceptionMatcher; import org.apache.druid.error.ErrorResponse; import org.apache.druid.indexer.TaskLocation; import org.apache.druid.indexer.TaskState; @@ -92,6 +95,7 @@ import org.mockito.Mock; import org.mockito.Mockito; +import javax.annotation.Nullable; import javax.ws.rs.core.Response; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -102,6 +106,8 @@ import java.util.List; import java.util.function.Supplier; +import static org.hamcrest.MatcherAssert.assertThat; + public class SqlStatementResourceTest extends MSQTestBase { public static final DateTime CREATED_TIME = DateTimes.of("2023-05-31T12:00Z"); @@ -683,6 +689,16 @@ private static AuthenticationResult makeAuthResultForUser(String user) ); } + @Nullable + private Object getHeader(Response resp, String header) + { + final List objects = resp.getMetadata().get(header); + if (objects == null) { + return null; + } + return Iterables.getOnlyElement(objects); + } + @BeforeEach public void init() { @@ -716,7 +732,7 @@ public void testMSQSelectAcceptedQuery() ); assertExceptionMessage( - resource.doGetResults(ACCEPTED_SELECT_MSQ_QUERY, 0L, null, makeOkRequest()), + resource.doGetResults(ACCEPTED_SELECT_MSQ_QUERY, 0L, null, null, makeOkRequest()), StringUtils.format( "Query[%s] is currently in [%s] state. Please wait for it to complete.", ACCEPTED_SELECT_MSQ_QUERY, @@ -750,7 +766,7 @@ public void testMSQSelectRunningQuery() ); assertExceptionMessage( - resource.doGetResults(RUNNING_SELECT_MSQ_QUERY, 0L, null, makeOkRequest()), + resource.doGetResults(RUNNING_SELECT_MSQ_QUERY, 0L, null, null, makeOkRequest()), StringUtils.format( "Query[%s] is currently in [%s] state. Please wait for it to complete.", RUNNING_SELECT_MSQ_QUERY, @@ -816,7 +832,7 @@ public void testFinishedSelectMSQQuery() throws Exception null )), objectMapper.writeValueAsString(response.getEntity())); - Response resultsResponse = resource.doGetResults(FINISHED_SELECT_MSQ_QUERY, 0L, ResultFormat.OBJECTLINES.name(), makeOkRequest()); + Response resultsResponse = resource.doGetResults(FINISHED_SELECT_MSQ_QUERY, 0L, ResultFormat.OBJECTLINES.name(), null, makeOkRequest()); Assert.assertEquals(Response.Status.OK.getStatusCode(), resultsResponse.getStatus()); String expectedResult = "{\"_time\":123,\"alias\":\"foo\",\"market\":\"bar\"}\n" @@ -824,6 +840,8 @@ public void testFinishedSelectMSQQuery() throws Exception assertExpectedResults(expectedResult, resultsResponse); + Assert.assertNull(getHeader(resultsResponse, SqlStatementResource.CONTENT_DISPOSITION_RESPONSE_HEADER)); + Assert.assertEquals( Response.Status.OK.getStatusCode(), resource.deleteQuery(FINISHED_SELECT_MSQ_QUERY, makeOkRequest()).getStatus() @@ -835,6 +853,7 @@ public void testFinishedSelectMSQQuery() throws Exception FINISHED_SELECT_MSQ_QUERY, 0L, ResultFormat.OBJECTLINES.name(), + null, makeOkRequest() ) ); @@ -845,14 +864,50 @@ public void testFinishedSelectMSQQuery() throws Exception FINISHED_SELECT_MSQ_QUERY, null, ResultFormat.OBJECTLINES.name(), + null, makeOkRequest() ) ); Assert.assertEquals( Response.Status.BAD_REQUEST.getStatusCode(), - resource.doGetResults(FINISHED_SELECT_MSQ_QUERY, -1L, null, makeOkRequest()).getStatus() + resource.doGetResults(FINISHED_SELECT_MSQ_QUERY, -1L, null, null, makeOkRequest()).getStatus() + ); + + Assert.assertEquals( + "attachment; filename=\"my-file.ndjson\"", + getHeader( + resource.doGetResults(FINISHED_SELECT_MSQ_QUERY, 0L, ResultFormat.OBJECTLINES.name(), "my-file.ndjson", makeOkRequest()), + SqlStatementResource.CONTENT_DISPOSITION_RESPONSE_HEADER + ) + ); + } + + @Test + public void testDownloadResultsAsFile() throws Exception + { + final String expectedResult = "{\"_time\":123,\"alias\":\"foo\",\"market\":\"bar\"}\n" + + "{\"_time\":234,\"alias\":\"foo1\",\"market\":\"bar1\"}\n\n"; + + Response resultsResponse1 = resource.doGetResults(FINISHED_SELECT_MSQ_QUERY, 0L, ResultFormat.OBJECTLINES.name(), "results.txt", makeOkRequest()); + Assert.assertEquals(Response.Status.OK.getStatusCode(), resultsResponse1.getStatus()); + Assert.assertEquals( + "attachment; filename=\"results.txt\"", + getHeader(resultsResponse1, "Content-Disposition") + ); + assertExpectedResults(expectedResult, resultsResponse1); + + Response resultsResponse2 = resource.doGetResults(FINISHED_SELECT_MSQ_QUERY, 0L, ResultFormat.OBJECTLINES.name(), "final results.txt", makeOkRequest()); + Assert.assertEquals(Response.Status.OK.getStatusCode(), resultsResponse2.getStatus()); + Assert.assertEquals( + "attachment; filename=\"final results.txt\"", + getHeader(resultsResponse2, "Content-Disposition") ); + assertExpectedResults(expectedResult, resultsResponse2); + + Response resultsResponse3 = resource.doGetResults(FINISHED_SELECT_MSQ_QUERY, 0L, ResultFormat.OBJECTLINES.name(), "/Users/Name/final.txt", makeOkRequest()); + Assert.assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), resultsResponse3.getStatus()); + Assert.assertNull(resultsResponse3.getMetadata().get("Content-Disposition")); } private void assertExpectedResults(String expectedResult, Response resultsResponse) throws IOException @@ -867,7 +922,7 @@ public void testFailedMSQQuery() for (String queryID : ImmutableList.of(ERRORED_SELECT_MSQ_QUERY, ERRORED_INSERT_MSQ_QUERY)) { assertExceptionMessage(resource.doGetStatus(queryID, false, makeOkRequest()), FAILURE_MSG, Response.Status.OK); assertExceptionMessage( - resource.doGetResults(queryID, 0L, null, makeOkRequest()), + resource.doGetResults(queryID, 0L, null, null, makeOkRequest()), StringUtils.format( "Query[%s] failed. Check the status api for more details.", queryID @@ -897,18 +952,29 @@ public void testFinishedInsertMSQQuery() null ), (SqlStatementResult) response.getEntity()); + final Response resultResponse = resource.doGetResults(FINISHED_INSERT_MSQ_QUERY, 0L, null, null, makeOkRequest()); + Assert.assertEquals( Response.Status.OK.getStatusCode(), - resource.doGetResults(FINISHED_INSERT_MSQ_QUERY, 0L, null, makeOkRequest()).getStatus() + resultResponse.getStatus() ); + Assert.assertNull(getHeader(resultResponse, SqlStatementResource.CONTENT_DISPOSITION_RESPONSE_HEADER)); Assert.assertEquals( Response.Status.OK.getStatusCode(), - resource.doGetResults(FINISHED_INSERT_MSQ_QUERY, null, null, makeOkRequest()).getStatus() + resource.doGetResults(FINISHED_INSERT_MSQ_QUERY, null, null, null, makeOkRequest()).getStatus() ); Assert.assertEquals( Response.Status.BAD_REQUEST.getStatusCode(), - resource.doGetResults(FINISHED_INSERT_MSQ_QUERY, -1L, null, makeOkRequest()).getStatus() + resource.doGetResults(FINISHED_INSERT_MSQ_QUERY, -1L, null, null, makeOkRequest()).getStatus() + ); + + Assert.assertEquals( + "attachment; filename=\"my-file.ndjson\"", + getHeader( + resource.doGetResults(FINISHED_INSERT_MSQ_QUERY, 0L, null, "my-file.ndjson", makeOkRequest()), + SqlStatementResource.CONTENT_DISPOSITION_RESPONSE_HEADER + ) ); } @@ -917,7 +983,7 @@ public void testNonMSQTasks() { for (String queryID : ImmutableList.of(RUNNING_NON_MSQ_TASK, FAILED_NON_MSQ_TASK, FINISHED_NON_MSQ_TASK)) { assertNotFound(resource.doGetStatus(queryID, false, makeOkRequest()), queryID); - assertNotFound(resource.doGetResults(queryID, 0L, null, makeOkRequest()), queryID); + assertNotFound(resource.doGetResults(queryID, 0L, null, null, makeOkRequest()), queryID); assertNotFound(resource.deleteQuery(queryID, makeOkRequest()), queryID); } } @@ -941,7 +1007,7 @@ public void testMSQInsertAcceptedQuery() ); assertExceptionMessage( - resource.doGetResults(ACCEPTED_INSERT_MSQ_TASK, 0L, null, makeOkRequest()), + resource.doGetResults(ACCEPTED_INSERT_MSQ_TASK, 0L, null, null, makeOkRequest()), StringUtils.format( "Query[%s] is currently in [%s] state. Please wait for it to complete.", ACCEPTED_INSERT_MSQ_TASK, @@ -974,7 +1040,7 @@ public void testMSQInsertRunningQuery() ); assertExceptionMessage( - resource.doGetResults(RUNNING_INSERT_MSQ_QUERY, 0L, null, makeOkRequest()), + resource.doGetResults(RUNNING_INSERT_MSQ_QUERY, 0L, null, null, makeOkRequest()), StringUtils.format( "Query[%s] is currently in [%s] state. Please wait for it to complete.", RUNNING_INSERT_MSQ_QUERY, @@ -1005,6 +1071,7 @@ public void testAPIBehaviourWithSuperUsers() RUNNING_SELECT_MSQ_QUERY, 1L, null, + null, makeExpectedReq(makeAuthResultForUser(SUPERUSER)) ).getStatus() ); @@ -1035,6 +1102,7 @@ public void testAPIBehaviourWithDifferentUserAndNoStatePermission() RUNNING_SELECT_MSQ_QUERY, 1L, null, + null, makeExpectedReq(differentUserAuthResult) ).getStatus() ); @@ -1065,6 +1133,7 @@ public void testAPIBehaviourWithDifferentUserAndStateRPermission() RUNNING_SELECT_MSQ_QUERY, 1L, null, + null, makeExpectedReq(differentUserAuthResult) ).getStatus() ); @@ -1095,6 +1164,7 @@ public void testAPIBehaviourWithDifferentUserAndStateWPermission() RUNNING_SELECT_MSQ_QUERY, 1L, null, + null, makeExpectedReq(differentUserAuthResult) ).getStatus() ); @@ -1125,6 +1195,7 @@ public void testAPIBehaviourWithDifferentUserAndStateRWPermission() RUNNING_SELECT_MSQ_QUERY, 1L, null, + null, makeExpectedReq(differentUserAuthResult) ).getStatus() ); @@ -1156,7 +1227,7 @@ public void testTaskIdNotFound() ); Assert.assertEquals( Response.Status.NOT_FOUND.getStatusCode(), - resource.doGetResults(taskIdNotFound, null, null, makeOkRequest()).getStatus() + resource.doGetResults(taskIdNotFound, null, null, null, makeOkRequest()).getStatus() ); Assert.assertEquals( Response.Status.NOT_FOUND.getStatusCode(), @@ -1193,4 +1264,44 @@ private void assertSqlStatementResult(SqlStatementResult expected, SqlStatementR Assert.assertEquals(expected.getErrorResponse().getAsMap(), actual.getErrorResponse().getAsMap()); } } + + @Test + public void testValidFilename() + { + // Valid cases + SqlStatementResource.validateFilename("testname"); + SqlStatementResource.validateFilename("A.txt"); + SqlStatementResource.validateFilename("final-results.txt"); + SqlStatementResource.validateFilename("final results.txt"); + SqlStatementResource.validateFilename("final;results.txt"); + SqlStatementResource.validateFilename("final@results.txt"); + + // Empty + assertInvalidFileName("", "Filename cannot be empty."); + + // Too long + assertInvalidFileName(StringUtils.repeat("A", 300), "Filename cannot be longer than 255 characters."); + + // Special characters + assertInvalidFileName("He\\llo", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("Hello/Name", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("C:/Users/Name", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("username:password", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("A>ValueB", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("A, |, \0, \n, or \r)"); + assertInvalidFileName("A\0a11", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("\rrB", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("\nAnB", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("A|B", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("A\"B", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + assertInvalidFileName("A?B", "Filename contains invalid characters. (/, \\, :, *, ?, \", <, >, |, \0, \n, or \r)"); + } + + private void assertInvalidFileName(String filename, String errorMessage) + { + assertThat( + Assert.assertThrows(DruidException.class, () -> SqlStatementResource.validateFilename(filename)), + DruidExceptionMatcher.invalidInput().expectMessageIs(errorMessage) + ); + } } diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AbstractMSQComponentSupplierDelegate.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AbstractMSQComponentSupplierDelegate.java index 42264ac46ba3..65634365dd62 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AbstractMSQComponentSupplierDelegate.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AbstractMSQComponentSupplierDelegate.java @@ -19,8 +19,6 @@ package org.apache.druid.msq.test; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.inject.Injector; import org.apache.druid.guice.IndexingServiceTuningConfigModule; import org.apache.druid.guice.JoinableFactoryModule; import org.apache.druid.initialization.DruidModule; @@ -29,7 +27,6 @@ import org.apache.druid.msq.guice.MSQIndexingModule; import org.apache.druid.msq.sql.MSQTaskSqlEngine; import org.apache.druid.msq.test.CalciteMSQTestsHelper.MSQTestModule; -import org.apache.druid.server.QueryLifecycleFactory; import org.apache.druid.sql.calcite.run.SqlEngine; import org.apache.druid.sql.calcite.util.DruidModuleCollection; import org.apache.druid.sql.calcite.util.SqlTestFramework.QueryComponentSupplier; @@ -61,12 +58,9 @@ public DruidModule getCoreModule() } @Override - public SqlEngine createEngine( - QueryLifecycleFactory qlf, - ObjectMapper queryJsonMapper, - Injector injector) + public Class getSqlEngineClass() { - return injector.getInstance(MSQTaskSqlEngine.class); + return MSQTaskSqlEngine.class; } @Override @@ -74,4 +68,5 @@ public Boolean isExplainSupported() { return false; } + } diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AllDruidEnginesComponentSupplier.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AllDruidEnginesComponentSupplier.java new file mode 100644 index 000000000000..62799295908a --- /dev/null +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AllDruidEnginesComponentSupplier.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.druid.msq.test; + +import org.apache.druid.sql.calcite.MultiComponentSupplier; +import org.apache.druid.sql.calcite.MultiComponentSupplier.ComponentSuppliers; +import org.apache.druid.sql.calcite.util.SqlTestFramework.StandardComponentSupplier; + +@ComponentSuppliers({ + StandardComponentSupplier.class, + DartComponentSupplier.class, + StandardMSQComponentSupplier.class}) +public class AllDruidEnginesComponentSupplier extends MultiComponentSupplier +{ +} diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/CalciteMSQTestsHelper.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/CalciteMSQTestsHelper.java index 58f5a7b30624..b287458cf6b1 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/CalciteMSQTestsHelper.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/CalciteMSQTestsHelper.java @@ -45,12 +45,8 @@ import org.apache.druid.msq.guice.MSQExternalDataSourceModule; import org.apache.druid.msq.guice.MSQIndexingModule; import org.apache.druid.msq.querykit.DataSegmentProvider; -import org.apache.druid.query.DruidProcessingConfig; import org.apache.druid.query.ForwardingQueryProcessingPool; import org.apache.druid.query.QueryProcessingPool; -import org.apache.druid.query.groupby.GroupByQueryConfig; -import org.apache.druid.query.groupby.GroupByQueryRunnerTest; -import org.apache.druid.query.groupby.GroupingEngine; import org.apache.druid.query.groupby.TestGroupByBuffers; import org.apache.druid.segment.CompleteSegment; import org.apache.druid.segment.TestIndex; @@ -98,15 +94,6 @@ public void configure(Binder binder) { }).annotatedWith(Self.class).toInstance(ImmutableSet.of(NodeRole.PEON)); - DruidProcessingConfig druidProcessingConfig = new DruidProcessingConfig() - { - @Override - public String getFormatString() - { - return "test"; - } - }; - binder.bind(DruidProcessingConfig.class).toInstance(druidProcessingConfig); binder.bind(QueryProcessingPool.class) .toInstance(new ForwardingQueryProcessingPool(Execs.singleThreaded("Test-runner-processing-pool"))); @@ -174,7 +161,6 @@ public Supplier> fetchSegment( CompleteSegment a = walker.getSegment(segmentId); return () -> new ReferenceCountingResourceHolder<>(a, Closer.create()); } - } @Provides @@ -182,18 +168,6 @@ public DataServerQueryHandlerFactory provideDataServerQueryHandlerFactory() { return getTestDataServerQueryHandlerFactory(); } - - @Provides - @LazySingleton - GroupingEngine getGroupingEngine(GroupByQueryConfig groupByQueryConfig, TestGroupByBuffers groupByBuffers) - { - GroupingEngine groupingEngine = GroupByQueryRunnerTest.makeQueryRunnerFactory( - groupByQueryConfig, - groupByBuffers - ).getGroupingEngine(); - return groupingEngine; - } - } @Deprecated diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/DartComponentSupplier.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/DartComponentSupplier.java index 7cfac91a4ce5..9beabe7f6905 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/DartComponentSupplier.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/DartComponentSupplier.java @@ -19,9 +19,7 @@ package org.apache.druid.msq.test; -import com.fasterxml.jackson.databind.ObjectMapper; import com.google.inject.Binder; -import com.google.inject.Injector; import com.google.inject.Provides; import org.apache.druid.collections.NonBlockingPool; import org.apache.druid.discovery.DruidNodeDiscoveryProvider; @@ -41,7 +39,6 @@ import org.apache.druid.query.TestBufferPool; import org.apache.druid.rpc.ServiceClientFactory; import org.apache.druid.rpc.guice.ServiceClientModule; -import org.apache.druid.server.QueryLifecycleFactory; import org.apache.druid.sql.avatica.DartDruidMeta; import org.apache.druid.sql.avatica.DruidMeta; import org.apache.druid.sql.calcite.TempDirProducer; @@ -90,12 +87,9 @@ public DruidModule getOverrideModule() } @Override - public SqlEngine createEngine( - QueryLifecycleFactory qlf, - ObjectMapper queryJsonMapper, - Injector injector) + public Class getSqlEngineClass() { - return injector.getInstance(DartSqlEngine.class); + return DartSqlEngine.class; } static class DartTestCoreModule implements DruidModule diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/util/DimensionSchemaUtilsTest.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/util/DimensionSchemaUtilsTest.java index 0a4e3ddbd814..d068753d7189 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/util/DimensionSchemaUtilsTest.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/util/DimensionSchemaUtilsTest.java @@ -25,14 +25,23 @@ import org.apache.druid.data.input.impl.LongDimensionSchema; import org.apache.druid.data.input.impl.StringDimensionSchema; import org.apache.druid.error.DruidException; +import org.apache.druid.java.util.emitter.EmittingLogger; import org.apache.druid.segment.AutoTypeColumnSchema; import org.apache.druid.segment.column.ColumnType; +import org.apache.druid.server.metrics.NoopServiceEmitter; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; public class DimensionSchemaUtilsTest { + @Before + public void setup() + { + EmittingLogger.registerEmitter(new NoopServiceEmitter()); + } + @Test public void testSchemaScalars() { @@ -179,19 +188,28 @@ public void testSchemaMvdMode() DruidException.class, () -> DimensionSchemaUtils.createDimensionSchema("x", ColumnType.LONG_ARRAY, false, ArrayIngestMode.MVD) ); - Assert.assertEquals("Numeric arrays can only be ingested when 'arrayIngestMode' is set to 'array'. Current value of the parameter is[mvd]", t.getMessage()); + Assert.assertEquals( + "Numeric arrays can only be ingested when 'arrayIngestMode' is set to 'array'. Current value of the parameter is[mvd]", + t.getMessage() + ); t = Assert.assertThrows( DruidException.class, () -> DimensionSchemaUtils.createDimensionSchema("x", ColumnType.DOUBLE_ARRAY, false, ArrayIngestMode.MVD) ); - Assert.assertEquals("Numeric arrays can only be ingested when 'arrayIngestMode' is set to 'array'. Current value of the parameter is[mvd]", t.getMessage()); + Assert.assertEquals( + "Numeric arrays can only be ingested when 'arrayIngestMode' is set to 'array'. Current value of the parameter is[mvd]", + t.getMessage() + ); t = Assert.assertThrows( DruidException.class, () -> DimensionSchemaUtils.createDimensionSchema("x", ColumnType.FLOAT_ARRAY, false, ArrayIngestMode.MVD) ); - Assert.assertEquals("Numeric arrays can only be ingested when 'arrayIngestMode' is set to 'array'. Current value of the parameter is[mvd]", t.getMessage()); + Assert.assertEquals( + "Numeric arrays can only be ingested when 'arrayIngestMode' is set to 'array'. Current value of the parameter is[mvd]", + t.getMessage() + ); } @Test diff --git a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/MarkSegmentsAsUnusedAction.java b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/MarkSegmentsAsUnusedAction.java index a3341022f625..39bf0df10b23 100644 --- a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/MarkSegmentsAsUnusedAction.java +++ b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/MarkSegmentsAsUnusedAction.java @@ -62,7 +62,7 @@ public TypeReference getReturnTypeReference() public Integer perform(Task task, TaskActionToolbox toolbox) { return toolbox.getIndexerMetadataStorageCoordinator() - .markSegmentsAsUnusedWithinInterval(dataSource, interval); + .markSegmentsWithinIntervalAsUnused(dataSource, interval, null); } } diff --git a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedFromSegmentIdsAction.java b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedFromSegmentIdsAction.java index 2f86f568c450..3ffad3881f1c 100644 --- a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedFromSegmentIdsAction.java +++ b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedFromSegmentIdsAction.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.type.TypeReference; +import org.apache.druid.common.utils.IdUtils; import org.apache.druid.indexing.common.task.Task; import java.util.Set; @@ -42,6 +43,8 @@ public RetrieveUpgradedFromSegmentIdsAction( { this.dataSource = dataSource; this.segmentIds = segmentIds; + + IdUtils.getValidSegmentIds(dataSource, segmentIds); } @JsonProperty diff --git a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedToSegmentIdsAction.java b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedToSegmentIdsAction.java index ab2547ecb7ef..493b16948638 100644 --- a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedToSegmentIdsAction.java +++ b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedToSegmentIdsAction.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.type.TypeReference; +import org.apache.druid.common.utils.IdUtils; import org.apache.druid.indexing.common.task.Task; import java.util.Set; @@ -47,6 +48,8 @@ public RetrieveUpgradedToSegmentIdsAction( { this.dataSource = dataSource; this.segmentIds = segmentIds; + + IdUtils.getValidSegmentIds(dataSource, segmentIds); } @JsonProperty diff --git a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResource.java b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResource.java index bf9ff43981cd..94e4ef274a8e 100644 --- a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResource.java +++ b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResource.java @@ -25,8 +25,9 @@ import com.sun.jersey.spi.container.ResourceFilters; import org.apache.druid.audit.AuditEntry; import org.apache.druid.audit.AuditManager; +import org.apache.druid.common.utils.IdUtils; import org.apache.druid.error.DruidException; -import org.apache.druid.error.InvalidInput; +import org.apache.druid.indexing.overlord.IndexerMetadataStorageCoordinator; import org.apache.druid.indexing.overlord.TaskMaster; import org.apache.druid.java.util.common.StringUtils; import org.apache.druid.java.util.common.logger.Logger; @@ -49,7 +50,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Set; @@ -66,6 +66,7 @@ public class OverlordDataSourcesResource private static final Logger log = new Logger(OverlordDataSourcesResource.class); private final SegmentsMetadataManager segmentsMetadataManager; + private final IndexerMetadataStorageCoordinator metadataStorageCoordinator; private final TaskMaster taskMaster; private final AuditManager auditManager; @@ -73,12 +74,14 @@ public class OverlordDataSourcesResource public OverlordDataSourcesResource( TaskMaster taskMaster, SegmentsMetadataManager segmentsMetadataManager, + IndexerMetadataStorageCoordinator metadataStorageCoordinator, AuditManager auditManager ) { this.taskMaster = taskMaster; this.auditManager = auditManager; this.segmentsMetadataManager = segmentsMetadataManager; + this.metadataStorageCoordinator = metadataStorageCoordinator; } private interface SegmentUpdateOperation @@ -109,8 +112,8 @@ public Response markAllSegmentsAsUnused( @Context HttpServletRequest req ) { - SegmentUpdateOperation operation = () -> segmentsMetadataManager - .markAsUnusedAllSegmentsInDataSource(dataSourceName); + SegmentUpdateOperation operation = + () -> metadataStorageCoordinator.markAllSegmentsAsUnused(dataSourceName); final Response response = performSegmentUpdate(dataSourceName, operation); final int responseCode = response.getStatus(); @@ -147,18 +150,10 @@ public Response markNonOvershadowedSegmentsAsUsed( return 0; } - // Validate segmentIds - final List invalidSegmentIds = new ArrayList<>(); - for (String segmentId : segmentIds) { - if (SegmentId.iteratePossibleParsingsWithDataSource(dataSourceName, segmentId).isEmpty()) { - invalidSegmentIds.add(segmentId); - } - } - if (!invalidSegmentIds.isEmpty()) { - throw InvalidInput.exception("Could not parse invalid segment IDs[%s]", invalidSegmentIds); - } - - return segmentsMetadataManager.markAsUsedNonOvershadowedSegments(dataSourceName, segmentIds); + return segmentsMetadataManager.markAsUsedNonOvershadowedSegments( + dataSourceName, + IdUtils.getValidSegmentIds(dataSourceName, segmentIds) + ); } }; @@ -188,7 +183,8 @@ public Response markSegmentsAsUnused( final List versions = payload.getVersions(); final int numUpdatedSegments; if (interval != null) { - numUpdatedSegments = segmentsMetadataManager.markAsUnusedSegmentsInInterval(dataSourceName, interval, versions); + numUpdatedSegments = metadataStorageCoordinator + .markSegmentsWithinIntervalAsUnused(dataSourceName, interval, versions); } else { final Set segmentIds = payload.getSegmentIds() .stream() @@ -197,7 +193,8 @@ public Response markSegmentsAsUnused( .collect(Collectors.toSet()); // Filter out segmentIds that do not belong to this datasource - numUpdatedSegments = segmentsMetadataManager.markSegmentsAsUnused( + numUpdatedSegments = metadataStorageCoordinator.markSegmentsAsUnused( + dataSourceName, segmentIds.stream() .filter(segmentId -> segmentId.getDataSource().equals(dataSourceName)) .collect(Collectors.toSet()) @@ -240,7 +237,7 @@ public Response markSegmentAsUnused( } SegmentUpdateOperation operation = - () -> segmentsMetadataManager.markSegmentAsUnused(segmentId) ? 1 : 0; + () -> metadataStorageCoordinator.markSegmentAsUnused(segmentId) ? 1 : 0; return performSegmentUpdate(dataSourceName, operation); } diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/RetrieveSegmentsActionsTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/RetrieveSegmentsActionsTest.java index 5800e3b1ec15..8ef97352921f 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/RetrieveSegmentsActionsTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/RetrieveSegmentsActionsTest.java @@ -99,7 +99,6 @@ private static DataSegment createSegment(Interval interval, String version) @Test public void testRetrieveUsedSegmentsAction() { - actionTestKit.syncSegmentMetadataCache(); final RetrieveUsedSegmentsAction action = new RetrieveUsedSegmentsAction(task.getDataSource(), ImmutableList.of(INTERVAL)); final Set observedUsedSegments = new HashSet<>(action.perform(task, actionTestKit.getTaskActionToolbox())); diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/SegmentAllocateActionTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/SegmentAllocateActionTest.java index af6406d4c8df..be5f6c3ab399 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/SegmentAllocateActionTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/SegmentAllocateActionTest.java @@ -1168,7 +1168,7 @@ public void testSegmentIdMustNotBeReused() coordinator.deletePendingSegmentsForTaskAllocatorId(task1.getDataSource(), task1.getTaskAllocatorId()); // Drop all segments - coordinator.markSegmentsAsUnusedWithinInterval(task0.getDataSource(), Intervals.ETERNITY); + coordinator.markSegmentsWithinIntervalAsUnused(task0.getDataSource(), Intervals.ETERNITY, null); // Allocate another id and ensure that it doesn't exist in the druid_segments table final SegmentIdWithShardSpec theId = diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/TaskActionTestKit.java b/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/TaskActionTestKit.java index 352b062fe947..ed30db142a95 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/TaskActionTestKit.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/TaskActionTestKit.java @@ -66,7 +66,7 @@ public class TaskActionTestKit extends ExternalResource private SegmentMetadataCache segmentMetadataCache; private BlockingExecutorService metadataCachePollExec; - private boolean useSegmentMetadataCache = new SegmentsMetadataManagerConfig(null, null).isUseCache(); + private boolean useSegmentMetadataCache = false; private boolean skipSegmentPayloadFetchForAllocation = new TaskLockConfig().isBatchAllocationReduceMetadataIO(); public TaskLockbox getTaskLockbox() @@ -182,13 +182,17 @@ public boolean isBatchAllocationReduceMetadataIO() private SqlSegmentMetadataTransactionFactory setupTransactionFactory(ObjectMapper objectMapper) { metadataCachePollExec = new BlockingExecutorService("test-cache-poll-exec"); + SegmentMetadataCache.UsageMode cacheMode + = useSegmentMetadataCache + ? SegmentMetadataCache.UsageMode.ALWAYS + : SegmentMetadataCache.UsageMode.NEVER; segmentMetadataCache = new HeapMemorySegmentMetadataCache( objectMapper, - Suppliers.ofInstance(new SegmentsMetadataManagerConfig(Period.seconds(1), useSegmentMetadataCache)), + Suppliers.ofInstance(new SegmentsMetadataManagerConfig(Period.seconds(1), cacheMode)), Suppliers.ofInstance(metadataStorageTablesConfig), testDerbyConnector, (poolSize, name) -> new WrappingScheduledExecutorService(name, metadataCachePollExec, false), - new NoopServiceEmitter() + NoopServiceEmitter.instance() ); final TestDruidLeaderSelector leaderSelector = new TestDruidLeaderSelector(); @@ -199,7 +203,8 @@ private SqlSegmentMetadataTransactionFactory setupTransactionFactory(ObjectMappe metadataStorageTablesConfig, testDerbyConnector, leaderSelector, - segmentMetadataCache + segmentMetadataCache, + NoopServiceEmitter.instance() ) { @Override @@ -222,6 +227,6 @@ public void after() taskActionToolbox = null; segmentMetadataCache.stopBeingLeader(); segmentMetadataCache.stop(); - useSegmentMetadataCache = new SegmentsMetadataManagerConfig(null, null).isUseCache(); + useSegmentMetadataCache = false; } } diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/common/task/IngestionTestBase.java b/indexing-service/src/test/java/org/apache/druid/indexing/common/task/IngestionTestBase.java index 57a918cd9e50..6e7b30b4be27 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/common/task/IngestionTestBase.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/common/task/IngestionTestBase.java @@ -315,9 +315,13 @@ public TaskToolbox createTaskToolbox(TaskConfig config, Task task, SupervisorMan private SqlSegmentMetadataTransactionFactory createTransactionFactory() { + final SegmentMetadataCache.UsageMode cacheMode + = useSegmentMetadataCache + ? SegmentMetadataCache.UsageMode.ALWAYS + : SegmentMetadataCache.UsageMode.NEVER; segmentMetadataCache = new HeapMemorySegmentMetadataCache( objectMapper, - Suppliers.ofInstance(new SegmentsMetadataManagerConfig(Period.millis(10), useSegmentMetadataCache)), + Suppliers.ofInstance(new SegmentsMetadataManagerConfig(Period.millis(10), cacheMode)), derbyConnectorRule.metadataTablesConfigSupplier(), derbyConnectorRule.getConnector(), ScheduledExecutors::fixed, @@ -332,7 +336,8 @@ private SqlSegmentMetadataTransactionFactory createTransactionFactory() derbyConnectorRule.metadataTablesConfigSupplier().get(), derbyConnectorRule.getConnector(), leaderSelector, - segmentMetadataCache + segmentMetadataCache, + NoopServiceEmitter.instance() ); } diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/common/task/KillUnusedSegmentsTaskTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/common/task/KillUnusedSegmentsTaskTest.java index 7360fd273b14..052c1ae0a202 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/common/task/KillUnusedSegmentsTaskTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/common/task/KillUnusedSegmentsTaskTest.java @@ -40,6 +40,7 @@ import org.apache.druid.server.coordination.BroadcastDatasourceLoadingSpec; import org.apache.druid.server.lookup.cache.LookupLoadingSpec; import org.apache.druid.timeline.DataSegment; +import org.apache.druid.timeline.SegmentId; import org.assertj.core.api.Assertions; import org.easymock.Capture; import org.easymock.EasyMock; @@ -62,7 +63,7 @@ @RunWith(Parameterized.class) public class KillUnusedSegmentsTaskTest extends IngestionTestBase { - private static final String DATA_SOURCE = "dataSource"; + private static final String DATA_SOURCE = "wiki"; private TestTaskRunner taskRunner; @@ -147,14 +148,15 @@ public void testKill() throws Exception @Test public void testKillSegmentsDeleteUnreferencedSiblings() throws Exception { + final SegmentId nonExistentParent = segment3.getId(); final Map upgradeSegmentMapping = ImmutableMap.of( segment1.getId().toString(), - "nonExistentParent", + nonExistentParent.toString(), segment2.getId().toString(), - "nonExistentParent" + nonExistentParent.toString() ); insertUsedSegments(ImmutableSet.of(segment1, segment2), upgradeSegmentMapping); - getStorageCoordinator().markSegmentsAsUnusedWithinInterval(DATA_SOURCE, Intervals.ETERNITY); + getStorageCoordinator().markSegmentsWithinIntervalAsUnused(DATA_SOURCE, Intervals.ETERNITY, null); final KillUnusedSegmentsTask task = new KillUnusedSegmentsTaskBuilder() @@ -185,14 +187,15 @@ public void testKillSegmentsDeleteUnreferencedSiblings() throws Exception @Test public void testKillSegmentsDoNotDeleteReferencedSibling() throws Exception { + final SegmentId nonExistentParent = segment3.getId(); final Map upgradeSegmentMapping = ImmutableMap.of( segment1.getId().toString(), - "nonExistentParent", + nonExistentParent.toString(), segment2.getId().toString(), - "nonExistentParent" + nonExistentParent.toString() ); insertUsedSegments(ImmutableSet.of(segment1, segment2), upgradeSegmentMapping); - getStorageCoordinator().markSegmentsAsUnusedWithinInterval(DATA_SOURCE, Intervals.ETERNITY); + getStorageCoordinator().markSegmentsWithinIntervalAsUnused(DATA_SOURCE, Intervals.ETERNITY, null); final KillUnusedSegmentsTask task = new KillUnusedSegmentsTaskBuilder() diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLifecycleTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLifecycleTest.java index e0a88f500b82..e6535fdadc90 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLifecycleTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLifecycleTest.java @@ -817,7 +817,8 @@ public DataSegment apply(String input) } ); - mdc.setUnusedSegments(expectedUnusedSegments); + mdc.commitSegments(Set.copyOf(expectedUnusedSegments), null); + expectedUnusedSegments.forEach(segment -> mdc.markSegmentAsUnused(segment.getId())); // manually create local segments files List segmentFiles = new ArrayList<>(); @@ -849,7 +850,7 @@ public DataSegment apply(String input) final TaskStatus status = runTask(killUnusedSegmentsTask); Assert.assertEquals(taskLocation, status.getLocation()); Assert.assertEquals("merged statusCode", TaskState.SUCCESS, status.getStatusCode()); - Assert.assertEquals("num segments published", 0, mdc.getPublished().size()); + Assert.assertEquals("num segments published", 3, mdc.getPublished().size()); Assert.assertEquals("num segments nuked", 3, mdc.getNuked().size()); Assert.assertEquals("delete segment batch call count", 2, mdc.getDeleteSegmentsCount()); Assert.assertTrue( @@ -914,7 +915,8 @@ public DataSegment apply(String input) } ); - mdc.setUnusedSegments(expectedUnusedSegments); + mdc.commitSegments(Set.copyOf(expectedUnusedSegments), null); + expectedUnusedSegments.forEach(segment -> mdc.markSegmentAsUnused(segment.getId())); // manually create local segments files List segmentFiles = new ArrayList<>(); @@ -947,7 +949,7 @@ public DataSegment apply(String input) final TaskStatus status = runTask(killUnusedSegmentsTask); Assert.assertEquals(taskLocation, status.getLocation()); Assert.assertEquals("merged statusCode", TaskState.SUCCESS, status.getStatusCode()); - Assert.assertEquals("num segments published", 0, mdc.getPublished().size()); + Assert.assertEquals("num segments published", 3, mdc.getPublished().size()); Assert.assertEquals("num segments nuked", maxSegmentsToKill, mdc.getNuked().size()); Assert.assertTrue( "expected unused segments get killed", diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockBoxConcurrencyTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockBoxConcurrencyTest.java index 6436ad3d35ca..a55117aad12d 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockBoxConcurrencyTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockBoxConcurrencyTest.java @@ -38,6 +38,7 @@ import org.apache.druid.segment.metadata.CentralizedDatasourceSchemaConfig; import org.apache.druid.segment.metadata.SegmentSchemaManager; import org.apache.druid.server.coordinator.simulate.TestDruidLeaderSelector; +import org.apache.druid.server.metrics.NoopServiceEmitter; import org.joda.time.Interval; import org.junit.After; import org.junit.Assert; @@ -88,7 +89,8 @@ public void setup() derby.metadataTablesConfigSupplier().get(), derbyConnector, new TestDruidLeaderSelector(), - new NoopSegmentMetadataCache() + NoopSegmentMetadataCache.instance(), + NoopServiceEmitter.instance() ), objectMapper, derby.metadataTablesConfigSupplier().get(), diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockboxTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockboxTest.java index 8e72d21fda81..48c5b5c4e94a 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockboxTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockboxTest.java @@ -63,6 +63,7 @@ import org.apache.druid.segment.metadata.SegmentSchemaManager; import org.apache.druid.segment.realtime.appenderator.SegmentIdWithShardSpec; import org.apache.druid.server.coordinator.simulate.TestDruidLeaderSelector; +import org.apache.druid.server.metrics.NoopServiceEmitter; import org.apache.druid.timeline.partition.HashBasedNumberedPartialShardSpec; import org.apache.druid.timeline.partition.HashBasedNumberedShardSpec; import org.apache.druid.timeline.partition.NumberedOverwritePartialShardSpec; @@ -136,7 +137,8 @@ public void setup() tablesConfig, derbyConnector, new TestDruidLeaderSelector(), - new NoopSegmentMetadataCache() + NoopSegmentMetadataCache.instance(), + NoopServiceEmitter.instance() ), objectMapper, tablesConfig, @@ -477,7 +479,8 @@ public void testSyncWithUnknownTaskTypesFromModuleNotLoaded() derby.metadataTablesConfigSupplier().get(), derbyConnector, new TestDruidLeaderSelector(), - new NoopSegmentMetadataCache() + NoopSegmentMetadataCache.instance(), + NoopServiceEmitter.instance() ), loadedMapper, derby.metadataTablesConfigSupplier().get(), diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskQueueScaleTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskQueueScaleTest.java index 80026f137269..f54ea7fe5860 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskQueueScaleTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskQueueScaleTest.java @@ -111,7 +111,8 @@ public void setUp() derbyConnectorRule.metadataTablesConfigSupplier().get(), derbyConnectorRule.getConnector(), new TestDruidLeaderSelector(), - new NoopSegmentMetadataCache() + NoopSegmentMetadataCache.instance(), + NoopServiceEmitter.instance() ), jsonMapper, derbyConnectorRule.metadataTablesConfigSupplier().get(), diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResourceTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResourceTest.java index 7bea4b2aec1b..fa4a3f6c51be 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResourceTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResourceTest.java @@ -19,10 +19,10 @@ package org.apache.druid.indexing.overlord.http; -import com.google.common.collect.ImmutableSet; import org.apache.druid.audit.AuditManager; import org.apache.druid.client.ImmutableDruidDataSource; import org.apache.druid.indexing.overlord.TaskMaster; +import org.apache.druid.indexing.test.TestIndexerMetadataStorageCoordinator; import org.apache.druid.java.util.common.Intervals; import org.apache.druid.java.util.common.granularity.Granularities; import org.apache.druid.rpc.indexing.SegmentUpdateResponse; @@ -63,17 +63,21 @@ public class OverlordDataSourcesResourceTest public void setup() { AuditManager auditManager = EasyMock.createStrictMock(AuditManager.class); - segmentsMetadataManager = new TestSegmentsMetadataManager(); + final TestIndexerMetadataStorageCoordinator metadataStorageCoordinator + = new TestIndexerMetadataStorageCoordinator(); + segmentsMetadataManager = metadataStorageCoordinator.getSegmentsMetadataManager(); TaskMaster taskMaster = new TaskMaster(null, null); dataSourcesResource = new OverlordDataSourcesResource( taskMaster, segmentsMetadataManager, + metadataStorageCoordinator, auditManager ); taskMaster.becomeFullLeader(); WIKI_SEGMENTS_10X1D.forEach(segmentsMetadataManager::addSegment); + metadataStorageCoordinator.commitSegments(Set.copyOf(WIKI_SEGMENTS_10X1D), null); } @Test @@ -113,7 +117,7 @@ public void testMarkAllSegmentsAsUnused() @Test public void testMarkSegmentsAsUnused_bySegmentIds() { - final Set segmentIdsToUpdate = ImmutableSet.of( + final Set segmentIdsToUpdate = Set.of( WIKI_SEGMENTS_10X1D.get(0).getId().toString(), WIKI_SEGMENTS_10X1D.get(8).getId().toString() ); @@ -279,7 +283,7 @@ public void testMarkNonOvershadowedSegmentsAsUsed_bySegmentIds() { dataSourcesResource.markAllSegmentsAsUnused(TestDataSource.WIKI, createHttpServletRequest()); - final Set segmentIdsToUpdate = ImmutableSet.of( + final Set segmentIdsToUpdate = Set.of( WIKI_SEGMENTS_10X1D.get(0).getId().toString(), WIKI_SEGMENTS_10X1D.get(1).getId().toString() ); diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/seekablestream/SeekableStreamIndexTaskTestBase.java b/indexing-service/src/test/java/org/apache/druid/indexing/seekablestream/SeekableStreamIndexTaskTestBase.java index 214c024b4548..9e82196f8117 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/seekablestream/SeekableStreamIndexTaskTestBase.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/seekablestream/SeekableStreamIndexTaskTestBase.java @@ -123,6 +123,7 @@ import org.apache.druid.server.coordination.DataSegmentServerAnnouncer; import org.apache.druid.server.coordination.ServerType; import org.apache.druid.server.coordinator.simulate.TestDruidLeaderSelector; +import org.apache.druid.server.metrics.NoopServiceEmitter; import org.apache.druid.server.security.AuthTestUtils; import org.apache.druid.timeline.DataSegment; import org.apache.druid.utils.CompressionUtils; @@ -595,7 +596,8 @@ protected void makeToolboxFactory(TestUtils testUtils, ServiceEmitter emitter, b derby.metadataTablesConfigSupplier().get(), derbyConnector, new TestDruidLeaderSelector(), - new NoopSegmentMetadataCache() + NoopSegmentMetadataCache.instance(), + NoopServiceEmitter.instance() ), objectMapper, derby.metadataTablesConfigSupplier().get(), diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/test/TestIndexerMetadataStorageCoordinator.java b/indexing-service/src/test/java/org/apache/druid/indexing/test/TestIndexerMetadataStorageCoordinator.java index 44008c0fb8aa..c7c2bb5ad892 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/test/TestIndexerMetadataStorageCoordinator.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/test/TestIndexerMetadataStorageCoordinator.java @@ -20,8 +20,6 @@ package org.apache.druid.indexing.test; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import org.apache.druid.indexing.overlord.DataSourceMetadata; import org.apache.druid.indexing.overlord.IndexerMetadataStorageCoordinator; @@ -34,30 +32,31 @@ import org.apache.druid.metadata.ReplaceTaskLock; import org.apache.druid.segment.SegmentSchemaMapping; import org.apache.druid.segment.realtime.appenderator.SegmentIdWithShardSpec; +import org.apache.druid.server.coordinator.simulate.TestSegmentsMetadataManager; import org.apache.druid.timeline.DataSegment; +import org.apache.druid.timeline.SegmentId; import org.apache.druid.timeline.SegmentTimeline; import org.joda.time.DateTime; import org.joda.time.Interval; import javax.annotation.Nullable; -import java.util.ArrayList; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; public class TestIndexerMetadataStorageCoordinator implements IndexerMetadataStorageCoordinator { private final ObjectMapper objectMapper = new DefaultObjectMapper(); - private final Set published = Sets.newConcurrentHashSet(); private final Set nuked = Sets.newConcurrentHashSet(); - private final List unusedSegments; + private final TestSegmentsMetadataManager segmentsMetadataManager = new TestSegmentsMetadataManager(); + private int deleteSegmentsCount = 0; - public TestIndexerMetadataStorageCoordinator() + public TestSegmentsMetadataManager getSegmentsMetadataManager() { - unusedSegments = new ArrayList<>(); + return segmentsMetadataManager; } @Override @@ -87,13 +86,13 @@ public boolean insertDataSourceMetadata(String dataSource, DataSourceMetadata da @Override public Set retrieveAllUsedSegments(String dataSource, Segments visibility) { - return ImmutableSet.of(); + return Set.of(); } @Override public List> retrieveUsedSegmentsAndCreatedDates(String dataSource, List intervals) { - return ImmutableList.of(); + return List.of(); } @Override @@ -103,7 +102,7 @@ public Set retrieveUsedSegmentsForIntervals( Segments visibility ) { - return ImmutableSet.of(); + return Set.of(); } @Override @@ -126,26 +125,41 @@ public List retrieveUnusedSegmentsForInterval( @Nullable DateTime maxUsedStatusLastUpdatedTime ) { - synchronized (unusedSegments) { - return ImmutableList.copyOf( - unusedSegments.stream() - .filter(ds -> !nuked.contains(ds)) - .limit(limit != null ? limit : Long.MAX_VALUE) - .iterator() - ); - } + return segmentsMetadataManager.getAllUnusedSegments() + .stream() + .filter(ds -> !nuked.contains(ds)) + .limit(limit != null ? limit : Long.MAX_VALUE) + .collect(Collectors.toList()); } @Override public Set retrieveSegmentsById(String dataSource, Set segmentIds) { - return Collections.emptySet(); + return Set.of(); + } + + @Override + public boolean markSegmentAsUnused(SegmentId segmentId) + { + return segmentsMetadataManager.markSegmentAsUnused(segmentId); + } + + @Override + public int markSegmentsAsUnused(String dataSource, Set segmentIds) + { + return segmentsMetadataManager.markSegmentsAsUnused(segmentIds); + } + + @Override + public int markAllSegmentsAsUnused(String dataSource) + { + return segmentsMetadataManager.markAsUnusedAllSegmentsInDataSource(dataSource); } @Override - public int markSegmentsAsUnusedWithinInterval(String dataSource, Interval interval) + public int markSegmentsWithinIntervalAsUnused(String dataSource, Interval interval, @Nullable List versions) { - return 0; + return segmentsMetadataManager.markAsUnusedSegmentsInInterval(dataSource, interval, versions); } @Override @@ -156,11 +170,11 @@ public Set commitSegments( { Set added = new HashSet<>(); for (final DataSegment segment : segments) { - if (published.add(segment)) { + if (segmentsMetadataManager.addSegment(segment)) { added.add(segment); } } - return ImmutableSet.copyOf(added); + return Set.copyOf(added); } @Override @@ -172,7 +186,7 @@ public Map allocatePendingSegments boolean isTimeChunk ) { - return Collections.emptyMap(); + return Map.of(); } @Override @@ -315,7 +329,7 @@ public Map retrieveUpgradedFromSegmentIds( final Set segmentIds ) { - return Collections.emptyMap(); + return Map.of(); } @Override @@ -324,7 +338,7 @@ public Map> retrieveUpgradedToSegmentIds( final Set segmentIds ) { - return Collections.emptyMap(); + return Map.of(); } @Override @@ -336,31 +350,23 @@ public SegmentTimeline getSegmentTimelineForAllocation( { return SegmentTimeline.forSegments(retrieveUsedSegmentsForIntervals( dataSource, - Collections.singletonList(interval), + List.of(interval), Segments.INCLUDING_OVERSHADOWED )); } public Set getPublished() { - return ImmutableSet.copyOf(published); + return segmentsMetadataManager.getAllSegments(); } public Set getNuked() { - return ImmutableSet.copyOf(nuked); + return Set.copyOf(nuked); } public int getDeleteSegmentsCount() { return deleteSegmentsCount; } - - public void setUnusedSegments(List newUnusedSegments) - { - synchronized (unusedSegments) { - unusedSegments.clear(); - unusedSegments.addAll(newUnusedSegments); - } - } } diff --git a/integration-tests-ex/cases/cluster/Common/environment-configs/overlord.env b/integration-tests-ex/cases/cluster/Common/environment-configs/overlord.env index 0d92fe9e09d4..5e8b6a809cc9 100644 --- a/integration-tests-ex/cases/cluster/Common/environment-configs/overlord.env +++ b/integration-tests-ex/cases/cluster/Common/environment-configs/overlord.env @@ -29,5 +29,5 @@ druid_indexer_runner_type=remote druid_auth_basic_common_cacheDirectory=/tmp/authCache/overlord druid_server_https_crlPath=/tls/revocations.crl -druid_segments_manager_pollDuration=PT5S -druid_segments_manager_useCache=true +druid_manager_segments_pollDuration=PT5S +druid_manager_segments_useCache=always diff --git a/integration-tests/docker/environment-configs/overlord b/integration-tests/docker/environment-configs/overlord index 1f3e7fcb602e..df351c73d278 100644 --- a/integration-tests/docker/environment-configs/overlord +++ b/integration-tests/docker/environment-configs/overlord @@ -33,5 +33,5 @@ druid_indexer_storage_type=metadata druid_indexer_runner_type=remote druid_auth_basic_common_cacheDirectory=/tmp/authCache/overlord druid_server_https_crlPath=/tls/revocations.crl -druid_segments_manager_pollDuration=PT2S -druid_segments_manager_useCache=true +druid_manager_segments_pollDuration=PT5S +druid_manager_segments_useCache=always diff --git a/licenses.yaml b/licenses.yaml index 8f46132a18fe..9b7370e22e13 100644 --- a/licenses.yaml +++ b/licenses.yaml @@ -5055,7 +5055,7 @@ license_category: binary module: web-console license_name: MIT License copyright: The Babel Team -version: 7.23.5 +version: 7.26.2 license_file_path: licenses/bin/@babel-code-frame.MIT --- @@ -5075,7 +5075,7 @@ license_category: binary module: web-console license_name: MIT License copyright: The Babel Team -version: 7.23.4 +version: 7.25.9 license_file_path: licenses/bin/@babel-helper-string-parser.MIT --- @@ -5085,27 +5085,17 @@ license_category: binary module: web-console license_name: MIT License copyright: The Babel Team -version: 7.22.20 +version: 7.25.9 license_file_path: licenses/bin/@babel-helper-validator-identifier.MIT --- -name: "@babel/highlight" -license_category: binary -module: web-console -license_name: MIT License -copyright: The Babel Team -version: 7.23.4 -license_file_path: licenses/bin/@babel-highlight.MIT - ---- - name: "@babel/runtime" license_category: binary module: web-console license_name: MIT License copyright: The Babel Team -version: 7.21.0 +version: 7.27.0 license_file_path: licenses/bin/@babel-runtime.MIT --- @@ -5115,7 +5105,7 @@ license_category: binary module: web-console license_name: MIT License copyright: The Babel Team -version: 7.24.0 +version: 7.27.0 license_file_path: licenses/bin/@babel-types.MIT --- @@ -5362,16 +5352,6 @@ license_file_path: licenses/bin/ace-builds.BSD3 --- -name: "ansi-styles" -license_category: binary -module: web-console -license_name: MIT License -copyright: Sindre Sorhus -version: 3.2.1 -license_file_path: licenses/bin/ansi-styles.MIT - ---- - name: "asynckit" license_category: binary module: web-console @@ -5387,7 +5367,7 @@ license_category: binary module: web-console license_name: MIT License copyright: Matt Zabriskie -version: 1.7.7 +version: 1.8.4 license_file_path: licenses/bin/axios.MIT --- @@ -5452,16 +5432,6 @@ license_file_path: licenses/bin/capital-case.MIT --- -name: "chalk" -license_category: binary -module: web-console -license_name: MIT License -copyright: Sindre Sorhus (sindresorhus.com) -version: 2.4.2 -license_file_path: licenses/bin/chalk.MIT - ---- - name: "change-case" license_category: binary module: web-console @@ -5491,26 +5461,6 @@ license_file_path: licenses/bin/classnames.MIT --- -name: "color-convert" -license_category: binary -module: web-console -license_name: MIT License -copyright: Heather Arthur -version: 1.9.3 -license_file_path: licenses/bin/color-convert.MIT - ---- - -name: "color-name" -license_category: binary -module: web-console -license_name: MIT License -copyright: DY -version: 1.1.3 -license_file_path: licenses/bin/color-name.MIT - ---- - name: "combined-stream" license_category: binary module: web-console @@ -5878,16 +5828,6 @@ license_file_path: licenses/bin/function-bind.MIT --- -name: "has-flag" -license_category: binary -module: web-console -license_name: MIT License -copyright: Sindre Sorhus -version: 3.0.0 -license_file_path: licenses/bin/has-flag.MIT - ---- - name: "hasown" license_category: binary module: web-console @@ -6098,6 +6038,16 @@ license_file_path: licenses/bin/lower-case.MIT --- +name: "markdown-table-ts" +license_category: binary +module: web-console +license_name: MIT License +copyright: Jiri Hajek +version: 1.0.3 +license_file_path: licenses/bin/markdown-table-ts.MIT + +--- + name: "memoize-one" license_category: binary module: web-console @@ -6257,6 +6207,16 @@ license_file_path: licenses/bin/path-type.MIT --- +name: "picocolors" +license_category: binary +module: web-console +license_name: ISC License +copyright: Alexey Raspopov +version: 1.1.1 +license_file_path: licenses/bin/picocolors.ISC + +--- + name: "prop-types" license_category: binary module: web-console @@ -6527,16 +6487,6 @@ license_file_path: licenses/bin/source-map.BSD3 --- -name: "supports-color" -license_category: binary -module: web-console -license_name: MIT License -copyright: Sindre Sorhus -version: 5.5.0 -license_file_path: licenses/bin/supports-color.MIT - ---- - name: "supports-preserve-symlinks-flag" license_category: binary module: web-console @@ -6567,16 +6517,6 @@ license_file_path: licenses/bin/tiny-warning.MIT --- -name: "to-fast-properties" -license_category: binary -module: web-console -license_name: MIT License -copyright: Sindre Sorhus -version: 2.0.0 -license_file_path: licenses/bin/to-fast-properties.MIT - ---- - name: "toggle-selection" license_category: binary module: web-console diff --git a/processing/src/main/java/org/apache/druid/common/utils/IdUtils.java b/processing/src/main/java/org/apache/druid/common/utils/IdUtils.java index 0544439da028..de400141f0ac 100644 --- a/processing/src/main/java/org/apache/druid/common/utils/IdUtils.java +++ b/processing/src/main/java/org/apache/druid/common/utils/IdUtils.java @@ -31,7 +31,9 @@ import javax.annotation.Nullable; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import java.util.concurrent.ThreadLocalRandom; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -167,4 +169,35 @@ public static SegmentId getValidSegmentId(String dataSource, String serializedSe return parsedSegmentId; } } + + /** + * Tries to parse the given serialized IDs as {@link SegmentId}s of the given + * datasource. + * + * @return Set containing valid segment IDs. + * @throws DruidException if any of the given segment IDs is invalid + */ + public static Set getValidSegmentIds(String dataSource, Set serializedIds) + { + final Set validSegmentIds = new HashSet<>(); + final Set invalidIds = new HashSet<>(); + + for (String id : serializedIds) { + final SegmentId validId = SegmentId.tryParse(dataSource, id); + if (validId == null) { + invalidIds.add(id); + } else { + validSegmentIds.add(validId); + } + } + + if (!invalidIds.isEmpty()) { + throw InvalidInput.exception( + "Could not parse segment IDs[%s] for datasource[%s]", + invalidIds, dataSource + ); + } + + return validSegmentIds; + } } diff --git a/processing/src/main/java/org/apache/druid/concurrent/Threads.java b/processing/src/main/java/org/apache/druid/concurrent/Threads.java index 5dcb57c5cc14..825f4bfa23d4 100644 --- a/processing/src/main/java/org/apache/druid/concurrent/Threads.java +++ b/processing/src/main/java/org/apache/druid/concurrent/Threads.java @@ -55,7 +55,20 @@ public static void sleepFor(long sleepTime, TimeUnit unit) throws InterruptedExc } } - private Threads() + /** + * Temporarily renames the thread. + * + * Preferred usage should be via try-with-resources clauses. + * + * @return a {@link AutoCloseable} to rename the thread back to its original name. + */ + public static AutoCloseable withThreadName(String name) { + final Thread thread = Thread.currentThread(); + final String oldThreadName = thread.getName(); + thread.setName(name); + return () -> { + thread.setName(oldThreadName); + }; } } diff --git a/processing/src/main/java/org/apache/druid/initialization/DruidModule.java b/processing/src/main/java/org/apache/druid/initialization/DruidModule.java index 45d663cf5ce3..643dcf5789ef 100644 --- a/processing/src/main/java/org/apache/druid/initialization/DruidModule.java +++ b/processing/src/main/java/org/apache/druid/initialization/DruidModule.java @@ -20,6 +20,10 @@ package org.apache.druid.initialization; import com.fasterxml.jackson.databind.Module; +import com.google.inject.Binder; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.util.Modules; import org.apache.druid.guice.annotations.ExtensionPoint; import java.util.Collections; @@ -36,6 +40,35 @@ @ExtensionPoint public interface DruidModule extends com.google.inject.Module { + static DruidModule override(com.google.inject.Module baseModule, com.google.inject.Module overrideGuiceModule) + { + return new DruidModule() + { + @SuppressWarnings("unused") + @Inject + public void injectMe(Injector injector) + { + injector.injectMembers(baseModule); + injector.injectMembers(overrideGuiceModule); + } + + @Override + public void configure(Binder binder) + { + binder.install(Modules.override(baseModule).with(overrideGuiceModule)); + } + + @Override + public List getJacksonModules() + { + if (baseModule instanceof DruidModule) { + return ((DruidModule) baseModule).getJacksonModules(); + } + return Collections.emptyList(); + } + }; + } + default List getJacksonModules() { return Collections.emptyList(); diff --git a/processing/src/main/java/org/apache/druid/java/util/common/StringUtils.java b/processing/src/main/java/org/apache/druid/java/util/common/StringUtils.java index d8ef9956d9bf..4c3f334636fa 100644 --- a/processing/src/main/java/org/apache/druid/java/util/common/StringUtils.java +++ b/processing/src/main/java/org/apache/druid/java/util/common/StringUtils.java @@ -20,6 +20,7 @@ package org.apache.druid.java.util.common; import com.google.common.base.Strings; +import io.netty.util.SuppressForbidden; import org.apache.commons.io.IOUtils; import javax.annotation.Nonnull; @@ -261,7 +262,7 @@ public static String fromUtf8(final ByteBuffer buffer) } /** - * If buffer is Decodes a UTF-8 string from the remaining bytes of a buffer. + * If buffer is not null, decodes a UTF-8 string from the remaining bytes of a buffer. * Advances the position of the buffer by {@link ByteBuffer#remaining()}. * * If the value is null, this method returns null. If the buffer will never be null, use {@link #fromUtf8(ByteBuffer)} @@ -421,12 +422,7 @@ public static String urlEncode(@Nullable String s) return null; } - try { - return StringUtils.replace(URLEncoder.encode(s, "UTF-8"), "+", "%20"); - } - catch (UnsupportedEncodingException e) { - throw new RuntimeException(e); - } + return StringUtils.replace(URLEncoder.encode(s, StandardCharsets.UTF_8), "+", "%20"); } @Nullable @@ -436,12 +432,7 @@ public static String urlDecode(String s) return null; } - try { - return URLDecoder.decode(s, "UTF-8"); - } - catch (UnsupportedEncodingException e) { - throw new RuntimeException(e); - } + return URLDecoder.decode(s, StandardCharsets.UTF_8); } public static String maybeRemoveLeadingSlash(String s) @@ -460,81 +451,28 @@ public static String maybeAppendTrailingSlash(String s) } /** - * Removes all occurrences of the given char from the given string. This method is an optimal version of - * {@link String#replace(CharSequence, CharSequence) s.replace("c", "")}. + * Removes all occurrences of the given char from the given string. */ public static String removeChar(String s, char c) { - int pos = s.indexOf(c); - if (pos < 0) { - return s; - } - StringBuilder sb = new StringBuilder(s.length() - 1); - int prevPos = 0; - do { - sb.append(s, prevPos, pos); - prevPos = pos + 1; - pos = s.indexOf(c, pos + 1); - } while (pos > 0); - sb.append(s, prevPos, s.length()); - return sb.toString(); + return StringUtils.replace(s, String.valueOf(c), ""); } /** - * Replaces all occurrences of the given char in the given string with the given replacement string. This method is an - * optimal version of {@link String#replace(CharSequence, CharSequence) s.replace("c", replacement)}. + * Replaces all occurrences of the given char in the given string with the given replacement string. */ public static String replaceChar(String s, char c, String replacement) { - int pos = s.indexOf(c); - if (pos < 0) { - return s; - } - StringBuilder sb = new StringBuilder(s.length() - 1 + replacement.length()); - int prevPos = 0; - do { - sb.append(s, prevPos, pos); - sb.append(replacement); - prevPos = pos + 1; - pos = s.indexOf(c, pos + 1); - } while (pos > 0); - sb.append(s, prevPos, s.length()); - return sb.toString(); + return StringUtils.replace(s, String.valueOf(c), replacement); } /** - * Replaces all occurrences of the given target substring in the given string with the given replacement string. This - * method is an optimal version of {@link String#replace(CharSequence, CharSequence) s.replace(target, replacement)}. + * Replaces all occurrences of the given target substring in the given string with the given replacement string. */ + @SuppressForbidden(reason = "String#replace") public static String replace(String s, String target, String replacement) { - // String.replace() is suboptimal in JDK8, but is fixed in JDK9+. When the minimal JDK version supported by Druid is - // JDK9+, the implementation of this method should be replaced with simple delegation to String.replace(). However, - // the method should still be prohibited to use in all other places except this method body, because it's easy to - // suboptimally call String.replace("a", "b"), String.replace("a", ""), String.replace("a", "abc"), which have - // better alternatives String.replace('a', 'b'), removeChar() and replaceChar() respectively. - int pos = s.indexOf(target); - if (pos < 0) { - return s; - } - int sLength = s.length(); - int targetLength = target.length(); - // This is needed to work correctly with empty target string and mimic String.replace() behavior - int searchSkip = Math.max(targetLength, 1); - StringBuilder sb = new StringBuilder(sLength - targetLength + replacement.length()); - int prevPos = 0; - do { - sb.append(s, prevPos, pos); - sb.append(replacement); - prevPos = pos + targetLength; - // Break from the loop if the target is empty - if (pos == sLength) { - break; - } - pos = s.indexOf(target, pos + searchSkip); - } while (pos > 0); - sb.append(s, prevPos, sLength); - return sb.toString(); + return s.replace(target, replacement); } /** diff --git a/processing/src/main/java/org/apache/druid/query/groupby/GroupingEngine.java b/processing/src/main/java/org/apache/druid/query/groupby/GroupingEngine.java index 91629706788b..3f85bbf63e1f 100644 --- a/processing/src/main/java/org/apache/druid/query/groupby/GroupingEngine.java +++ b/processing/src/main/java/org/apache/druid/query/groupby/GroupingEngine.java @@ -597,7 +597,7 @@ public Sequence processSubqueryResult( GroupByRowProcessor.ResultSupplier resultSupplier = null; try { - final GroupByQuery queryToRun; + GroupByQuery queryToRun; if (wasQueryPushedDown) { // If the query was pushed down, filters would have been applied downstream, so skip it here. @@ -607,6 +607,13 @@ public Sequence processSubqueryResult( queryToRun = query; } + if (queryToRun.getLimitSpec() instanceof DefaultLimitSpec) { + // If the query has an offset, incorporate it into the limit before processing subquery results. + // This allows limit pushdown to work properly during processing. Later on, we'll use the GroupByQuery's + // postProcessingFn to apply the offset. + queryToRun = queryToRun.withLimitSpec(((DefaultLimitSpec) queryToRun.getLimitSpec()).withOffsetToLimit()); + } + resultSupplier = GroupByRowProcessor.process( queryToRun, wasQueryPushedDown ? queryToRun : subquery, diff --git a/processing/src/test/java/org/apache/druid/concurrent/ThreadsTest.java b/processing/src/test/java/org/apache/druid/concurrent/ThreadsTest.java new file mode 100644 index 000000000000..a8924b55f670 --- /dev/null +++ b/processing/src/test/java/org/apache/druid/concurrent/ThreadsTest.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.druid.concurrent; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class ThreadsTest +{ + @Test + public void testThreadRename() throws Exception + { + String oldName = Thread.currentThread().getName(); + String newName = "testThreadRename-was:" + oldName; + try (AutoCloseable renameBack = Threads.withThreadName(newName)) { + assertEquals(newName, Thread.currentThread().getName()); + } + assertEquals(oldName, Thread.currentThread().getName()); + } +} diff --git a/processing/src/test/java/org/apache/druid/initialization/DruidModuleTest.java b/processing/src/test/java/org/apache/druid/initialization/DruidModuleTest.java new file mode 100644 index 000000000000..3d83dcd7d09a --- /dev/null +++ b/processing/src/test/java/org/apache/druid/initialization/DruidModuleTest.java @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.druid.initialization; + +import com.fasterxml.jackson.databind.Module; +import com.google.inject.Binder; +import com.google.inject.Guice; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.Provides; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DruidModuleTest +{ + @Test + public void testOverride() + { + Injector initInjector = Guice.createInjector(new LocalProviderModule(10)); + DruidModule overrideModule = DruidModule.override(new LocalProviderModule(1), new LocalProviderModule(2)); + initInjector.injectMembers(overrideModule); + Injector injector = Guice.createInjector(overrideModule); + Integer val = injector.getInstance(Integer.class); + assertEquals(12, val); + } + + @Test + public void testOverrideJacksonModules() + { + Injector initInjector = Guice.createInjector(new LocalProviderModule(10)); + DruidModule overrideModule = DruidModule.override(new LocalProviderModule(1), new LocalProviderModule(2)); + initInjector.injectMembers(overrideModule); + List jacksonModules = overrideModule.getJacksonModules(); + // Even thru it was overridden, the base module should still provide these. + assertEquals(1, jacksonModules.size()); + } + + static class LocalProviderModule implements DruidModule + { + private int val; + private int baseVal = 0; + + @Inject + public void injectInteger(Integer baseVal) + { + this.baseVal = baseVal; + } + + public LocalProviderModule(int i) + { + val = i; + } + + @Override + public void configure(Binder binder) + { + } + + @Provides + public Integer getVal() + { + return val + baseVal; + } + + @Override + public List getJacksonModules() + { + List li = new ArrayList<>(); + for (int i = 0; i < val; i++) { + li.add(null); + } + return li; + } + + } + +} diff --git a/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryRunnerTest.java b/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryRunnerTest.java index 300a74c8d2d3..67e4c5b1abe0 100644 --- a/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryRunnerTest.java +++ b/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryRunnerTest.java @@ -6569,6 +6569,39 @@ public void testSubqueryWithPostAggregators() TestHelper.assertExpectedObjects(expectedResults, results, "subquery-postaggs"); } + @Test + public void testSubqueryWithOuterOffsetAndLimit() + { + // Granularity != ALL requires time-ordering. + assumeTimeOrdered(); + + final GroupByQuery subquery = makeQueryBuilder() + .setDataSource(QueryRunnerTestHelper.DATA_SOURCE) + .setQuerySegmentSpec(QueryRunnerTestHelper.FIRST_TO_THIRD) + .setDimensions(new DefaultDimensionSpec("quality", "alias")) + .setAggregatorSpecs(QueryRunnerTestHelper.ROWS_COUNT) + .setGranularity(QueryRunnerTestHelper.DAY_GRAN) + .build(); + + final GroupByQuery query = makeQueryBuilder() + .setDataSource(subquery) + .setQuerySegmentSpec(QueryRunnerTestHelper.FIRST_TO_THIRD) + .setDimensions(new DefaultDimensionSpec("alias", "alias")) + .setAggregatorSpecs(new LongSumAggregatorFactory("rows", "rows")) + .setGranularity(QueryRunnerTestHelper.DAY_GRAN) + .setLimitSpec(new DefaultLimitSpec(null, 1, 2)) + .build(); + + List expectedResults = Arrays.asList( + makeRow(query, "2011-04-01", "alias", "business", "rows", 1L), + makeRow(query, "2011-04-01", "alias", "entertainment", "rows", 1L) + ); + + // Subqueries are handled by the ToolChest + Iterable results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query); + TestHelper.assertExpectedObjects(expectedResults, results, "subquery-postaggs"); + } + @Test public void testSubqueryWithPostAggregatorsAndHaving() { diff --git a/quidem-ut/src/main/java/org/apache/druid/quidem/ExposedAsBrokerQueryComponentSupplierWrapper.java b/quidem-ut/src/main/java/org/apache/druid/quidem/ExposedAsBrokerQueryComponentSupplierWrapper.java index 3cbe797be40d..0a2e496b09a9 100644 --- a/quidem-ut/src/main/java/org/apache/druid/quidem/ExposedAsBrokerQueryComponentSupplierWrapper.java +++ b/quidem-ut/src/main/java/org/apache/druid/quidem/ExposedAsBrokerQueryComponentSupplierWrapper.java @@ -30,11 +30,9 @@ import org.apache.druid.cli.CliBroker; import org.apache.druid.cli.QueryJettyServerInitializer; import org.apache.druid.client.BrokerSegmentWatcherConfig; -import org.apache.druid.client.BrokerServerView; import org.apache.druid.client.DirectDruidClientFactory; import org.apache.druid.client.InternalQueryConfig; import org.apache.druid.client.QueryableDruidServer; -import org.apache.druid.client.TimelineServerView; import org.apache.druid.client.selector.CustomTierSelectorStrategyConfig; import org.apache.druid.client.selector.ServerSelectorStrategy; import org.apache.druid.client.selector.TierSelectorStrategy; @@ -42,7 +40,6 @@ import org.apache.druid.curator.discovery.DiscoveryModule; import org.apache.druid.discovery.DruidNodeDiscoveryProvider; import org.apache.druid.guice.AnnouncerModule; -import org.apache.druid.guice.BrokerProcessingModule; import org.apache.druid.guice.BrokerServiceModule; import org.apache.druid.guice.CoordinatorDiscoveryModule; import org.apache.druid.guice.ExpressionModule; @@ -59,7 +56,6 @@ import org.apache.druid.guice.SegmentWranglerModule; import org.apache.druid.guice.ServerViewModule; import org.apache.druid.guice.StartupLoggingModule; -import org.apache.druid.guice.StorageNodeModule; import org.apache.druid.guice.annotations.Client; import org.apache.druid.guice.annotations.EscalatedClient; import org.apache.druid.guice.http.HttpClientModule; @@ -78,12 +74,8 @@ import org.apache.druid.server.BrokerQueryResource; import org.apache.druid.server.ClientInfoResource; import org.apache.druid.server.DruidNode; -import org.apache.druid.server.SubqueryGuardrailHelper; -import org.apache.druid.server.SubqueryGuardrailHelperProvider; -import org.apache.druid.server.emitter.EmitterModule; import org.apache.druid.server.http.BrokerResource; import org.apache.druid.server.http.SelfDiscoveryResource; -import org.apache.druid.server.initialization.AuthorizerMapperModule; import org.apache.druid.server.initialization.ExternalStorageAccessSecurityModule; import org.apache.druid.server.initialization.jetty.JettyServerInitializer; import org.apache.druid.server.initialization.jetty.JettyServerModule; @@ -131,7 +123,6 @@ public DruidModule getCoreModule() modules.add(super.getCoreModule()); modules.addAll(forServerModules()); - modules.add(new BrokerProcessingModule()); modules.addAll(brokerModules()); modules.add(new QuidemCaptureModule()); @@ -181,7 +172,6 @@ private List forServerModules() new ExtensionsModule.SecondaryModule(), new DruidAuthModule(), new TLSCertificateCheckerModule(), - new EmitterModule(), HttpClientModule.global(), HttpClientModule.escalatedGlobal(), new HttpClientModule("druid.broker.http", Client.class, true), @@ -189,7 +179,6 @@ private List forServerModules() new CuratorModule(), new AnnouncerModule(), new SegmentWriteOutMediumModule(), - new StorageNodeModule(), new JettyServerModule(), new ExpressionModule(), new DiscoveryModule(), @@ -203,7 +192,6 @@ private List forServerModules() new JavaScriptModule(), new AuthenticatorModule(), new AuthorizerModule(), - new AuthorizerMapperModule(), new StartupLoggingModule(), new ExternalStorageAccessSecurityModule(), new ServiceClientModule(), @@ -231,8 +219,6 @@ static List brokerModules() binder.bindConstant().annotatedWith(Names.named("tlsServicePort")).to(8282); binder.bindConstant().annotatedWith(PruneLoadSpec.class).to(true); - binder.bind(TimelineServerView.class).to(BrokerServerView.class).in(LazySingleton.class); - JsonConfigProvider.bind(binder, "druid.broker.select", TierSelectorStrategy.class); JsonConfigProvider.bind(binder, "druid.broker.select.tier.custom", CustomTierSelectorStrategyConfig.class); JsonConfigProvider.bind(binder, "druid.broker.balancer", ServerSelectorStrategy.class); @@ -243,7 +229,6 @@ static List brokerModules() binder.bind(BrokerQueryResource.class).in(LazySingleton.class); Jerseys.addResource(binder, BrokerQueryResource.class); - binder.bind(SubqueryGuardrailHelper.class).toProvider(SubqueryGuardrailHelperProvider.class); binder.bind(QueryCountStatsProvider.class).to(BrokerQueryResource.class).in(LazySingleton.class); binder.bind(SubqueryCountStatsProvider.class).toInstance(new SubqueryCountStatsProvider()); Jerseys.addResource(binder, BrokerResource.class); diff --git a/quidem-ut/src/test/java/org/apache/druid/quidem/QTest.java b/quidem-ut/src/test/java/org/apache/druid/quidem/QTest.java index 83167a18a168..4eeb52ef7c61 100644 --- a/quidem-ut/src/test/java/org/apache/druid/quidem/QTest.java +++ b/quidem-ut/src/test/java/org/apache/druid/quidem/QTest.java @@ -31,7 +31,7 @@ public class QTest extends DruidQuidemTestBase { public QTest() { - super(); + super(new DruidQuidemCommandHandler()); } @Override diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/dart_with_datasets.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/dart_with_datasets.iq deleted file mode 100644 index 65dbce0f087b..000000000000 --- a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/dart_with_datasets.iq +++ /dev/null @@ -1,13 +0,0 @@ -!set dartQueryId 00000000-0000-0000-0000-000000000000 -!use druidtest://?componentSupplier=StandardMSQComponentSupplier&datasets=sql/src/test/quidem/sampledataset -!set outputformat mysql - -select count(1) from "rollup-tutorial"; -+--------+ -| EXPR$0 | -+--------+ -| 9 | -+--------+ -(1 row) - -!ok diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_double.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_double.iq new file mode 100644 index 000000000000..7b8ec969d231 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_double.iq @@ -0,0 +1,2241 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(111.1111111) AS col) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(tab0d0) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(tab0d0)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0d0), 100) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0d0), 100) AS col +FROM test_agg_funcs +WHERE tab0d0>222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(tab0d0), 111.1111111) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(tab0d0), array[111.1111111, 222.2222222]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0d0), 333.3333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0d0), array[111.1111111, 333.3333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(tab0d0), array[111.1111111, 333.3333333]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0d0), array[333.3333333, 444.4444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(tab0d0), array_agg(DISTINCT tab0d0)) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_offset_of(array_agg(tab0d0), 111.1111111) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0d0), 333.3333333) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_ordinal_of(array_agg(tab0d0), 111.1111111) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0d0), 333.3333333) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(tab0d0), '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(tab0d0), '|'), '111.') +AND contains_string(array_to_string(array_agg(DISTINCT tab0d0), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_prepend(333.3333333, array_agg(tab0d0)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(333.3333333, array_agg(tab0d0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_append(array_agg(tab0d0), 333.3333333) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(tab0d0), 333.3333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0d0), array[333.3333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_concat(array_agg(tab0d0), array_agg(tab0d0)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0d0), array_agg(tab0d0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(tab0d0), 0, 1) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(tab0d0), 100, 101) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.tab0d0) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0d0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.tab0d0), '') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0d0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A30 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0d0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0d0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A31 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.tab0d0) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0d0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A32 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.tab0d0), '') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0d0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A33 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0d0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0d0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT 111.1111111) AS col) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT tab0d0) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT tab0d0)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0d0), 100) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0d0), 100) AS col +FROM test_agg_funcs +WHERE tab0d0>222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(DISTINCT tab0d0), 111.1111111) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(DISTINCT tab0d0), array[111.1111111, 222.2222222]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0d0), 333.3333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0d0), array[111.1111111, 333.3333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(DISTINCT tab0d0), array[111.1111111, 333.3333333]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0d0), array[333.3333333, 444.4444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(DISTINCT tab0d0), array_agg(DISTINCT tab0d0)) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_offset_of(array_agg(DISTINCT tab0d0), 111.1111111) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0d0), 333.3333333) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_ordinal_of(array_agg(DISTINCT tab0d0), 111.1111111) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0d0), 333.3333333) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT tab0d0), '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT tab0d0), '|'), '111.') +AND contains_string(array_to_string(array_agg(DISTINCT tab0d0), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_prepend(333.3333333, array_agg(DISTINCT tab0d0)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(333.3333333, array_agg(DISTINCT tab0d0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_append(array_agg(DISTINCT tab0d0), 333.3333333) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(DISTINCT tab0d0), 333.3333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0d0), array[333.3333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_concat(array_agg(DISTINCT tab0d0), array_agg(DISTINCT tab0d0)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0d0), array_agg(DISTINCT tab0d0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 6 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(DISTINCT tab0d0), 0, 1) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0d0), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT t0.tab0d0) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0d0), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(DISTINCT t0.tab0d0), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT t0.tab0d0) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0d0), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(DISTINCT t0.tab0d0), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(111.1111111, 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT tab0d0, 100000) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT tab0d0, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0d0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0d0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0d0>222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(DISTINCT tab0d0, 100000), 111.1111111) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(DISTINCT tab0d0, 100000), array[111.1111111, 222.2222222]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0d0, 100000), 333.3333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0d0, 100000), array[111.1111111, 333.3333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(DISTINCT tab0d0, 100000), array[111.1111111, 333.3333333]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0d0, 100000), array[333.3333333, 444.4444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(DISTINCT tab0d0, 100000), array_agg(DISTINCT tab0d0, 100000)) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_offset_of(array_agg(DISTINCT tab0d0, 100000), 111.1111111) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0d0, 100000), 333.3333333) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_ordinal_of(array_agg(DISTINCT tab0d0, 100000), 111.1111111) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0d0, 100000), 333.3333333) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT tab0d0, 100000), '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT tab0d0, 100000), '|'), '111.') +AND contains_string(array_to_string(array_agg(DISTINCT tab0d0, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_prepend(333.3333333, array_agg(DISTINCT tab0d0, 100000)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(333.3333333, array_agg(DISTINCT tab0d0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_append(array_agg(DISTINCT tab0d0, 100000), 333.3333333) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(DISTINCT tab0d0, 100000), 333.3333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0d0, 100000), array[333.3333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_concat(array_agg(DISTINCT tab0d0, 100000), array_agg(DISTINCT tab0d0, 100000)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0d0, 100000), array_agg(DISTINCT tab0d0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 6 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(DISTINCT tab0d0, 100000), 0, 1) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0d0, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT t0.tab0d0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0d0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(DISTINCT t0.tab0d0, 100000), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT t0.tab0d0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0d0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(DISTINCT t0.tab0d0, 100000), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(111.1111111, 100000); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(tab0d0, 100000) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(tab0d0, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0d0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0d0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0d0>222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(tab0d0, 100000), 111.1111111) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(tab0d0, 100000), array[111.1111111, 222.2222222]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0d0, 100000), 333.3333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0d0, 100000), array[111.1111111, 333.3333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(tab0d0, 100000), array[111.1111111, 333.3333333]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0d0, 100000), array[333.3333333, 444.4444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(tab0d0, 100000), array_agg(tab0d0, 100000)) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_offset_of(array_agg(tab0d0, 100000), 111.1111111) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0d0, 100000), 333.3333333) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_ordinal_of(array_agg(tab0d0, 100000), 111.1111111) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0d0, 100000), 333.3333333) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(tab0d0, 100000), '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(tab0d0, 100000), '|'), '111.') +AND contains_string(array_to_string(array_agg(tab0d0, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_prepend(333.3333333, array_agg(tab0d0, 100000)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(333.3333333, array_agg(tab0d0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_append(array_agg(tab0d0, 100000), 333.3333333) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(tab0d0, 100000), 333.3333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0d0, 100000), array[333.3333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_concat(array_agg(tab0d0, 100000), array_agg(tab0d0, 100000)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0d0, 100000), array_agg(tab0d0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(tab0d0, 100000), 0, 1) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0d0, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(t0.tab0d0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(t0.tab0d0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(t0.tab0d0, 100000), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(t0.tab0d0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(t0.tab0d0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(t0.tab0d0, 100000), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# Total query count 133 Positive tests: 125 Negative tests: 8 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_float.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_float.iq new file mode 100644 index 000000000000..04f57110960a --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_float.iq @@ -0,0 +1,2241 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(11.1111111) AS col) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(tab0f0) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(tab0f0)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0f0), 100) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0f0), 100) AS col +FROM test_agg_funcs +WHERE tab0f0>222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(tab0f0), 11.1111111) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(tab0f0), array[11.1111111, 22.2222222]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0f0), 33.3333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0f0), array[11.1111111, 33.3333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(tab0f0), array[11.1111111, 33.3333333]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0f0), array[33.3333333, 44.4444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(tab0f0), array_agg(DISTINCT tab0f0)) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_offset_of(array_agg(tab0f0), 11.1111111) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0f0), 33.3333333) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_ordinal_of(array_agg(tab0f0), 11.1111111) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0f0), 33.3333333) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(tab0f0), '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(tab0f0), '|'), '11.') +AND contains_string(array_to_string(array_agg(DISTINCT tab0f0), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_prepend(33.3333333, array_agg(tab0f0)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(33.3333333, array_agg(tab0f0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_append(array_agg(tab0f0), 33.3333333) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(tab0f0), 33.3333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0f0), array[33.3333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_concat(array_agg(tab0f0), array_agg(tab0f0)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0f0), array_agg(tab0f0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(tab0f0), 0, 1) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(tab0f0), 100, 101) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.tab0f0) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0f0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.tab0f0), '') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0f0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A30 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0f0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0f0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A31 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.tab0f0) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0f0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A32 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.tab0f0), '') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0f0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A33 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0f0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0f0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT 11.1111111) AS col) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT tab0f0) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT tab0f0)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0f0), 100) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0f0), 100) AS col +FROM test_agg_funcs +WHERE tab0f0>222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(DISTINCT tab0f0), 11.1111111) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(DISTINCT tab0f0), array[11.1111111, 22.2222222]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0f0), 33.3333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0f0), array[11.1111111, 33.3333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(DISTINCT tab0f0), array[11.1111111, 33.3333333]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0f0), array[33.3333333, 44.4444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(DISTINCT tab0f0), array_agg(DISTINCT tab0f0)) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_offset_of(array_agg(DISTINCT tab0f0), 11.1111111) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0f0), 33.3333333) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_ordinal_of(array_agg(DISTINCT tab0f0), 11.1111111) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0f0), 33.3333333) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT tab0f0), '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT tab0f0), '|'), '11.') +AND contains_string(array_to_string(array_agg(DISTINCT tab0f0), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_prepend(33.3333333, array_agg(DISTINCT tab0f0)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(33.3333333, array_agg(DISTINCT tab0f0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_append(array_agg(DISTINCT tab0f0), 33.3333333) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(DISTINCT tab0f0), 33.3333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0f0), array[33.3333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_concat(array_agg(DISTINCT tab0f0), array_agg(DISTINCT tab0f0)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0f0), array_agg(DISTINCT tab0f0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 6 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(DISTINCT tab0f0), 0, 1) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0f0), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT t0.tab0f0) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0f0), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(DISTINCT t0.tab0f0), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT t0.tab0f0) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0f0), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(DISTINCT t0.tab0f0), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(11.1111111, 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT tab0f0, 100000) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT tab0f0, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0f0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0f0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0f0>222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(DISTINCT tab0f0, 100000), 11.1111111) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(DISTINCT tab0f0, 100000), array[11.1111111, 22.2222222]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0f0, 100000), 33.3333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0f0, 100000), array[11.1111111, 33.3333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(DISTINCT tab0f0, 100000), array[11.1111111, 33.3333333]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0f0, 100000), array[33.3333333, 44.4444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(DISTINCT tab0f0, 100000), array_agg(DISTINCT tab0f0, 100000)) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_offset_of(array_agg(DISTINCT tab0f0, 100000), 11.1111111) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0f0, 100000), 33.3333333) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_ordinal_of(array_agg(DISTINCT tab0f0, 100000), 11.1111111) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0f0, 100000), 33.3333333) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT tab0f0, 100000), '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT tab0f0, 100000), '|'), '11.') +AND contains_string(array_to_string(array_agg(DISTINCT tab0f0, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_prepend(33.3333333, array_agg(DISTINCT tab0f0, 100000)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(33.3333333, array_agg(DISTINCT tab0f0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_append(array_agg(DISTINCT tab0f0, 100000), 33.3333333) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(DISTINCT tab0f0, 100000), 33.3333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0f0, 100000), array[33.3333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_concat(array_agg(DISTINCT tab0f0, 100000), array_agg(DISTINCT tab0f0, 100000)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0f0, 100000), array_agg(DISTINCT tab0f0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 6 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(DISTINCT tab0f0, 100000), 0, 1) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0f0, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT t0.tab0f0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0f0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(DISTINCT t0.tab0f0, 100000), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(DISTINCT t0.tab0f0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0f0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(DISTINCT t0.tab0f0, 100000), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(11.1111111, 100000); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(tab0f0, 100000) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(tab0f0, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0f0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0f0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0f0>222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(tab0f0, 100000), 11.1111111) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_contains(array_agg(tab0f0, 100000), array[11.1111111, 22.2222222]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0f0, 100000), 33.3333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0f0, 100000), array[11.1111111, 33.3333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(tab0f0, 100000), array[11.1111111, 33.3333333]) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0f0, 100000), array[33.3333333, 44.4444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_overlap(array_agg(tab0f0, 100000), array_agg(tab0f0, 100000)) AS col + FROM test_agg_funcs) +WHERE col IS TRUE + OR col IS FALSE + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_offset_of(array_agg(tab0f0, 100000), 11.1111111) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0f0, 100000), 33.3333333) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_ordinal_of(array_agg(tab0f0, 100000), 11.1111111) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0f0, 100000), 33.3333333) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(tab0f0, 100000), '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(tab0f0, 100000), '|'), '11.') +AND contains_string(array_to_string(array_agg(tab0f0, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_prepend(33.3333333, array_agg(tab0f0, 100000)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(33.3333333, array_agg(tab0f0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_append(array_agg(tab0f0, 100000), 33.3333333) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(tab0f0, 100000), 33.3333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0f0, 100000), array[33.3333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_concat(array_agg(tab0f0, 100000), array_agg(tab0f0, 100000)) AS col + FROM test_agg_funcs) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0f0, 100000), array_agg(tab0f0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_slice(array_agg(tab0f0, 100000), 0, 1) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0f0, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(t0.tab0f0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(t0.tab0f0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(t0.tab0f0, 100000), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(t0.tab0f0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE NOT array_contains(col, 99999) + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_to_string(array_agg(t0.tab0f0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(array_to_string(array_agg(t0.tab0f0, 100000), '')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# Total query count 133 Positive tests: 125 Negative tests: 8 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_long.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_long.iq new file mode 100644 index 000000000000..032ed7fe551f --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_long.iq @@ -0,0 +1,2117 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array[1111111111, + 2222222222] AS col; ++--------------------------+ +| col | ++--------------------------+ +| [1111111111, 2222222222] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(1111111111) AS col; ++--------------+ +| col | ++--------------+ +| [1111111111] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(tab0l0) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 161 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(tab0l0)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0l0), 100) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0l0), 100) AS col +FROM test_agg_funcs +WHERE tab0l0=2222222222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0l0), 1111111111) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0l0), array[1111111111, 2222222222]) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0l0), 3333333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0l0), array[1111111111, 3333333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0l0), array[1111111111, 3333333333]) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0l0), array[3333333333, 4444444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0l0), array_agg(DISTINCT tab0l0)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0l0), 1111111111) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0l0), 3333333333) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0l0), 1111111111) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0l0), 3333333333) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(tab0l0), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 161 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(tab0l0), '|'), '1111111111') +AND contains_string(array_to_string(array_agg(DISTINCT tab0l0), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_prepend(3333333333, array_agg(tab0l0)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(3333333333, array_agg(tab0l0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_append(array_agg(tab0l0), 3333333333) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(tab0l0), 3333333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(tab0l0), array[3333333333]) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0l0), array[3333333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(tab0l0), array_agg(tab0l0)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 323 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0l0), array_agg(tab0l0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0l0), 0, 1) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++--------------+ +| col | ++--------------+ +| [1111111111] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0l0), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A30 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.tab0l0) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A31 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.tab0l0), '') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A32 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0l0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A33 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.tab0l0) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A34 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.tab0l0), '') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A35 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0l0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array[1111111111, + 2222222222] AS col; ++--------------------------+ +| col | ++--------------------------+ +| [1111111111, 2222222222] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(DISTINCT 1111111111) AS col; ++--------------+ +| col | ++--------------+ +| [1111111111] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT tab0l0) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT tab0l0)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0l0), 100) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0l0), 100) AS col +FROM test_agg_funcs +WHERE tab0l0=2222222222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0l0), 1111111111) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0l0), array[1111111111, 2222222222]) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0l0), 3333333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0l0), array[1111111111, 3333333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0l0), array[1111111111, 3333333333]) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0l0), array[3333333333, 4444444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0l0), array_agg(DISTINCT tab0l0)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0l0), 1111111111) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0l0), 3333333333) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0l0), 1111111111) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0l0), 3333333333) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(DISTINCT tab0l0), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT tab0l0), '|'), '1111111111') +AND contains_string(array_to_string(array_agg(DISTINCT tab0l0), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_prepend(3333333333, array_agg(DISTINCT tab0l0)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(3333333333, array_agg(DISTINCT tab0l0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_append(array_agg(DISTINCT tab0l0), 3333333333) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(DISTINCT tab0l0), 3333333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT tab0l0), array[3333333333]) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0l0), array[3333333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT tab0l0), array_agg(DISTINCT tab0l0)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 53 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0l0), array_agg(DISTINCT tab0l0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 6 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0l0), 0, 1) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++--------------+ +| col | ++--------------+ +| [1111111111] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0l0), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.tab0l0) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0l0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0l0), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0l0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 20 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.tab0l0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; ++-----+ +| col | ++-----+ +| 20 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.tab0l0) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0l0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0l0), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0l0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.tab0l0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; ++-----+ +| col | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array[1111111111, + 2222222222] AS col; ++--------------------------+ +| col | ++--------------------------+ +| [1111111111, 2222222222] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(DISTINCT 1111111111, 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT tab0l0, 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT tab0l0, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0l0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0l0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0l0=2222222222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0l0, 100000), 1111111111) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0l0, 100000), array[1111111111, 2222222222]) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0l0, 100000), 3333333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0l0, 100000), array[1111111111, 3333333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0l0, 100000), array[1111111111, 3333333333]) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0l0, 100000), array[3333333333, 4444444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0l0, 100000), array_agg(DISTINCT tab0l0, 100000)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0l0, 100000), 1111111111) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0l0, 100000), 3333333333) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0l0, 100000), 1111111111) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0l0, 100000), 3333333333) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(DISTINCT tab0l0, 100000), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT tab0l0, 100000), '|'), '1111111111') +AND contains_string(array_to_string(array_agg(DISTINCT tab0l0, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_prepend(3333333333, array_agg(DISTINCT tab0l0, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(3333333333, array_agg(DISTINCT tab0l0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_append(array_agg(DISTINCT tab0l0, 100000), 3333333333) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(DISTINCT tab0l0, 100000), 3333333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT tab0l0, 100000), array[3333333333]) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0l0, 100000), array[3333333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT tab0l0, 100000), array_agg(DISTINCT tab0l0, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 53 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0l0, 100000), array_agg(DISTINCT tab0l0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 6 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0l0, 100000), 0, 1) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++--------------+ +| col | ++--------------+ +| [1111111111] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0l0, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.tab0l0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0l0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0l0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0l0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 20 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.tab0l0, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; ++-----+ +| col | ++-----+ +| 20 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.tab0l0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0l0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0l0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0l0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.tab0l0, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; ++-----+ +| col | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array[1111111111, + 2222222222] AS col; ++--------------------------+ +| col | ++--------------------------+ +| [1111111111, 2222222222] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(1111111111, 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(tab0l0, 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 161 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(tab0l0, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0l0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0l0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0l0=2222222222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0l0, 100000), 1111111111) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0l0, 100000), array[1111111111, 2222222222]) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0l0, 100000), 3333333333) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0l0, 100000), array[1111111111, 3333333333]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0l0, 100000), array[1111111111, 3333333333]) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0l0, 100000), array[3333333333, 4444444444]) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0l0, 100000), array_agg(tab0l0, 100000)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0l0, 100000), 1111111111) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0l0, 100000), 3333333333) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0l0, 100000), 1111111111) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0l0, 100000), 3333333333) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_to_string(array_agg(tab0l0, 100000), '|') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 161 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(tab0l0, 100000), '|'), '1111111111') +AND contains_string(array_to_string(array_agg(tab0l0, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_prepend(3333333333, array_agg(tab0l0, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend(3333333333, array_agg(tab0l0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_append(array_agg(tab0l0, 100000), 3333333333) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(tab0l0, 100000), 3333333333)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(tab0l0, 100000), array[3333333333]) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0l0, 100000), array[3333333333])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(tab0l0, 100000), array_agg(tab0l0, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 323 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0l0, 100000), array_agg(tab0l0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0l0, 100000), 0, 1) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++--------------+ +| col | ++--------------+ +| [1111111111] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0l0, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(t0.tab0l0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0l0 IS NOT NULL); ++-------+ +| LEN | ++-------+ +| 42767 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(t0.tab0l0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0l0 IS NOT NULL); ++-------+ +| LEN | ++-------+ +| 38880 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0l0, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; ++-------+ +| col | ++-------+ +| 38880 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(t0.tab0l0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0l0); ++-------+ +| LEN | ++-------+ +| 21383 | +| 21383 | +| 9719 | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(t0.tab0l0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0l0); ++-------+ +| LEN | ++-------+ +| 19440 | +| 19440 | +| 7776 | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0l0, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; ++-------+ +| col | ++-------+ +| 19440 | +| 19440 | +| 7776 | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# Total query count 141 Positive tests: 133 Negative tests: 8 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_misc.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_misc.iq new file mode 100644 index 000000000000..14cc7ffe816c --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_misc.iq @@ -0,0 +1,323 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(tab0s0) AS c1, + array_agg(tab0l0) AS c2, + array_agg(tab0d0) AS c3, + array_agg(tab0f0) AS c4, + array_agg(__time) AS c5 + FROM test_agg_funcs) +WHERE (NOT array_contains(c1, '99999') + OR c1 IS NULL) + AND (NOT array_contains(c2, 99999) + OR c2 IS NULL) + AND (NOT array_contains(c3, 99999) + OR c3 IS NULL) + AND (NOT array_contains(c4, 99999) + OR c4 IS NULL) + AND (NOT array_contains(c5, ARRAY[timestamp '1970-01-01 01:01:01']) + OR c5 IS NULL); ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0) c1, + tab0l0, + tab0d0 +FROM test_agg_funcs; +is not being grouped +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT array_agg(tab0s0) AS c1, + tab0l0 AS c2, + tab0d0 AS c3 + FROM test_agg_funcs + GROUP BY tab0s0, + tab0l0, + tab0d0) +WHERE (NOT array_contains(c1, '99999') + OR c1 IS NULL); ++-----+ +| cnt | ++-----+ +| 9 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(tab0s0||'1', 100000)) AS c1, + array_length(array_agg(tab0s0||'2', 100000)) AS c2, + array_length(array_agg(tab0s0||'3', 100000)) AS c3, + array_length(array_agg(tab0s0||'4', 100000)) AS c4, + array_length(array_agg(tab0s0||'5', 100000)) AS c5, + array_length(array_agg(tab0s0||'6', 100000)) AS c6, + array_length(array_agg(tab0s0||'7', 100000)) AS c7, + array_length(array_agg(tab0s0||'8', 100000)) AS c8, + array_length(array_agg(tab0s0||'9', 100000)) AS c9, + array_length(array_agg(tab0s0||'10', 100000)) AS c10, + array_length(array_agg(tab0s0||'11', 100000)) AS c11, + array_length(array_agg(tab0s0||'12', 100000)) AS c12, + array_length(array_agg(tab0s0||'13', 100000)) AS c13, + array_length(array_agg(tab0s0||'14', 100000)) AS c14, + array_length(array_agg(tab0s0||'15', 100000)) AS c15, + array_length(array_agg(tab0s0||'16', 100000)) AS c16, + array_length(array_agg(tab0s0||'17', 100000)) AS c17, + array_length(array_agg(tab0s0||'18', 100000)) AS c18, + array_length(array_agg(tab0s0||'19', 100000)) AS c19, + array_length(array_agg(tab0s0||'20', 100000)) AS c20, + array_length(array_agg(tab0s0||'21', 100000)) AS c21, + array_length(array_agg(tab0s0||'22', 100000)) AS c22, + array_length(array_agg(tab0s0||'23', 100000)) AS c23, + array_length(array_agg(tab0s0||'24', 100000)) AS c24, + array_length(array_agg(tab0s0||'25', 100000)) AS c25, + array_length(array_agg(tab0s0||'26', 100000)) AS c26, + array_length(array_agg(tab0s0||'27', 100000)) AS c27, + array_length(array_agg(tab0s0||'28', 100000)) AS c28, + array_length(array_agg(tab0s0||'29', 100000)) AS c29, + array_length(array_agg(tab0s0||'30', 100000)) AS c30, + array_length(array_agg(tab0s0||'31', 100000)) AS c31, + array_length(array_agg(tab0s0||'32', 100000)) AS c32, + array_length(array_agg(tab0s0||'33', 100000)) AS c33, + array_length(array_agg(tab0s0||'34', 100000)) AS c34, + array_length(array_agg(tab0s0||'35', 100000)) AS c35, + array_length(array_agg(tab0s0||'36', 100000)) AS c36, + array_length(array_agg(tab0s0||'37', 100000)) AS c37, + array_length(array_agg(tab0s0||'38', 100000)) AS c38, + array_length(array_agg(tab0s0||'39', 100000)) AS c39, + array_length(array_agg(tab0s0||'40', 100000)) AS c40, + array_length(array_agg(tab0s0||'41', 100000)) AS c41, + array_length(array_agg(tab0s0||'42', 100000)) AS c42, + array_length(array_agg(tab0s0||'43', 100000)) AS c43, + array_length(array_agg(tab0s0||'44', 100000)) AS c44, + array_length(array_agg(tab0s0||'45', 100000)) AS c45, + array_length(array_agg(tab0s0||'46', 100000)) AS c46, + array_length(array_agg(tab0s0||'47', 100000)) AS c47, + array_length(array_agg(tab0s0||'48', 100000)) AS c48, + array_length(array_agg(tab0s0||'49', 100000)) AS c49, + array_length(array_agg(tab0s0||'50', 100000)) AS c50, + array_length(array_agg(tab0s0||'51', 100000)) AS c51, + array_length(array_agg(tab0s0||'52', 100000)) AS c52, + array_length(array_agg(tab0s0||'53', 100000)) AS c53, + array_length(array_agg(tab0s0||'54', 100000)) AS c54, + array_length(array_agg(tab0s0||'55', 100000)) AS c55, + array_length(array_agg(tab0s0||'56', 100000)) AS c56, + array_length(array_agg(tab0s0||'57', 100000)) AS c57, + array_length(array_agg(tab0s0||'58', 100000)) AS c58, + array_length(array_agg(tab0s0||'59', 100000)) AS c59, + array_length(array_agg(tab0s0||'60', 100000)) AS c60, + array_length(array_agg(tab0s0||'61', 100000)) AS c61, + array_length(array_agg(tab0s0||'62', 100000)) AS c62, + array_length(array_agg(tab0s0||'63', 100000)) AS c63, + array_length(array_agg(tab0s0||'64', 100000)) AS c64, + array_length(array_agg(tab0s0||'65', 100000)) AS c65, + array_length(array_agg(tab0s0||'66', 100000)) AS c66, + array_length(array_agg(tab0s0||'67', 100000)) AS c67, + array_length(array_agg(tab0s0||'68', 100000)) AS c68, + array_length(array_agg(tab0s0||'69', 100000)) AS c69, + array_length(array_agg(tab0s0||'70', 100000)) AS c70, + array_length(array_agg(tab0s0||'71', 100000)) AS c71, + array_length(array_agg(tab0s0||'72', 100000)) AS c72, + array_length(array_agg(tab0s0||'73', 100000)) AS c73, + array_length(array_agg(tab0s0||'74', 100000)) AS c74, + array_length(array_agg(tab0s0||'75', 100000)) AS c75, + array_length(array_agg(tab0s0||'76', 100000)) AS c76, + array_length(array_agg(tab0s0||'77', 100000)) AS c77, + array_length(array_agg(tab0s0||'78', 100000)) AS c78, + array_length(array_agg(tab0s0||'79', 100000)) AS c79, + array_length(array_agg(tab0s0||'80', 100000)) AS c80, + array_length(array_agg(tab0s0||'81', 100000)) AS c81, + array_length(array_agg(tab0s0||'82', 100000)) AS c82, + array_length(array_agg(tab0s0||'83', 100000)) AS c83, + array_length(array_agg(tab0s0||'84', 100000)) AS c84, + array_length(array_agg(tab0s0||'85', 100000)) AS c85, + array_length(array_agg(tab0s0||'86', 100000)) AS c86, + array_length(array_agg(tab0s0||'87', 100000)) AS c87, + array_length(array_agg(tab0s0||'88', 100000)) AS c88, + array_length(array_agg(tab0s0||'89', 100000)) AS c89, + array_length(array_agg(tab0s0||'90', 100000)) AS c90, + array_length(array_agg(tab0s0||'91', 100000)) AS c91, + array_length(array_agg(tab0s0||'92', 100000)) AS c92, + array_length(array_agg(tab0s0||'93', 100000)) AS c93, + array_length(array_agg(tab0s0||'94', 100000)) AS c94, + array_length(array_agg(tab0s0||'95', 100000)) AS c95, + array_length(array_agg(tab0s0||'96', 100000)) AS c96, + array_length(array_agg(tab0s0||'97', 100000)) AS c97, + array_length(array_agg(tab0s0||'98', 100000)) AS c98, + array_length(array_agg(tab0s0||'99', 100000)) AS c99, + array_length(array_agg(tab0s0||'100', 100000)) AS c100 +FROM test_agg_funcs +GROUP BY __time; +Not enough merge buffer memory +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(lower(tab0s0)) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++--------------------------------------------------------------------------+ +| col | ++--------------------------------------------------------------------------+ +| [aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaa] | ++--------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0 || tab0s0 || tab0s0 || tab0s0 || tab0s0) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA] | ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(length(tab0s0)) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++--------------------------+ +| col | ++--------------------------+ +| [10, 10, 10, 10, 10, 10] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0, 'Not even a size') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0, -1) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A03 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0, 0) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A04 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0, 1) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A05 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0, 2147483648) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0, 2147483647) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++--------------------------------------------------------------------------+ +| col | ++--------------------------------------------------------------------------+ +| [AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA] | ++--------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0, 100000000) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++--------------------------------------------------------------------------+ +| col | ++--------------------------------------------------------------------------+ +| [AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA] | ++--------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(tab0s0, 10000000) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++--------------------------------------------------------------------------+ +| col | ++--------------------------------------------------------------------------+ +| [AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA, AAAAAAAAAA] | ++--------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# Total query count 16 Positive tests: 9 Negative tests: 7 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_string.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_string.iq new file mode 100644 index 000000000000..05eb97904aec --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_string.iq @@ -0,0 +1,2235 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array['AAAAAAAAAA', + 'BBBBBBBBBB'] AS col; ++--------------------------+ +| col | ++--------------------------+ +| [AAAAAAAAAA, BBBBBBBBBB] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg('AAAAAAAAAA') AS col; ++--------------+ +| col | ++--------------+ +| [AAAAAAAAAA] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(tab0s0) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 161 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(tab0s0)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0s0), 0) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0s0), 100) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0s0), 1) AS col +FROM test_agg_funcs +WHERE tab0s0='BBBBBBBBBB'; ++------------+ +| col | ++------------+ +| BBBBBBBBBB | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0s0), 100) AS col +FROM test_agg_funcs +WHERE tab0s0='BBBBBBBBBB'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0s0), 'AAAAAAAAAA') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0s0), array['AAAAAAAAAA', 'BBBBBBBBBB']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0s0), 'CCCCCCCCCC') AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0s0), array['AAAAAAAAAA', 'CCCCCCCCCC']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0s0), array['AAAAAAAAAA', 'CCCCCCCCCC']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0s0), array['CCCCCCCCCC', 'DDDDDDDDDD']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0s0), array_agg(DISTINCT tab0s0)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0s0), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0s0), 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0s0), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0s0), 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(tab0s0), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 161 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(tab0s0), '|'), 'AAAAAAAAAA') +AND contains_string(array_to_string(array_agg(DISTINCT tab0s0), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_prepend('CCCCCCCCCC', array_agg(tab0s0)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend('CCCCCCCCCC', array_agg(tab0s0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_append(array_agg(tab0s0), 'CCCCCCCCCC') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(tab0s0), 'CCCCCCCCCC')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(tab0s0), array['CCCCCCCCCC']) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0s0), array['CCCCCCCCCC'])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(tab0s0), array_agg(tab0s0)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 323 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0s0), array_agg(tab0s0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0s0), 0, 1) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++--------------+ +| col | ++--------------+ +| [AAAAAAAAAA] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0s0), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A32 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.tab0s0) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A33 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.tab0s0), '') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A34 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0s0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A35 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.tab0s0) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A36 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.tab0s0), '') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A37 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0s0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array['AAAAAAAAAA', + 'BBBBBBBBBB'] AS col; ++--------------------------+ +| col | ++--------------------------+ +| [AAAAAAAAAA, BBBBBBBBBB] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(DISTINCT 'AAAAAAAAAA') AS col; ++--------------+ +| col | ++--------------+ +| [AAAAAAAAAA] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT tab0s0) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT tab0s0)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0s0), 0) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0s0), 100) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0s0), 1) AS col +FROM test_agg_funcs +WHERE tab0s0='BBBBBBBBBB'; ++------------+ +| col | ++------------+ +| BBBBBBBBBB | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0s0), 100) AS col +FROM test_agg_funcs +WHERE tab0s0='BBBBBBBBBB'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0s0), 'AAAAAAAAAA') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0s0), array['AAAAAAAAAA', 'BBBBBBBBBB']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0s0), 'CCCCCCCCCC') AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0s0), array['AAAAAAAAAA', 'CCCCCCCCCC']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0s0), array['AAAAAAAAAA', 'CCCCCCCCCC']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0s0), array['CCCCCCCCCC', 'DDDDDDDDDD']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0s0), array_agg(DISTINCT tab0s0)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0s0), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0s0), 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0s0), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0s0), 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(DISTINCT tab0s0), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT tab0s0), '|'), 'AAAAAAAAAA') +AND contains_string(array_to_string(array_agg(DISTINCT tab0s0), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_prepend('CCCCCCCCCC', array_agg(DISTINCT tab0s0)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend('CCCCCCCCCC', array_agg(DISTINCT tab0s0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_append(array_agg(DISTINCT tab0s0), 'CCCCCCCCCC') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(DISTINCT tab0s0), 'CCCCCCCCCC')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT tab0s0), array['CCCCCCCCCC']) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0s0), array['CCCCCCCCCC'])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT tab0s0), array_agg(DISTINCT tab0s0)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 53 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0s0), array_agg(DISTINCT tab0s0))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 6 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0s0), 0, 1) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++--------------+ +| col | ++--------------+ +| [AAAAAAAAAA] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0s0), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.tab0s0) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0s0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0s0), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0s0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 20 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.tab0s0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; ++-----+ +| col | ++-----+ +| 20 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.tab0s0) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0s0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0s0), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0s0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.tab0s0), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; ++-----+ +| col | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array['AAAAAAAAAA', + 'BBBBBBBBBB'] AS col; ++--------------------------+ +| col | ++--------------------------+ +| [AAAAAAAAAA, BBBBBBBBBB] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(DISTINCT 'AAAAAAAAAA', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT tab0s0, 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT tab0s0, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0s0, 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT tab0s0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0s0, 100000), 1) AS col +FROM test_agg_funcs +WHERE tab0s0='BBBBBBBBBB'; ++------------+ +| col | ++------------+ +| BBBBBBBBBB | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT tab0s0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0s0='BBBBBBBBBB'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0s0, 100000), 'AAAAAAAAAA') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0s0, 100000), array['AAAAAAAAAA', 'BBBBBBBBBB']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0s0, 100000), 'CCCCCCCCCC') AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT tab0s0, 100000), array['AAAAAAAAAA', 'CCCCCCCCCC']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0s0, 100000), array['AAAAAAAAAA', 'CCCCCCCCCC']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0s0, 100000), array['CCCCCCCCCC', 'DDDDDDDDDD']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT tab0s0, 100000), array_agg(DISTINCT tab0s0, 100000)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0s0, 100000), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT tab0s0, 100000), 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0s0, 100000), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT tab0s0, 100000), 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(DISTINCT tab0s0, 100000), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT tab0s0, 100000), '|'), 'AAAAAAAAAA') +AND contains_string(array_to_string(array_agg(DISTINCT tab0s0, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_prepend('CCCCCCCCCC', array_agg(DISTINCT tab0s0, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend('CCCCCCCCCC', array_agg(DISTINCT tab0s0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_append(array_agg(DISTINCT tab0s0, 100000), 'CCCCCCCCCC') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(DISTINCT tab0s0, 100000), 'CCCCCCCCCC')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT tab0s0, 100000), array['CCCCCCCCCC']) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 37 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0s0, 100000), array['CCCCCCCCCC'])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT tab0s0, 100000), array_agg(DISTINCT tab0s0, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 53 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT tab0s0, 100000), array_agg(DISTINCT tab0s0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 6 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0s0, 100000), 0, 1) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++--------------+ +| col | ++--------------+ +| [AAAAAAAAAA] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT tab0s0, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.tab0s0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0s0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0s0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0s0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 20 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.tab0s0, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; ++-----+ +| col | ++-----+ +| 20 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.tab0s0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0s0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.tab0s0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0s0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.tab0s0, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; ++-----+ +| col | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array['AAAAAAAAAA', + 'BBBBBBBBBB'] AS col; ++--------------------------+ +| col | ++--------------------------+ +| [AAAAAAAAAA, BBBBBBBBBB] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg('AAAAAAAAAA', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(tab0s0, 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 161 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(tab0s0, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0s0, 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(tab0s0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0s0, 100000), 1) AS col +FROM test_agg_funcs +WHERE tab0s0='BBBBBBBBBB'; ++------------+ +| col | ++------------+ +| BBBBBBBBBB | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(tab0s0, 100000), 100) AS col +FROM test_agg_funcs +WHERE tab0s0='BBBBBBBBBB'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0s0, 100000), 'AAAAAAAAAA') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0s0, 100000), array['AAAAAAAAAA', 'BBBBBBBBBB']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0s0, 100000), 'CCCCCCCCCC') AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(tab0s0, 100000), array['AAAAAAAAAA', 'CCCCCCCCCC']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0s0, 100000), array['AAAAAAAAAA', 'CCCCCCCCCC']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0s0, 100000), array['CCCCCCCCCC', 'DDDDDDDDDD']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(tab0s0, 100000), array_agg(DISTINCT tab0s0, 100000)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0s0, 100000), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(tab0s0, 100000), 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0s0, 100000), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(tab0s0, 100000), 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(tab0s0, 100000), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 161 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(tab0s0, 100000), '|'), 'AAAAAAAAAA') +AND contains_string(array_to_string(array_agg(DISTINCT tab0s0, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_prepend('CCCCCCCCCC', array_agg(tab0s0, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_prepend('CCCCCCCCCC', array_agg(tab0s0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_append(array_agg(tab0s0, 100000), 'CCCCCCCCCC') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_append(array_agg(tab0s0, 100000), 'CCCCCCCCCC')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(tab0s0, 100000), array['CCCCCCCCCC']) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 172 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0s0, 100000), array['CCCCCCCCCC'])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(tab0s0, 100000), array_agg(tab0s0, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 323 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(tab0s0, 100000), array_agg(tab0s0, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0s0, 100000), 0, 1) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++--------------+ +| col | ++--------------+ +| [AAAAAAAAAA] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(tab0s0, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(t0.tab0s0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0s0 IS NOT NULL); ++-------+ +| LEN | ++-------+ +| 42767 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(t0.tab0s0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0s0 IS NOT NULL); ++-------+ +| LEN | ++-------+ +| 38880 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0s0, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; ++-------+ +| col | ++-------+ +| 38880 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(t0.tab0s0, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0s0); ++-------+ +| LEN | ++-------+ +| 21383 | +| 21383 | +| 9719 | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(t0.tab0s0, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0s0); ++-------+ +| LEN | ++-------+ +| 19440 | +| 19440 | +| 7776 | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.tab0s0, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; ++-------+ +| col | ++-------+ +| 19440 | +| 19440 | +| 7776 | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# Total query count 149 Positive tests: 141 Negative tests: 8 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_timestamp.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_timestamp.iq new file mode 100644 index 000000000000..beee4073b0cc --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_array_agg_timestamp.iq @@ -0,0 +1,1750 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-02-01 01:01:01.000'] AS col; ++--------------------------------------------+ +| col | ++--------------------------------------------+ +| [2020-01-01 01:01:01, 2020-02-01 01:01:01] | ++--------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(timestamp '2020-01-01 01:01:01.000') AS col; ++-----------------------+ +| col | ++-----------------------+ +| [2020-01-01 01:01:01] | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(__time) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(__time)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(__time), 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(__time), 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-02-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(__time), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-02-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(__time), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-03-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(__time), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-03-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(__time), array[timestamp '2020-03-01 01:01:01.000', timestamp '2020-04-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(__time), array_agg(DISTINCT __time)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(__time), timestamp '2020-01-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(__time), timestamp '2020-03-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(__time), timestamp '2020-01-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(__time), timestamp '2020-03-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(__time), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(__time), '|'), '1577840461000') +AND contains_string(array_to_string(array_agg(DISTINCT __time), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(__time), array[timestamp '2020-03-01 01:01:01.000']) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 265 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(__time), array[timestamp '2020-03-01 01:01:01.000'])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(__time), array_agg(__time)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 503 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(__time), array_agg(__time))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(__time), 0, 1) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------+ +| col | ++-----------------------+ +| [2020-01-01 01:01:01] | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(__time), 100, 101) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.__time) +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.__time), '') +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.__time), '')) +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(t0.__time) +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(array_agg(t0.__time), '') +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.__time), '')) +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-02-01 01:01:01.000'] AS col; ++--------------------------------------------+ +| col | ++--------------------------------------------+ +| [2020-01-01 01:01:01, 2020-02-01 01:01:01] | ++--------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(DISTINCT timestamp '2020-01-01 01:01:01.000') AS col; ++-----------------------+ +| col | ++-----------------------+ +| [2020-01-01 01:01:01] | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT __time) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT __time)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT __time), 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT __time), 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-02-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT __time), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-02-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT __time), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-03-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT __time), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-03-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT __time), array[timestamp '2020-03-01 01:01:01.000', timestamp '2020-04-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT __time), array_agg(DISTINCT __time)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT __time), timestamp '2020-01-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT __time), timestamp '2020-03-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT __time), timestamp '2020-01-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT __time), timestamp '2020-03-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(DISTINCT __time), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT __time), '|'), '1577840461000') +AND contains_string(array_to_string(array_agg(DISTINCT __time), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT __time), array[timestamp '2020-03-01 01:01:01.000']) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 41 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT __time), array[timestamp '2020-03-01 01:01:01.000'])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT __time), array_agg(DISTINCT __time)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 55 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT __time), array_agg(DISTINCT __time))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT __time), 0, 1) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------+ +| col | ++-----------------------+ +| [2020-01-01 01:01:01] | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT __time), 100, 101) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.__time) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.__time IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.__time), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.__time IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.__time), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; ++-----+ +| col | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.__time) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.__time); ++-----+ +| LEN | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.__time), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.__time); ++-----+ +| LEN | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.__time), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; ++-----+ +| col | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-02-01 01:01:01.000'] AS col; ++--------------------------------------------+ +| col | ++--------------------------------------------+ +| [2020-01-01 01:01:01, 2020-02-01 01:01:01] | ++--------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(DISTINCT timestamp '2020-01-01 01:01:01.000', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT __time, 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(DISTINCT __time, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(DISTINCT __time, 100000), 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(DISTINCT __time, 100000), 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-02-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT __time, 100000), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-02-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(DISTINCT __time, 100000), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-03-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT __time, 100000), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-03-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT __time, 100000), array[timestamp '2020-03-01 01:01:01.000', timestamp '2020-04-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(DISTINCT __time, 100000), array_agg(DISTINCT __time, 100000)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT __time, 100000), timestamp '2020-01-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(DISTINCT __time, 100000), timestamp '2020-03-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT __time, 100000), timestamp '2020-01-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(DISTINCT __time, 100000), timestamp '2020-03-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(DISTINCT __time, 100000), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(DISTINCT __time, 100000), '|'), '1577840461000') +AND contains_string(array_to_string(array_agg(DISTINCT __time, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT __time, 100000), array[timestamp '2020-03-01 01:01:01.000']) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 41 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT __time, 100000), array[timestamp '2020-03-01 01:01:01.000'])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(DISTINCT __time, 100000), array_agg(DISTINCT __time, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 55 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(DISTINCT __time, 100000), array_agg(DISTINCT __time, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT __time, 100000), 0, 1) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------+ +| col | ++-----------------------+ +| [2020-01-01 01:01:01] | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(DISTINCT __time, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.__time, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.__time IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.__time, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.__time IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.__time, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; ++-----+ +| col | ++-----+ +| 26 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(DISTINCT t0.__time, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.__time); ++-----+ +| LEN | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(DISTINCT t0.__time, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.__time); ++-----+ +| LEN | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(DISTINCT t0.__time, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; ++-----+ +| col | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-02-01 01:01:01.000'] AS col; ++--------------------------------------------+ +| col | ++--------------------------------------------+ +| [2020-01-01 01:01:01, 2020-02-01 01:01:01] | ++--------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_agg(timestamp '2020-01-01 01:01:01.000', 100000); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(__time, 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_agg(__time, 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(array_agg(__time, 100000), 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(array_agg(__time, 100000), 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-02-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(__time, 100000), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-02-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(array_agg(__time, 100000), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-03-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(__time, 100000), array[timestamp '2020-01-01 01:01:01.000', timestamp '2020-03-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(__time, 100000), array[timestamp '2020-03-01 01:01:01.000', timestamp '2020-04-01 01:01:01.000']) AS col +FROM test_agg_funcs; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(array_agg(__time, 100000), array_agg(__time, 100000)) AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(__time, 100000), timestamp '2020-01-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(array_agg(__time, 100000), timestamp '2020-03-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(__time, 100000), timestamp '2020-01-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(array_agg(__time, 100000), timestamp '2020-03-01 01:01:01.000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(array_agg(__time, 100000), '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(array_to_string(array_agg(__time, 100000), '|'), '1577840461000') +AND contains_string(array_to_string(array_agg(__time, 100000), '|'), '|') AS col +FROM test_agg_funcs; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(__time, 100000), array[timestamp '2020-03-01 01:01:01.000']) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 265 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(__time, 100000), array[timestamp '2020-03-01 01:01:01.000'])) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 19 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_concat(array_agg(__time, 100000), array_agg(__time, 100000)) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 503 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(array_concat(array_agg(__time, 100000), array_agg(__time, 100000))) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 36 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(__time, 100000), 0, 1) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------+ +| col | ++-----------------------+ +| [2020-01-01 01:01:01] | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(array_agg(__time, 100000), 100, 101) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(t0.__time, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.__time IS NOT NULL); ++-------+ +| LEN | ++-------+ +| 81647 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(t0.__time, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.__time IS NOT NULL); ++-------+ +| LEN | ++-------+ +| 75816 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.__time, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; ++-------+ +| col | ++-------+ +| 75816 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(array_to_string(col, '|')) AS LEN +FROM + (SELECT array_agg(t0.__time, 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.__time); ++-------+ +| LEN | ++-------+ +| 40823 | +| 40823 | ++-------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) AS LEN +FROM + (SELECT array_to_string(array_agg(t0.__time, 100000), '') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.__time); ++-------+ +| LEN | ++-------+ +| 37908 | +| 37908 | ++-------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(array_to_string(array_agg(t0.__time, 100000), '')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; ++-------+ +| col | ++-------+ +| 37908 | +| 37908 | ++-------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# Total query count 117 Positive tests: 109 Negative tests: 8 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_double.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_double.iq new file mode 100644 index 000000000000..9fb8a79b9e78 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_double.iq @@ -0,0 +1,4597 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(111.1111111, '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0d0, '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0d0, '|') AS col +FROM test_agg_funcs +WHERE tab0d0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0d0, '|') || '-3333333333' AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT '3333333333-' || string_agg(tab0d0, '|') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0d0, ',') || '-' || string_agg(tab0d0, '|') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT concat(string_agg(tab0d0, ','), '-', string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0d0, '|'), '-3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat('3333333333-', string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0d0, ','), string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_format('%s-%s', string_agg(tab0d0, ','), string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT char_length(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lower(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(tab0d0, '|'), 16) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(tab0d0, '|')) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(tab0d0, '|') + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT regexp_extract(string_agg(tab0d0, '|'), '13\.') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0d0, '|'), '14\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0d0, '|'), '13\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0d0, '|'), '14\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0d0, '|'), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0d0, '|'), '222.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0d0, '|'), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0d0, '|'), '222.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(tab0d0, '|'), '111.', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(tab0d0, '|'), '4444444444', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0d0, '|'), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0d0, '|'), '|4444444444') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(tab0d0, '|'), 1) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(tab0d0, '|'), 4, 100) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH + FROM string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING + FROM string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING + FROM string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH '1' + FROM string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING '1' + FROM string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING '1' + FROM string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(tab0d0, '|'), '1') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(tab0d0, '|'), '1') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(tab0d0, '|'), '1') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT upper(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT reverse(string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0d0, '|'), -1) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0d0, '|'), 0) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT repeat(string_agg(tab0d0, '|'), 2) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0d0, '|'), 4) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0d0, '|'), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0d0, '|'), 500) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0d0, '|'), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0d0, '|'), 4) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0d0, '|'), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0d0, '|'), 500) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0d0, '|'), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A59 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.tab0d0, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0d0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A60 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0d0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0d0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A61 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.tab0d0, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0d0; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A62 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0d0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0d0; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT 111.1111111, '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0d0, '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0d0, '|') AS col +FROM test_agg_funcs +WHERE tab0d0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0d0, '|') || '-3333333333' AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT '3333333333-' || string_agg(DISTINCT tab0d0, '|') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0d0, ',') || '-' || string_agg(tab0d0, '|') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT concat(string_agg(tab0d0, ','), '-', string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(DISTINCT tab0d0, '|'), '-3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat('3333333333-', string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0d0, ','), string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_format('%s-%s', string_agg(DISTINCT tab0d0, ','), string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT char_length(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lower(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT tab0d0, '|'), 16) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0d0, '|')) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0d0, '|') + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT regexp_extract(string_agg(DISTINCT tab0d0, '|'), '13\.') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0d0, '|'), '14\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0d0, '|'), '13\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0d0, '|'), '14\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0d0, '|'), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0d0, '|'), '222.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0d0, '|'), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0d0, '|'), '222.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(DISTINCT tab0d0, '|'), '111.', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(DISTINCT tab0d0, '|'), '4444444444', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0d0, '|'), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0d0, '|'), '4444444444') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(DISTINCT tab0d0, '|'), 1) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(DISTINCT tab0d0, '|'), 1, 100) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH + FROM string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING + FROM string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING + FROM string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1234567890.' + FROM string_agg(DISTINCT tab0d0, '|')) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1234567890.' + FROM string_agg(DISTINCT tab0d0, '|')) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1234567890.' + FROM string_agg(DISTINCT tab0d0, '|')) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0d0, '|'), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0d0, '|'), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0d0, '|'), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT upper(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT reverse(string_agg(DISTINCT tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0d0, '|'), -1) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0d0, '|'), 0) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT repeat(string_agg(DISTINCT tab0d0, '|'), 2) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0d0, '|'), 4) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0d0, '|'), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0d0, '|'), 500) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0d0, '|'), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0d0, '|'), 4) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0d0, '|'), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0d0, '|'), 500) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0d0, '|'), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT t0.tab0d0, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT t0.tab0d0, '|')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT t0.tab0d0, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT t0.tab0d0, '|')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT 111.1111111, '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0d0, '|', 100000) AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0d0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0d0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0d0, '|', 100000) || '-3333333333' AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT '3333333333-' || string_agg(DISTINCT tab0d0, '|', 100000) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0d0, ',', 100000) || '-' || string_agg(tab0d0, '|') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT concat(string_agg(tab0d0, ','), '-', string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(DISTINCT tab0d0, '|', 100000), '-3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat('3333333333-', string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0d0, ','), string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_format('%s-%s', string_agg(DISTINCT tab0d0, ',', 100000), string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT char_length(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lower(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT tab0d0, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0d0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0d0, '|', 100000) + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT regexp_extract(string_agg(DISTINCT tab0d0, '|', 100000), '13\.') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0d0, '|', 100000), '14\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0d0, '|', 100000), '13\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0d0, '|', 100000), '14\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0d0, '|', 100000), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0d0, '|', 100000), '222.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0d0, '|', 100000), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0d0, '|', 100000), '222.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(DISTINCT tab0d0, '|', 100000), '111.', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(DISTINCT tab0d0, '|', 100000), '4444444444', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0d0, '|', 100000), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0d0, '|', 100000), '4444444444') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(DISTINCT tab0d0, '|', 100000), 1) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(DISTINCT tab0d0, '|', 100000), 1, 100) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH + FROM string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING + FROM string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING + FROM string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1234567890.' + FROM string_agg(DISTINCT tab0d0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1234567890.' + FROM string_agg(DISTINCT tab0d0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1234567890.' + FROM string_agg(DISTINCT tab0d0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0d0, '|', 100000), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0d0, '|', 100000), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0d0, '|', 100000), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT upper(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT reverse(string_agg(DISTINCT tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0d0, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0d0, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT repeat(string_agg(DISTINCT tab0d0, '|', 100000), 2) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0d0, '|', 100000), 4) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0d0, '|', 100000), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0d0, '|', 100000), 500) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0d0, '|', 100000), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0d0, '|', 100000), 4) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0d0, '|', 100000), 4, '3') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++------+ +| col | ++------+ +| 111. | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0d0, '|', 100000), 500) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0d0, '|', 100000), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT t0.tab0d0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT t0.tab0d0, '|', 100000)) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT t0.tab0d0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT t0.tab0d0, '|', 100000)) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(111.1111111, '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0d0, '|', 100000) AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0d0, '|', 100000) AS col + FROM test_agg_funcs + WHERE tab0d0 IS NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0d0, '|', 100000) || '-3333333333' AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT '3333333333-' || string_agg(tab0d0, '|', 100000) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0d0, ',', 100000) || '-' || string_agg(tab0d0, '|') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT concat(string_agg(tab0d0, ','), '-', string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0d0, '|', 100000), '-3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat('3333333333-', string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0d0, ',', 100000), string_agg(tab0d0, '|')) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_format('%s-%s', string_agg(tab0d0, ','), string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT char_length(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lower(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(tab0d0, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(tab0d0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(tab0d0, '|', 100000) + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT regexp_extract(string_agg(tab0d0, '|', 100000), '13\.') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0d0, '|', 100000), '14\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0d0, '|', 100000), '13\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0d0, '|', 100000), '14\.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0d0, '|', 100000), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0d0, '|', 100000), '222.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0d0, '|', 100000), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0d0, '|', 100000), '222.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(tab0d0, '|', 100000), '111.', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(tab0d0, '|', 100000), '4444444444', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0d0, '|', 100000), '111.') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0d0, '|', 100000), '|4444444444') AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(tab0d0, '|', 100000), 1) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(tab0d0, '|', 100000), 4, 100) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH + FROM string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING + FROM string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING + FROM string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH '1' + FROM string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING '1' + FROM string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING '1' + FROM string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(tab0d0, '|', 100000), '1') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(tab0d0, '|', 100000), '1') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(tab0d0, '|', 100000), '1') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT upper(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT reverse(string_agg(tab0d0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0d0, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0d0, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0d0>111 + AND tab0d0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT repeat(string_agg(tab0d0, '|', 100000), 2) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0d0, '|', 100000), 4) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0d0, '|', 100000), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0d0, '|', 100000), 500) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0d0, '|', 100000), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0d0, '|', 100000), 4) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0d0, '|', 100000), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0d0, '|', 100000), 500) AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0d0, '|', 100000), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0d0>111 + AND tab0d0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(t0.tab0d0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(t0.tab0d0, '|', 100000)) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0d0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(t0.tab0d0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(t0.tab0d0, '|', 100000)) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0d0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# Total query count 249 Positive tests: 241 Negative tests: 8 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_float.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_float.iq new file mode 100644 index 000000000000..d2b1a5207931 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_float.iq @@ -0,0 +1,4597 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(11.1111111, '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0f0, '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0f0, '|') AS col +FROM test_agg_funcs +WHERE tab0f0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0f0, '|') || '-3333333333' AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT '3333333333-' || string_agg(tab0f0, '|') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0f0, ',') || '-' || string_agg(tab0f0, '|') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT concat(string_agg(tab0f0, ','), '-', string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0f0, '|'), '-3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat('3333333333-', string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0f0, ','), string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_format('%s-%s', string_agg(tab0f0, ','), string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT char_length(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lower(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(tab0f0, '|'), 16) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(tab0f0, '|')) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(tab0f0, '|') + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT regexp_extract(string_agg(tab0f0, '|'), '13\.') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0f0, '|'), '14\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0f0, '|'), '13\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0f0, '|'), '14\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0f0, '|'), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0f0, '|'), '22.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0f0, '|'), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0f0, '|'), '22.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(tab0f0, '|'), '11.', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(tab0f0, '|'), '4444444444', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0f0, '|'), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0f0, '|'), '|4444444444') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(tab0f0, '|'), 1) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(tab0f0, '|'), 4, 100) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH + FROM string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING + FROM string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING + FROM string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH '1' + FROM string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING '1' + FROM string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING '1' + FROM string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(tab0f0, '|'), '1') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(tab0f0, '|'), '1') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(tab0f0, '|'), '1') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT upper(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT reverse(string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0f0, '|'), -1) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0f0, '|'), 0) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT repeat(string_agg(tab0f0, '|'), 2) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0f0, '|'), 4) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0f0, '|'), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0f0, '|'), 500) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0f0, '|'), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0f0, '|'), 4) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0f0, '|'), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0f0, '|'), 500) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0f0, '|'), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A59 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.tab0f0, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0f0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A60 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0f0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0f0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A61 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.tab0f0, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0f0; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A62 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0f0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0f0; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT 11.1111111, '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0f0, '|') AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0f0, '|') AS col +FROM test_agg_funcs +WHERE tab0f0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0f0, '|') || '-3333333333' AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT '3333333333-' || string_agg(DISTINCT tab0f0, '|') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0f0, ',') || '-' || string_agg(tab0f0, '|') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT concat(string_agg(tab0f0, ','), '-', string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(DISTINCT tab0f0, '|'), '-3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat('3333333333-', string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0f0, ','), string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_format('%s-%s', string_agg(DISTINCT tab0f0, ','), string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT char_length(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lower(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT tab0f0, '|'), 16) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0f0, '|')) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0f0, '|') + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT regexp_extract(string_agg(DISTINCT tab0f0, '|'), '13\.') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0f0, '|'), '14\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0f0, '|'), '13\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0f0, '|'), '14\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0f0, '|'), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0f0, '|'), '22.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0f0, '|'), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0f0, '|'), '22.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(DISTINCT tab0f0, '|'), '11.', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(DISTINCT tab0f0, '|'), '4444444444', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0f0, '|'), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0f0, '|'), '4444444444') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(DISTINCT tab0f0, '|'), 1) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(DISTINCT tab0f0, '|'), 1, 100) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH + FROM string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING + FROM string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING + FROM string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1234567890.' + FROM string_agg(DISTINCT tab0f0, '|')) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1234567890.' + FROM string_agg(DISTINCT tab0f0, '|')) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1234567890.' + FROM string_agg(DISTINCT tab0f0, '|')) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0f0, '|'), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0f0, '|'), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0f0, '|'), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT upper(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT reverse(string_agg(DISTINCT tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0f0, '|'), -1) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0f0, '|'), 0) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT repeat(string_agg(DISTINCT tab0f0, '|'), 2) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0f0, '|'), 4) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0f0, '|'), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0f0, '|'), 500) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0f0, '|'), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0f0, '|'), 4) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0f0, '|'), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0f0, '|'), 500) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0f0, '|'), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT t0.tab0f0, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT t0.tab0f0, '|')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT t0.tab0f0, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT t0.tab0f0, '|')) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT 11.1111111, '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0f0, '|', 100000) AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0f0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0f0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0f0, '|', 100000) || '-3333333333' AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT '3333333333-' || string_agg(DISTINCT tab0f0, '|', 100000) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT tab0f0, ',', 100000) || '-' || string_agg(tab0f0, '|') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT concat(string_agg(tab0f0, ','), '-', string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(DISTINCT tab0f0, '|', 100000), '-3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat('3333333333-', string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0f0, ','), string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_format('%s-%s', string_agg(DISTINCT tab0f0, ',', 100000), string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT char_length(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lower(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT tab0f0, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0f0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0f0, '|', 100000) + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT regexp_extract(string_agg(DISTINCT tab0f0, '|', 100000), '13\.') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0f0, '|', 100000), '14\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0f0, '|', 100000), '13\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0f0, '|', 100000), '14\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0f0, '|', 100000), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0f0, '|', 100000), '22.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0f0, '|', 100000), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0f0, '|', 100000), '22.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(DISTINCT tab0f0, '|', 100000), '11.', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(DISTINCT tab0f0, '|', 100000), '4444444444', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0f0, '|', 100000), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0f0, '|', 100000), '4444444444') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(DISTINCT tab0f0, '|', 100000), 1) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(DISTINCT tab0f0, '|', 100000), 1, 100) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH + FROM string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING + FROM string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING + FROM string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1234567890.' + FROM string_agg(DISTINCT tab0f0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1234567890.' + FROM string_agg(DISTINCT tab0f0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1234567890.' + FROM string_agg(DISTINCT tab0f0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0f0, '|', 100000), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0f0, '|', 100000), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0f0, '|', 100000), '1234567890.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT upper(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT reverse(string_agg(DISTINCT tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0f0, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0f0, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT repeat(string_agg(DISTINCT tab0f0, '|', 100000), 2) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0f0, '|', 100000), 4) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0f0, '|', 100000), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0f0, '|', 100000), 500) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(DISTINCT tab0f0, '|', 100000), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0f0, '|', 100000), 4) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0f0, '|', 100000), 4, '3') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0f0, '|', 100000), 500) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(DISTINCT tab0f0, '|', 100000), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT t0.tab0f0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT t0.tab0f0, '|', 100000)) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(DISTINCT t0.tab0f0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(DISTINCT t0.tab0f0, '|', 100000)) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(11.1111111, '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0f0, '|', 100000) AS col + FROM test_agg_funcs) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0f0, '|', 100000) AS col + FROM test_agg_funcs + WHERE tab0f0 IS NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0f0, '|', 100000) || '-3333333333' AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT '3333333333-' || string_agg(tab0f0, '|', 100000) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(tab0f0, ',', 100000) || '-' || string_agg(tab0f0, '|') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT concat(string_agg(tab0f0, ','), '-', string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0f0, '|', 100000), '-3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat('3333333333-', string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT textcat(string_agg(tab0f0, ',', 100000), string_agg(tab0f0, '|')) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_format('%s-%s', string_agg(tab0f0, ','), string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT char_length(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT character_length(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lower(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(tab0f0, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(tab0f0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(tab0f0, '|', 100000) + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT regexp_extract(string_agg(tab0f0, '|', 100000), '13\.') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0f0, '|', 100000), '14\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0f0, '|', 100000), '13\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0f0, '|', 100000), '14\.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0f0, '|', 100000), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0f0, '|', 100000), '22.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0f0, '|', 100000), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0f0, '|', 100000), '22.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(tab0f0, '|', 100000), '11.', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT replace(string_agg(tab0f0, '|', 100000), '4444444444', '3333333333') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0f0, '|', 100000), '11.') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0f0, '|', 100000), '|4444444444') AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(tab0f0, '|', 100000), 1) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT substring(string_agg(tab0f0, '|', 100000), 4, 100) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH + FROM string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING + FROM string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING + FROM string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(BOTH '1' + FROM string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(LEADING '1' + FROM string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT trim(TRAILING '1' + FROM string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT btrim(string_agg(tab0f0, '|', 100000), '1') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT ltrim(string_agg(tab0f0, '|', 100000), '1') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rtrim(string_agg(tab0f0, '|', 100000), '1') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT upper(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT reverse(string_agg(tab0f0, '|', 100000)) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0f0, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0f0, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0f0>111 + AND tab0f0<222; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT repeat(string_agg(tab0f0, '|', 100000), 2) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0f0, '|', 100000), 4) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0f0, '|', 100000), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0f0, '|', 100000), 500) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT lpad(string_agg(tab0f0, '|', 100000), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0f0, '|', 100000), 4) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0f0, '|', 100000), 4, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0f0, '|', 100000), 500) AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT rpad(string_agg(tab0f0, '|', 100000), 500, '3') AS col + FROM test_agg_funcs + WHERE tab0f0>111 + AND tab0f0<222) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(t0.tab0f0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(t0.tab0f0, '|', 100000)) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0f0 IS NOT NULL) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT string_agg(t0.tab0f0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 'ABCD' + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT length(string_agg(t0.tab0f0, '|', 100000)) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0f0) +WHERE col != 99999 + OR col IS NULL; ++-----+ +| cnt | ++-----+ +| 3 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# Total query count 249 Positive tests: 241 Negative tests: 8 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_long.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_long.iq new file mode 100644 index 000000000000..18437d53c545 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_long.iq @@ -0,0 +1,3753 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(1111111111, '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(tab0l0, '|') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0l0, '|') AS col +FROM test_agg_funcs +WHERE tab0l0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0l0, '|') || '-3333333333' AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111-3333333333 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT '3333333333-' || string_agg(tab0l0, '|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 3333333333-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0l0, ',') || '-' || string_agg(tab0l0, '|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(tab0l0, ','), '-', string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0l0, '|'), '-3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111-3333333333 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('3333333333-', string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 3333333333-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0l0, ','), string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,11111111111111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(tab0l0, ','), string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(tab0l0, '|'), 16) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('|1' IN string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 11 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('|1' IN string_agg(tab0l0, '|') + FROM 12) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 22 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0l0, '|'), '110\|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0l0, '|'), '210\|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0l0, '|'), '110\|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0l0, '|'), '210\|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0l0, '|'), '1111111111|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0l0, '|'), '2222222222|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0l0, '|'), '1111111111|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0l0, '|'), '2222222222|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(tab0l0, '|'), '1111111111', '3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 3333333333|3333333333|3333333333|3333333333|3333333333|3333333333 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(tab0l0, '|'), '4444444444', '3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0l0, '|'), '|1111111111') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 11 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0l0, '|'), '|4444444444') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(tab0l0, '|'), 12) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++--------------------------------------------------------+ +| col | ++--------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111 | ++--------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(tab0l0, '|'), 12, 11) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1' + FROM string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------+ +| col | ++-----------------------------------------------+ +| |1111111111|1111111111|1111111111|1111111111| | ++-----------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1' + FROM string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| |1111111111|1111111111|1111111111|1111111111|1111111111 | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1' + FROM string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111| | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(tab0l0, '|'), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------+ +| col | ++-----------------------------------------------+ +| |1111111111|1111111111|1111111111|1111111111| | ++-----------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(tab0l0, '|'), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| |1111111111|1111111111|1111111111|1111111111|1111111111 | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(tab0l0, '|'), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111| | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0l0, '|'), -1) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0l0, '|'), 0) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0l0, '|'), 2) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|11111111111111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0l0, '|'), 11) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0l0, '|'), 11, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0l0, '|'), 75) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0l0, '|'), 75, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 33333333331111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0l0, '|'), 11) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0l0, '|'), 11, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0l0, '|'), 75) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0l0, '|'), 75, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|11111111113333333333 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A59 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.tab0l0, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A60 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0l0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A61 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.tab0l0, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A62 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0l0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT 1111111111, '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT tab0l0, '|') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0l0, '|') AS col +FROM test_agg_funcs +WHERE tab0l0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT tab0l0, '|') || '-3333333333' AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------+ +| col | ++-----------------------+ +| 1111111111-3333333333 | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT '3333333333-' || string_agg(DISTINCT tab0l0, '|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------+ +| col | ++-----------------------+ +| 3333333333-1111111111 | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT tab0l0, ',') || '-' || string_agg(tab0l0, '|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(tab0l0, ','), '-', string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,1111111111-1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(DISTINCT tab0l0, '|'), '-3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------+ +| col | ++-----------------------+ +| 1111111111-3333333333 | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('3333333333-', string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------+ +| col | ++-----------------------+ +| 3333333333-1111111111 | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0l0, ','), string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,11111111111111111111 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(DISTINCT tab0l0, ','), string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT tab0l0, '|'), 16) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 73300775185 | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0l0, '|') + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0l0, '|'), '110') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0l0, '|'), '210') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0l0, '|'), '110') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0l0, '|'), '210') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0l0, '|'), '1111111111') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0l0, '|'), '2222222222') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0l0, '|'), '1111111111') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0l0, '|'), '2222222222') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT tab0l0, '|'), '1111111111', '3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 3333333333 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT tab0l0, '|'), '4444444444', '3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0l0, '|'), '1111111111') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0l0, '|'), '4444444444') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT tab0l0, '|'), 10) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT tab0l0, '|'), 10, 100) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1' + FROM string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1' + FROM string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1' + FROM string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0l0, '|'), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0l0, '|'), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0l0, '|'), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(DISTINCT tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0l0, '|'), -1) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0l0, '|'), 0) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0l0, '|'), 2) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 11111111111111111111 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0l0, '|'), 5) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| 11111 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0l0, '|'), 5, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| 11111 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0l0, '|'), 20) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 1111111111 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0l0, '|'), 20, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 33333333331111111111 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0l0, '|'), 5) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| 11111 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0l0, '|'), 5, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| 11111 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0l0, '|'), 20) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 1111111111 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0l0, '|'), 20, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 11111111113333333333 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.tab0l0, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0l0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.tab0l0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.tab0l0, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0l0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.tab0l0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; ++-----+ +| col | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT 1111111111, '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT tab0l0, '|', 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT tab0l0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0l0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT tab0l0, '|', 100000) || '-3333333333' AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------+ +| col | ++-----------------------+ +| 1111111111-3333333333 | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT '3333333333-' || string_agg(DISTINCT tab0l0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------+ +| col | ++-----------------------+ +| 3333333333-1111111111 | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT tab0l0, ',', 100000) || '-' || string_agg(tab0l0, '|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(tab0l0, ','), '-', string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,1111111111-1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(DISTINCT tab0l0, '|', 100000), '-3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------+ +| col | ++-----------------------+ +| 1111111111-3333333333 | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('3333333333-', string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------+ +| col | ++-----------------------+ +| 3333333333-1111111111 | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0l0, ','), string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,11111111111111111111 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(DISTINCT tab0l0, ',', 100000), string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT tab0l0, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 73300775185 | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1' IN string_agg(DISTINCT tab0l0, '|', 100000) + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0l0, '|', 100000), '110') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0l0, '|', 100000), '210') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0l0, '|', 100000), '110') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0l0, '|', 100000), '210') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0l0, '|', 100000), '1111111111') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0l0, '|', 100000), '2222222222') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0l0, '|', 100000), '1111111111') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0l0, '|', 100000), '2222222222') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT tab0l0, '|', 100000), '1111111111', '3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 3333333333 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT tab0l0, '|', 100000), '4444444444', '3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0l0, '|', 100000), '1111111111') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0l0, '|', 100000), '4444444444') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT tab0l0, '|', 100000), 10) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT tab0l0, '|', 100000), 10, 100) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1' + FROM string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1' + FROM string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1' + FROM string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0l0, '|', 100000), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0l0, '|', 100000), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0l0, '|', 100000), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(DISTINCT tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------+ +| col | ++------------+ +| 1111111111 | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0l0, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0l0, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0l0, '|', 100000), 2) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 11111111111111111111 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0l0, '|', 100000), 5) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| 11111 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0l0, '|', 100000), 5, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| 11111 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0l0, '|', 100000), 20) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 1111111111 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0l0, '|', 100000), 20, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 33333333331111111111 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0l0, '|', 100000), 5) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| 11111 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0l0, '|', 100000), 5, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| 11111 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0l0, '|', 100000), 20) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 1111111111 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0l0, '|', 100000), 20, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++----------------------+ +| col | ++----------------------+ +| 11111111113333333333 | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.tab0l0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0l0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.tab0l0, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.tab0l0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0l0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.tab0l0, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; ++-----+ +| col | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(1111111111, '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(tab0l0, '|', 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0l0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0l0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0l0, '|', 100000) || '-3333333333' AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111-3333333333 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT '3333333333-' || string_agg(tab0l0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 3333333333-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0l0, ',', 100000) || '-' || string_agg(tab0l0, '|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(tab0l0, ','), '-', string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0l0, '|', 100000), '-3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111-3333333333 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('3333333333-', string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| 3333333333-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0l0, ',', 100000), string_agg(tab0l0, '|')) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,11111111111111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(tab0l0, ','), string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111,1111111111,1111111111,1111111111,1111111111,1111111111-1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(tab0l0, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('|1' IN string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 11 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('|1' IN string_agg(tab0l0, '|', 100000) + FROM 12) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 22 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0l0, '|', 100000), '110\|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0l0, '|', 100000), '210\|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0l0, '|', 100000), '110\|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0l0, '|', 100000), '210\|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0l0, '|', 100000), '1111111111|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0l0, '|', 100000), '2222222222|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0l0, '|', 100000), '1111111111|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0l0, '|', 100000), '2222222222|') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(tab0l0, '|', 100000), '1111111111', '3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 3333333333|3333333333|3333333333|3333333333|3333333333|3333333333 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(tab0l0, '|', 100000), '4444444444', '3333333333') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0l0, '|', 100000), '|1111111111') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 11 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0l0, '|', 100000), '|4444444444') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(tab0l0, '|', 100000), 12) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++--------------------------------------------------------+ +| col | ++--------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111 | ++--------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(tab0l0, '|', 100000), 12, 11) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1' + FROM string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------+ +| col | ++-----------------------------------------------+ +| |1111111111|1111111111|1111111111|1111111111| | ++-----------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1' + FROM string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| |1111111111|1111111111|1111111111|1111111111|1111111111 | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1' + FROM string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111| | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(tab0l0, '|', 100000), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------+ +| col | ++-----------------------------------------------+ +| |1111111111|1111111111|1111111111|1111111111| | ++-----------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(tab0l0, '|', 100000), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| |1111111111|1111111111|1111111111|1111111111|1111111111 | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(tab0l0, '|', 100000), '1') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111| | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(tab0l0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0l0, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0l0, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0l0, '|', 100000), 2) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|11111111111111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0l0, '|', 100000), 11) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0l0, '|', 100000), 11, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0l0, '|', 100000), 75) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0l0, '|', 100000), 75, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 33333333331111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0l0, '|', 100000), 11) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0l0, '|', 100000), 11, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-------------+ +| col | ++-------------+ +| 1111111111| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0l0, '|', 100000), 75) AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|1111111111 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0l0, '|', 100000), 75, '3') AS col +FROM test_agg_funcs +WHERE tab0l0=1111111111; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| 1111111111|1111111111|1111111111|1111111111|1111111111|11111111113333333333 | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(t0.tab0l0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0l0 IS NOT NULL); ++-------+ +| LEN | ++-------+ +| 42767 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0l0, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0l0 IS NOT NULL; ++-------+ +| col | ++-------+ +| 42767 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(t0.tab0l0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0l0); ++-------+ +| LEN | ++-------+ +| 21383 | +| 21383 | +| | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0l0, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0l0; ++-------+ +| col | ++-------+ +| 21383 | +| 21383 | +| | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# Total query count 249 Positive tests: 241 Negative tests: 8 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_misc.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_misc.iq new file mode 100644 index 000000000000..45bafb39f7c9 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_misc.iq @@ -0,0 +1,859 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(c1) len_c1, + strlen(c2) len_c2, + strlen(c5) len_c5 +FROM + (SELECT string_agg(tab0s0, '|') AS c1, + string_agg(tab0l0, '#') AS c2, + string_agg(tab0d0, '&') AS c3, + string_agg(tab0f0, '*') AS c4, + string_agg(__time, '@') AS c5 + FROM test_agg_funcs); ++--------+--------+--------+ +| len_c1 | len_c2 | len_c5 | ++--------+--------+--------+ +| 131 | 131 | 251 | ++--------+--------+--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|'), + tab0l0, + tab0d0 +FROM test_agg_funcs; +is not being grouped +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(c1) len_c1 +FROM + (SELECT string_agg(tab0s0, '|') AS c1, + tab0l0 AS c2, + tab0d0 AS c3 + FROM test_agg_funcs + GROUP BY tab0s0, + tab0l0, + tab0d0); ++--------+ +| len_c1 | ++--------+ +| 21 | +| 21 | +| 21 | +| 21 | +| 21 | +| 21 | +| | +| | +| | ++--------+ +(9 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(tab0s0||'001', 100000)) AS c1, + length(string_agg(tab0s0||'002', 100000)) AS c2, + length(string_agg(tab0s0||'003', 100000)) AS c3, + length(string_agg(tab0s0||'004', 100000)) AS c4, + length(string_agg(tab0s0||'005', 100000)) AS c5, + length(string_agg(tab0s0||'006', 100000)) AS c6, + length(string_agg(tab0s0||'007', 100000)) AS c7, + length(string_agg(tab0s0||'008', 100000)) AS c8, + length(string_agg(tab0s0||'009', 100000)) AS c9, + length(string_agg(tab0s0||'010', 100000)) AS c10, + length(string_agg(tab0s0||'011', 100000)) AS c11, + length(string_agg(tab0s0||'012', 100000)) AS c12, + length(string_agg(tab0s0||'013', 100000)) AS c13, + length(string_agg(tab0s0||'014', 100000)) AS c14, + length(string_agg(tab0s0||'015', 100000)) AS c15, + length(string_agg(tab0s0||'016', 100000)) AS c16, + length(string_agg(tab0s0||'017', 100000)) AS c17, + length(string_agg(tab0s0||'018', 100000)) AS c18, + length(string_agg(tab0s0||'019', 100000)) AS c19, + length(string_agg(tab0s0||'020', 100000)) AS c20, + length(string_agg(tab0s0||'021', 100000)) AS c21, + length(string_agg(tab0s0||'022', 100000)) AS c22, + length(string_agg(tab0s0||'023', 100000)) AS c23, + length(string_agg(tab0s0||'024', 100000)) AS c24, + length(string_agg(tab0s0||'025', 100000)) AS c25, + length(string_agg(tab0s0||'026', 100000)) AS c26, + length(string_agg(tab0s0||'027', 100000)) AS c27, + length(string_agg(tab0s0||'028', 100000)) AS c28, + length(string_agg(tab0s0||'029', 100000)) AS c29, + length(string_agg(tab0s0||'030', 100000)) AS c30, + length(string_agg(tab0s0||'031', 100000)) AS c31, + length(string_agg(tab0s0||'032', 100000)) AS c32, + length(string_agg(tab0s0||'033', 100000)) AS c33, + length(string_agg(tab0s0||'034', 100000)) AS c34, + length(string_agg(tab0s0||'035', 100000)) AS c35, + length(string_agg(tab0s0||'036', 100000)) AS c36, + length(string_agg(tab0s0||'037', 100000)) AS c37, + length(string_agg(tab0s0||'038', 100000)) AS c38, + length(string_agg(tab0s0||'039', 100000)) AS c39, + length(string_agg(tab0s0||'040', 100000)) AS c40, + length(string_agg(tab0s0||'041', 100000)) AS c41, + length(string_agg(tab0s0||'042', 100000)) AS c42, + length(string_agg(tab0s0||'043', 100000)) AS c43, + length(string_agg(tab0s0||'044', 100000)) AS c44, + length(string_agg(tab0s0||'045', 100000)) AS c45, + length(string_agg(tab0s0||'046', 100000)) AS c46, + length(string_agg(tab0s0||'047', 100000)) AS c47, + length(string_agg(tab0s0||'048', 100000)) AS c48, + length(string_agg(tab0s0||'049', 100000)) AS c49, + length(string_agg(tab0s0||'050', 100000)) AS c50, + length(string_agg(tab0s0||'051', 100000)) AS c51, + length(string_agg(tab0s0||'052', 100000)) AS c52, + length(string_agg(tab0s0||'053', 100000)) AS c53, + length(string_agg(tab0s0||'054', 100000)) AS c54, + length(string_agg(tab0s0||'055', 100000)) AS c55, + length(string_agg(tab0s0||'056', 100000)) AS c56, + length(string_agg(tab0s0||'057', 100000)) AS c57, + length(string_agg(tab0s0||'058', 100000)) AS c58, + length(string_agg(tab0s0||'059', 100000)) AS c59, + length(string_agg(tab0s0||'060', 100000)) AS c60, + length(string_agg(tab0s0||'061', 100000)) AS c61, + length(string_agg(tab0s0||'062', 100000)) AS c62, + length(string_agg(tab0s0||'063', 100000)) AS c63, + length(string_agg(tab0s0||'064', 100000)) AS c64, + length(string_agg(tab0s0||'065', 100000)) AS c65, + length(string_agg(tab0s0||'066', 100000)) AS c66, + length(string_agg(tab0s0||'067', 100000)) AS c67, + length(string_agg(tab0s0||'068', 100000)) AS c68, + length(string_agg(tab0s0||'069', 100000)) AS c69, + length(string_agg(tab0s0||'070', 100000)) AS c70, + length(string_agg(tab0s0||'071', 100000)) AS c71, + length(string_agg(tab0s0||'072', 100000)) AS c72, + length(string_agg(tab0s0||'073', 100000)) AS c73, + length(string_agg(tab0s0||'074', 100000)) AS c74, + length(string_agg(tab0s0||'075', 100000)) AS c75, + length(string_agg(tab0s0||'076', 100000)) AS c76, + length(string_agg(tab0s0||'077', 100000)) AS c77, + length(string_agg(tab0s0||'078', 100000)) AS c78, + length(string_agg(tab0s0||'079', 100000)) AS c79, + length(string_agg(tab0s0||'080', 100000)) AS c80, + length(string_agg(tab0s0||'081', 100000)) AS c81, + length(string_agg(tab0s0||'082', 100000)) AS c82, + length(string_agg(tab0s0||'083', 100000)) AS c83, + length(string_agg(tab0s0||'084', 100000)) AS c84, + length(string_agg(tab0s0||'085', 100000)) AS c85, + length(string_agg(tab0s0||'086', 100000)) AS c86, + length(string_agg(tab0s0||'087', 100000)) AS c87, + length(string_agg(tab0s0||'088', 100000)) AS c88, + length(string_agg(tab0s0||'089', 100000)) AS c89, + length(string_agg(tab0s0||'090', 100000)) AS c90, + length(string_agg(tab0s0||'091', 100000)) AS c91, + length(string_agg(tab0s0||'092', 100000)) AS c92, + length(string_agg(tab0s0||'093', 100000)) AS c93, + length(string_agg(tab0s0||'094', 100000)) AS c94, + length(string_agg(tab0s0||'095', 100000)) AS c95, + length(string_agg(tab0s0||'096', 100000)) AS c96, + length(string_agg(tab0s0||'097', 100000)) AS c97, + length(string_agg(tab0s0||'098', 100000)) AS c98, + length(string_agg(tab0s0||'099', 100000)) AS c99, + length(string_agg(tab0s0||'100', 100000)) AS c100 +FROM test_agg_funcs +GROUP BY __time; ++-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------+ +| c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c9 | c10 | c11 | c12 | c13 | c14 | c15 | c16 | c17 | c18 | c19 | c20 | c21 | c22 | c23 | c24 | c25 | c26 | c27 | c28 | c29 | c30 | c31 | c32 | c33 | c34 | c35 | c36 | c37 | c38 | c39 | c40 | c41 | c42 | c43 | c44 | c45 | c46 | c47 | c48 | c49 | c50 | c51 | c52 | c53 | c54 | c55 | c56 | c57 | c58 | c59 | c60 | c61 | c62 | c63 | c64 | c65 | c66 | c67 | c68 | c69 | c70 | c71 | c72 | c73 | c74 | c75 | c76 | c77 | c78 | c79 | c80 | c81 | c82 | c83 | c84 | c85 | c86 | c87 | c88 | c89 | c90 | c91 | c92 | c93 | c94 | c95 | c96 | c97 | c98 | c99 | c100 | ++-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------+ +| 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | +| 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 | ++-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(lower(tab0s0), '|') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0 || tab0s0 || tab0s0 || tab0s0 || tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(length(tab0s0), '|') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------+ +| col | ++-------------------+ +| 10|10|10|10|10|10 | ++-------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 'Not even a size') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A02 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', -1) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A03 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 0) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A04 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 1) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A05 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 2147483648) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 2147483647) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 100000000) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 10000000) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(string_agg(tab0s0, '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890')) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++--------+ +| col | ++--------+ +| 500060 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++--------------------------------------------------------------+ +| col | ++--------------------------------------------------------------+ +| AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ++--------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '~') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA~AAAAAAAAAA~AAAAAAAAAA~AAAAAAAAAA~AAAAAAAAAA~AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '`') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA`AAAAAAAAAA`AAAAAAAAAA`AAAAAAAAAA`AAAAAAAAAA`AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '!') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA!AAAAAAAAAA!AAAAAAAAAA!AAAAAAAAAA!AAAAAAAAAA!AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '@') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA@AAAAAAAAAA@AAAAAAAAAA@AAAAAAAAAA@AAAAAAAAAA@AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '#') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA#AAAAAAAAAA#AAAAAAAAAA#AAAAAAAAAA#AAAAAAAAAA#AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '$') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA$AAAAAAAAAA$AAAAAAAAAA$AAAAAAAAAA$AAAAAAAAAA$AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '%') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA%AAAAAAAAAA%AAAAAAAAAA%AAAAAAAAAA%AAAAAAAAAA%AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '^') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA^AAAAAAAAAA^AAAAAAAAAA^AAAAAAAAAA^AAAAAAAAAA^AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '&') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA&AAAAAAAAAA&AAAAAAAAAA&AAAAAAAAAA&AAAAAAAAAA&AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '*') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA*AAAAAAAAAA*AAAAAAAAAA*AAAAAAAAAA*AAAAAAAAAA*AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '(') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA(AAAAAAAAAA(AAAAAAAAAA(AAAAAAAAAA(AAAAAAAAAA(AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, ')') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA)AAAAAAAAAA)AAAAAAAAAA)AAAAAAAAAA)AAAAAAAAAA)AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '_') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA_AAAAAAAAAA_AAAAAAAAAA_AAAAAAAAAA_AAAAAAAAAA_AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '-') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA-AAAAAAAAAA-AAAAAAAAAA-AAAAAAAAAA-AAAAAAAAAA-AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '+') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA+AAAAAAAAAA+AAAAAAAAAA+AAAAAAAAAA+AAAAAAAAAA+AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '=') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA=AAAAAAAAAA=AAAAAAAAAA=AAAAAAAAAA=AAAAAAAAAA=AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '{') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA{AAAAAAAAAA{AAAAAAAAAA{AAAAAAAAAA{AAAAAAAAAA{AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '[') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA[AAAAAAAAAA[AAAAAAAAAA[AAAAAAAAAA[AAAAAAAAAA[AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '}') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA}AAAAAAAAAA}AAAAAAAAAA}AAAAAAAAAA}AAAAAAAAAA}AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, ']') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA]AAAAAAAAAA]AAAAAAAAAA]AAAAAAAAAA]AAAAAAAAAA]AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, ':') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA:AAAAAAAAAA:AAAAAAAAAA:AAAAAAAAAA:AAAAAAAAAA:AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, ';') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA;AAAAAAAAAA;AAAAAAAAAA;AAAAAAAAAA;AAAAAAAAAA;AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '<') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA>AAAAAAAAAA>AAAAAAAAAA>AAAAAAAAAA>AAAAAAAAAA>AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '.') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA.AAAAAAAAAA.AAAAAAAAAA.AAAAAAAAAA.AAAAAAAAAA.AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '?') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA?AAAAAAAAAA?AAAAAAAAAA?AAAAAAAAAA?AAAAAAAAAA?AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '/') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA/AAAAAAAAAA/AAAAAAAAAA/AAAAAAAAAA/AAAAAAAAAA/AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, ' ') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, ' ') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: B32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, ' +') AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test005 TEST_ID: C01 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, 1234567890) AS col +FROM test_agg_funcs +WHERE tab0s0 = 'AAAAAAAAAA'; ++----------------------------------------------------------------------------------------------------------------+ +| col | ++----------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA1234567890AAAAAAAAAA1234567890AAAAAAAAAA1234567890AAAAAAAAAA1234567890AAAAAAAAAA1234567890AAAAAAAAAA | ++----------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# Total query count 51 Positive tests: 45 Negative tests: 6 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_string.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_string.iq new file mode 100644 index 000000000000..1a5f79c89700 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_string.iq @@ -0,0 +1,3753 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg('AAAAAAAAAA', '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(tab0s0, '|') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|') || '-CCCCCCCCCC' AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA-CCCCCCCCCC | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT 'CCCCCCCCCC-' || string_agg(tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| CCCCCCCCCC-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, ',') || '-' || string_agg(tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(tab0s0, ','), '-', string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0s0, '|'), '-CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA-CCCCCCCCCC | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('CCCCCCCCCC-', string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| CCCCCCCCCC-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0s0, ','), string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAAAAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(tab0s0, ','), string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(tab0s0, '|'), 16) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('|A' IN string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 11 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('|A' IN string_agg(tab0s0, '|') + FROM 12) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 22 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0s0, '|'), 'A10\|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0s0, '|'), 'B10\|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0s0, '|'), 'A10\|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0s0, '|'), 'B10\|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0s0, '|'), 'AAAAAAAAAA|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0s0, '|'), 'aaaaaaaaaa|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0s0, '|'), 'aaaaaaaaaa|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0s0, '|'), 'BBBBBBBBBB|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(tab0s0, '|'), 'AAAAAAAAAA', 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| CCCCCCCCCC|CCCCCCCCCC|CCCCCCCCCC|CCCCCCCCCC|CCCCCCCCCC|CCCCCCCCCC | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(tab0s0, '|'), 'aaaaaaaaaa', 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0s0, '|'), '|AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 11 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0s0, '|'), '|aaaaaaaaaa') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(tab0s0, '|'), 12) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++--------------------------------------------------------+ +| col | ++--------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++--------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(tab0s0, '|'), 12, 11) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH 'A' + FROM string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------+ +| col | ++-----------------------------------------------+ +| |AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA| | ++-----------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING 'A' + FROM string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| |AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING 'A' + FROM string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA| | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(tab0s0, '|'), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------+ +| col | ++-----------------------------------------------+ +| |AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA| | ++-----------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(tab0s0, '|'), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| |AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(tab0s0, '|'), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA| | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0s0, '|'), -1) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0s0, '|'), 0) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0s0, '|'), 2) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAAAAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0s0, '|'), 11) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0s0, '|'), 11, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0s0, '|'), 75) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0s0, '|'), 75, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| CCCCCCCCCCAAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0s0, '|'), 11) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0s0, '|'), 11, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0s0, '|'), 75) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0s0, '|'), 75, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAACCCCCCCCCC | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A59 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.tab0s0, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A60 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0s0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A61 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.tab0s0, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A62 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0s0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT 'AAAAAAAAAA', '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT tab0s0, '|') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT tab0s0, '|') || '-CCCCCCCCCC' AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------+ +| col | ++-----------------------+ +| AAAAAAAAAA-CCCCCCCCCC | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT 'CCCCCCCCCC-' || string_agg(DISTINCT tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------+ +| col | ++-----------------------+ +| CCCCCCCCCC-AAAAAAAAAA | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT tab0s0, ',') || '-' || string_agg(tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(tab0s0, ','), '-', string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA-AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(DISTINCT tab0s0, '|'), '-CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------+ +| col | ++-----------------------+ +| AAAAAAAAAA-CCCCCCCCCC | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('CCCCCCCCCC-', string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------+ +| col | ++-----------------------+ +| CCCCCCCCCC-AAAAAAAAAA | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0s0, ','), string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAAAAAAAAAAAA | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(DISTINCT tab0s0, ','), string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| aaaaaaaaaa | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT tab0s0, '|'), 16) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++--------------+ +| col | ++--------------+ +| 733007751850 | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('A' IN string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('A' IN string_agg(DISTINCT tab0s0, '|') + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0s0, '|'), 'A10') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0s0, '|'), 'B10') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0s0, '|'), 'A10') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0s0, '|'), 'B10') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0s0, '|'), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0s0, '|'), 'aaaaaaaaaa') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0s0, '|'), 'aaaaaaaaaa') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0s0, '|'), 'BBBBBBBBBB') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT tab0s0, '|'), 'AAAAAAAAAA', 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| CCCCCCCCCC | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT tab0s0, '|'), 'aaaaaaaaaa', 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0s0, '|'), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0s0, '|'), 'aaaaaaaaaa') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT tab0s0, '|'), 10) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| A | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT tab0s0, '|'), 10, 100) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| A | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH 'A' + FROM string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING 'A' + FROM string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING 'A' + FROM string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0s0, '|'), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0s0, '|'), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0s0, '|'), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(DISTINCT tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0s0, '|'), -1) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0s0, '|'), 0) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0s0, '|'), 2) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| AAAAAAAAAAAAAAAAAAAA | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0s0, '|'), 5) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| AAAAA | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0s0, '|'), 5, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| AAAAA | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0s0, '|'), 20) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| AAAAAAAAAA | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0s0, '|'), 20, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| CCCCCCCCCCAAAAAAAAAA | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0s0, '|'), 5) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| AAAAA | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0s0, '|'), 5, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| AAAAA | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0s0, '|'), 20) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| AAAAAAAAAA | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0s0, '|'), 20, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| AAAAAAAAAACCCCCCCCCC | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.tab0s0, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0s0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.tab0s0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.tab0s0, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0s0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.tab0s0, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; ++-----+ +| col | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT 'AAAAAAAAAA', '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT tab0s0, '|', 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0s0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT tab0s0, '|', 100000) || '-CCCCCCCCCC' AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------+ +| col | ++-----------------------+ +| AAAAAAAAAA-CCCCCCCCCC | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT 'CCCCCCCCCC-' || string_agg(DISTINCT tab0s0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------+ +| col | ++-----------------------+ +| CCCCCCCCCC-AAAAAAAAAA | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT tab0s0, ',', 100000) || '-' || string_agg(tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(tab0s0, ','), '-', string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA-AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(DISTINCT tab0s0, '|', 100000), '-CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------+ +| col | ++-----------------------+ +| AAAAAAAAAA-CCCCCCCCCC | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('CCCCCCCCCC-', string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------+ +| col | ++-----------------------+ +| CCCCCCCCCC-AAAAAAAAAA | ++-----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0s0, ','), string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAAAAAAAAAAAA | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(DISTINCT tab0s0, ',', 100000), string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| aaaaaaaaaa | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT tab0s0, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++--------------+ +| col | ++--------------+ +| 733007751850 | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('A' IN string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('A' IN string_agg(DISTINCT tab0s0, '|', 100000) + FROM 2) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0s0, '|', 100000), 'A10') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT tab0s0, '|', 100000), 'B10') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0s0, '|', 100000), 'A10') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT tab0s0, '|', 100000), 'B10') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0s0, '|', 100000), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT tab0s0, '|', 100000), 'aaaaaaaaaa') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0s0, '|', 100000), 'aaaaaaaaaa') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT tab0s0, '|', 100000), 'BBBBBBBBBB') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT tab0s0, '|', 100000), 'AAAAAAAAAA', 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| CCCCCCCCCC | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT tab0s0, '|', 100000), 'aaaaaaaaaa', 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0s0, '|', 100000), 'AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT tab0s0, '|', 100000), 'aaaaaaaaaa') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT tab0s0, '|', 100000), 10) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| A | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT tab0s0, '|', 100000), 10, 100) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| A | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH 'A' + FROM string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING 'A' + FROM string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING 'A' + FROM string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT tab0s0, '|', 100000), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT tab0s0, '|', 100000), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT tab0s0, '|', 100000), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(DISTINCT tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------+ +| col | ++------------+ +| AAAAAAAAAA | ++------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0s0, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0s0, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT tab0s0, '|', 100000), 2) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| AAAAAAAAAAAAAAAAAAAA | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0s0, '|', 100000), 5) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| AAAAA | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0s0, '|', 100000), 5, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| AAAAA | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0s0, '|', 100000), 20) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| AAAAAAAAAA | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT tab0s0, '|', 100000), 20, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| CCCCCCCCCCAAAAAAAAAA | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0s0, '|', 100000), 5) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| AAAAA | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0s0, '|', 100000), 5, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| AAAAA | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0s0, '|', 100000), 20) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| AAAAAAAAAA | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT tab0s0, '|', 100000), 20, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++----------------------+ +| col | ++----------------------+ +| AAAAAAAAAACCCCCCCCCC | ++----------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.tab0s0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0s0 IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.tab0s0, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; ++-----+ +| col | ++-----+ +| 21 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.tab0s0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0s0); ++-----+ +| LEN | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.tab0s0, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; ++-----+ +| col | ++-----+ +| 10 | +| 10 | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg('AAAAAAAAAA', '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(tab0s0, '|', 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0s0 IS NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, '|', 100000) || '-CCCCCCCCCC' AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA-CCCCCCCCCC | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT 'CCCCCCCCCC-' || string_agg(tab0s0, '|', 100000) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| CCCCCCCCCC-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(tab0s0, ',', 100000) || '-' || string_agg(tab0s0, '|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(tab0s0, ','), '-', string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0s0, '|', 100000), '-CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA-CCCCCCCCCC | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('CCCCCCCCCC-', string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------+ +| CCCCCCCCCC-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(tab0s0, ',', 100000), string_agg(tab0s0, '|')) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAAAAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(tab0s0, ','), string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA,AAAAAAAAAA-AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 131 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa|aaaaaaaaaa | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(tab0s0, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('|A' IN string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 11 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('|A' IN string_agg(tab0s0, '|', 100000) + FROM 12) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 22 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0s0, '|', 100000), 'A10\|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(tab0s0, '|', 100000), 'B10\|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0s0, '|', 100000), 'A10\|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(tab0s0, '|', 100000), 'B10\|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0s0, '|', 100000), 'AAAAAAAAAA|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(tab0s0, '|', 100000), 'aaaaaaaaaa|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0s0, '|', 100000), 'aaaaaaaaaa|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(tab0s0, '|', 100000), 'BBBBBBBBBB|') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(tab0s0, '|', 100000), 'AAAAAAAAAA', 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| CCCCCCCCCC|CCCCCCCCCC|CCCCCCCCCC|CCCCCCCCCC|CCCCCCCCCC|CCCCCCCCCC | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(tab0s0, '|', 100000), 'aaaaaaaaaa', 'CCCCCCCCCC') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0s0, '|', 100000), '|AAAAAAAAAA') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 11 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(tab0s0, '|', 100000), '|aaaaaaaaaa') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(tab0s0, '|', 100000), 12) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++--------------------------------------------------------+ +| col | ++--------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++--------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(tab0s0, '|', 100000), 12, 11) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH 'A' + FROM string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------+ +| col | ++-----------------------------------------------+ +| |AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA| | ++-----------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING 'A' + FROM string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| |AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING 'A' + FROM string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA| | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(tab0s0, '|', 100000), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------+ +| col | ++-----------------------------------------------+ +| |AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA| | ++-----------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(tab0s0, '|', 100000), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| |AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(tab0s0, '|', 100000), 'A') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA| | ++---------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(tab0s0, '|', 100000)) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0s0, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0s0, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(tab0s0, '|', 100000), 2) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAAAAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0s0, '|', 100000), 11) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0s0, '|', 100000), 11, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0s0, '|', 100000), 75) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(tab0s0, '|', 100000), 75, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| CCCCCCCCCCAAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0s0, '|', 100000), 11) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0s0, '|', 100000), 11, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-------------+ +| col | ++-------------+ +| AAAAAAAAAA| | ++-------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0s0, '|', 100000), 75) AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(tab0s0, '|', 100000), 75, 'C') AS col +FROM test_agg_funcs +WHERE tab0s0='AAAAAAAAAA'; ++-----------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------+ +| AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAA|AAAAAAAAAACCCCCCCCCC | ++-----------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(t0.tab0s0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.tab0s0 IS NOT NULL); ++-------+ +| LEN | ++-------+ +| 42767 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0s0, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.tab0s0 IS NOT NULL; ++-------+ +| col | ++-------+ +| 42767 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(t0.tab0s0, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.tab0s0); ++-------+ +| LEN | ++-------+ +| 21383 | +| 21383 | +| | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A62 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.tab0s0, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.tab0s0; ++-------+ +| col | ++-------+ +| 21383 | +| 21383 | +| | ++-------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# Total query count 249 Positive tests: 241 Negative tests: 8 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_timestamp.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_timestamp.iq new file mode 100644 index 000000000000..81457e9a5827 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaAggFuncs_string_agg_timestamp.iq @@ -0,0 +1,3675 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaAggFuncs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_agg_funcs; ++-----+ +| cnt | ++-----+ +| 18 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(timestamp '2020-01-01 01:01:01.000', '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(__time, '|') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(__time, '|') || '-1583024461000' AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000-1583024461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT '1583024461000-' || string_agg(__time, '|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1583024461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(__time, ',') || '-' || string_agg(__time, '|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(__time, ','), '-', string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(__time, '|'), '-1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000-1583024461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('1583024461000-', string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1583024461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(__time, ','), string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,15778404610001577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(__time, ','), string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(__time, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(__time, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(__time, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(__time, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(__time, '|'), 16) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1577840461000' IN string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1577840461000' IN string_agg(__time, '|') + FROM 20) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 29 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(__time, '|'), '15778404610001') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(__time, '|'), '15778404610002') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(__time, '|'), '15778404610001') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(__time, '|'), '15778404610002') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(__time, '|'), '1577840461000|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(__time, '|'), '1580518861000|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(__time, '|'), '1577840461000|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(__time, '|'), '1580518861000|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(__time, '|'), '1577840461000', '1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1583024461000|1583024461000|1583024461000|1583024461000|1583024461000|1583024461000|1583024461000|1583024461000|1583024461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(__time, '|'), '4444444444', '1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(__time, '|'), '|1577840461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 14 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(__time, '|'), '|4444444444') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(__time, '|'), 15) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-----------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(__time, '|'), 15, 14) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1234567890' + FROM string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------+ +| |1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000| | ++-----------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1234567890' + FROM string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------+ +| |1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1234567890' + FROM string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000| | ++------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(__time, '|'), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------+ +| |1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000| | ++-----------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(__time, '|'), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------+ +| |1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(__time, '|'), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000| | ++------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 0001640487751|0001640487751|0001640487751|0001640487751|0001640487751|0001640487751|0001640487751|0001640487751|0001640487751 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(__time, '|'), -1) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(__time, '|'), 0) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(__time, '|'), 2) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|15778404610001577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(__time, '|'), 14) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(__time, '|'), 14, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(__time, '|'), 135) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(__time, '|'), 135, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(__time, '|'), 14) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(__time, '|'), 14, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(__time, '|'), 135) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(__time, '|'), 135, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000AAAAAAAAAA | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A58 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.__time, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A59 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.__time, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A60 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(t0.__time, '|') AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test001 TEST_ID: A61 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.__time, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT timestamp '2020-01-01 01:01:01.000', '|') AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT __time, '|') AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT __time, '|') || '-1583024461000' AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------+ +| col | ++-----------------------------+ +| 1577840461000-1583024461000 | ++-----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT '1583024461000-' || string_agg(DISTINCT __time, '|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------+ +| col | ++-----------------------------+ +| 1583024461000-1577840461000 | ++-----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT __time, ',') || '-' || string_agg(__time, '|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(__time, ','), '-', string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000-1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(DISTINCT __time, '|'), '-1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------+ +| col | ++-----------------------------+ +| 1577840461000-1583024461000 | ++-----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('1583024461000-', string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------+ +| col | ++-----------------------------+ +| 1583024461000-1577840461000 | ++-----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(__time, ','), string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++--------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++--------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,15778404610001577840461000 | ++--------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(DISTINCT __time, ','), string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT __time, '|'), 16) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------+ +| col | ++-----------------+ +| 377648962736128 | ++-----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1577840461000' IN string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1577840461000' IN string_agg(DISTINCT __time, '|') + FROM 15) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT __time, '|'), '15778404610001') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT __time, '|'), '15778404610002') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT __time, '|'), '15778404610001') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT __time, '|'), '15778404610002') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT __time, '|'), '1577840461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT __time, '|'), '1580518861000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT __time, '|'), '1577840461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT __time, '|'), '1580518861000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT __time, '|'), '1577840461000', '1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1583024461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT __time, '|'), '4444444444', '1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT __time, '|'), '1577840461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT __time, '|'), '4444444444') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT __time, '|'), 13) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT __time, '|'), 13, 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1234567890' + FROM string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1234567890' + FROM string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1234567890' + FROM string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT __time, '|'), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT __time, '|'), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT __time, '|'), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(DISTINCT __time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 0001640487751 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT __time, '|'), -1) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT __time, '|'), 0) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT __time, '|'), 2) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------------------+ +| col | ++----------------------------+ +| 15778404610001577840461000 | ++----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT __time, '|'), 5) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| 15778 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT __time, '|'), 5, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| 15778 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT __time, '|'), 23) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------+ +| col | ++-------------------------+ +| 1577840461000 | ++-------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT __time, '|'), 23, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------+ +| col | ++-------------------------+ +| AAAAAAAAAA1577840461000 | ++-------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT __time, '|'), 5) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| 15778 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT __time, '|'), 5, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| 15778 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT __time, '|'), 23) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------+ +| col | ++-------------------------+ +| 1577840461000 | ++-------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT __time, '|'), 23, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------+ +| col | ++-------------------------+ +| 1577840461000AAAAAAAAAA | ++-------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.__time, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.__time IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.__time, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.__time, '|') AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.__time); ++-----+ +| LEN | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test002 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.__time, '|')) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; ++-----+ +| col | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT timestamp '2020-01-01 01:01:01.000', '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT __time, '|', 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT __time, '|', 100000) || '-1583024461000' AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------+ +| col | ++-----------------------------+ +| 1577840461000-1583024461000 | ++-----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT '1583024461000-' || string_agg(DISTINCT __time, '|', 100000) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------+ +| col | ++-----------------------------+ +| 1583024461000-1577840461000 | ++-----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(DISTINCT __time, ',', 100000) || '-' || string_agg(__time, '|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(__time, ','), '-', string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000-1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(DISTINCT __time, '|', 100000), '-1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------+ +| col | ++-----------------------------+ +| 1577840461000-1583024461000 | ++-----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('1583024461000-', string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------+ +| col | ++-----------------------------+ +| 1583024461000-1577840461000 | ++-----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(__time, ','), string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++--------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++--------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,15778404610001577840461000 | ++--------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(DISTINCT __time, ',', 100000), string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(DISTINCT __time, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------+ +| col | ++-----------------+ +| 377648962736128 | ++-----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1577840461000' IN string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1577840461000' IN string_agg(DISTINCT __time, '|', 100000) + FROM 15) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT __time, '|', 100000), '15778404610001') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(DISTINCT __time, '|', 100000), '15778404610002') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT __time, '|', 100000), '15778404610001') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(DISTINCT __time, '|', 100000), '15778404610002') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT __time, '|', 100000), '1577840461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(DISTINCT __time, '|', 100000), '1580518861000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT __time, '|', 100000), '1577840461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(DISTINCT __time, '|', 100000), '1580518861000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT __time, '|', 100000), '1577840461000', '1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1583024461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(DISTINCT __time, '|', 100000), '4444444444', '1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT __time, '|', 100000), '1577840461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(DISTINCT __time, '|', 100000), '4444444444') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT __time, '|', 100000), 13) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(DISTINCT __time, '|', 100000), 13, 100) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1234567890' + FROM string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1234567890' + FROM string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1234567890' + FROM string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(DISTINCT __time, '|', 100000), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(DISTINCT __time, '|', 100000), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(DISTINCT __time, '|', 100000), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 1577840461000 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(DISTINCT __time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------+ +| col | ++---------------+ +| 0001640487751 | ++---------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT __time, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT __time, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(DISTINCT __time, '|', 100000), 2) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------------------+ +| col | ++----------------------------+ +| 15778404610001577840461000 | ++----------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT __time, '|', 100000), 5) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| 15778 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT __time, '|', 100000), 5, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| 15778 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT __time, '|', 100000), 23) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------+ +| col | ++-------------------------+ +| 1577840461000 | ++-------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(DISTINCT __time, '|', 100000), 23, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------+ +| col | ++-------------------------+ +| AAAAAAAAAA1577840461000 | ++-------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT __time, '|', 100000), 5) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| 15778 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT __time, '|', 100000), 5, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| 15778 | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT __time, '|', 100000), 23) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------+ +| col | ++-------------------------+ +| 1577840461000 | ++-------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(DISTINCT __time, '|', 100000), 23, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------+ +| col | ++-------------------------+ +| 1577840461000AAAAAAAAAA | ++-------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A58 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.__time, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.__time IS NOT NULL); ++-----+ +| LEN | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A59 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.__time, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; ++-----+ +| col | ++-----+ +| 27 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(DISTINCT t0.__time, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.__time); ++-----+ +| LEN | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test003 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(DISTINCT t0.__time, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; ++-----+ +| col | ++-----+ +| 13 | +| 13 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A01 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(timestamp '2020-01-01 01:01:01.000', '|', 100000) AS col; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A02 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(__time, '|', 100000) AS col + FROM test_agg_funcs); ++-----+ +| LEN | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A03 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(__time, '|', 100000) || '-1583024461000' AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000-1583024461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A04 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT '1583024461000-' || string_agg(__time, '|', 100000) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1583024461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A05 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_agg(__time, ',', 100000) || '-' || string_agg(__time, '|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A06 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT concat(string_agg(__time, ','), '-', string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A07 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(__time, '|', 100000), '-1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000-1583024461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A08 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat('1583024461000-', string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +| 1583024461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++---------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A09 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(string_agg(__time, ',', 100000), string_agg(__time, '|')) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,15778404610001577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_format('%s-%s', string_agg(__time, ','), string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000,1577840461000-1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A12 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A13 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A14 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs; ++-----+ +| col | ++-----+ +| 251 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A15 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lower(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A16 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(string_agg(__time, '|', 100000), 16) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A17 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1577840461000' IN string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A18 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT position('1577840461000' IN string_agg(__time, '|', 100000) + FROM 20) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 29 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A19 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(__time, '|', 100000), '15778404610001') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A20 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(string_agg(__time, '|', 100000), '15778404610002') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A21 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(__time, '|', 100000), '15778404610001') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A22 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(string_agg(__time, '|', 100000), '15778404610002') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A23 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(__time, '|', 100000), '1577840461000|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A24 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(string_agg(__time, '|', 100000), '1580518861000|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A25 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(__time, '|', 100000), '1577840461000|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------+ +| col | ++------+ +| true | ++------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A26 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(string_agg(__time, '|', 100000), '1580518861000|') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------+ +| col | ++-------+ +| false | ++-------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A27 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(__time, '|', 100000), '1577840461000', '1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1583024461000|1583024461000|1583024461000|1583024461000|1583024461000|1583024461000|1583024461000|1583024461000|1583024461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A28 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT replace(string_agg(__time, '|', 100000), '4444444444', '1583024461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A29 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(__time, '|', 100000), '|1577840461000') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 14 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A30 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(string_agg(__time, '|', 100000), '|4444444444') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A31 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(__time, '|', 100000), 15) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-----------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A32 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT substring(string_agg(__time, '|', 100000), 15, 14) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A33 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH + FROM string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A34 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING + FROM string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A35 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING + FROM string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A36 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(BOTH '1234567890' + FROM string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------+ +| |1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000| | ++-----------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A37 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(LEADING '1234567890' + FROM string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------+ +| |1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A38 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT trim(TRAILING '1234567890' + FROM string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000| | ++------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A39 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A40 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(string_agg(__time, '|', 100000), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------+ +| |1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000| | ++-----------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A41 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A42 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(string_agg(__time, '|', 100000), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------+ +| |1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A43 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A44 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(string_agg(__time, '|', 100000), '1234567890') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000| | ++------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A45 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT upper(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A46 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(string_agg(__time, '|', 100000)) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------+ +| 0001640487751|0001640487751|0001640487751|0001640487751|0001640487751|0001640487751|0001640487751|0001640487751|0001640487751 | ++-------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A47 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(__time, '|', 100000), -1) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A48 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(__time, '|', 100000), 0) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A49 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(string_agg(__time, '|', 100000), 2) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|15778404610001577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A50 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(__time, '|', 100000), 14) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A51 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(__time, '|', 100000), 14, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A52 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(__time, '|', 100000), 135) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A53 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(string_agg(__time, '|', 100000), 135, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| AAAAAAAAAA1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A54 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(__time, '|', 100000), 14) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A55 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(__time, '|', 100000), 14, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++----------------+ +| col | ++----------------+ +| 1577840461000| | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A56 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(__time, '|', 100000), 135) AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000 | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A57 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(string_agg(__time, '|', 100000), 135, 'A') AS col +FROM test_agg_funcs +WHERE __time=timestamp '2020-01-01 01:01:01.000'; ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +| 1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000|1577840461000AAAAAAAAAA | ++-----------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A58 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(t0.__time, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + WHERE t0.__time IS NOT NULL); +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A59 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.__time, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +WHERE t0.__time IS NOT NULL; +size +!error + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A60 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(col) LEN +FROM + (SELECT string_agg(t0.__time, '|', 100000) AS col + FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 + GROUP BY t0.__time); ++-------+ +| LEN | ++-------+ +| 40823 | +| 40823 | ++-------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test004 TEST_ID: A61 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT length(string_agg(t0.__time, '|', 100000)) AS col +FROM test_agg_funcs t0, + test_agg_funcs t1, + test_agg_funcs t2 +GROUP BY t0.__time; ++-------+ +| col | ++-------+ +| 40823 | +| 40823 | ++-------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# Total query count 245 Positive tests: 235 Negative tests: 10 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaArray_ops_funcs.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaArray_ops_funcs.iq new file mode 100644 index 000000000000..0532a54f6ce2 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaArray_ops_funcs.iq @@ -0,0 +1,39328 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaArray/ops_funcs&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_bool + a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[0]' RETURNING boolean array) + json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][0]' RETURNING boolean array) + json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_int + a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[1]' RETURNING bigint array) + json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][1]' RETURNING bigint array) + json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_float + a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[2]' RETURNING decimal array) + json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][2]' RETURNING decimal array) + json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_str + a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[3]' RETURNING varchar array) + json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][3]' RETURNING varchar array) + json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_null + a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[4]' RETURNING varchar array) + json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][4]' RETURNING varchar array) + json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_empty + a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[5]' RETURNING varchar array) + json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][5]' RETURNING varchar array) + json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_mixed + a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[6]' RETURNING varchar array) + json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][6]' RETURNING varchar array) + json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_nested + a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7]' RETURNING varchar array) + json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B1_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][7]' RETURNING varchar array) + json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_bool - a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[0]' RETURNING boolean array) - json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][0]' RETURNING boolean array) - json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_int - a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[1]' RETURNING bigint array) - json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][1]' RETURNING bigint array) - json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_float - a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[2]' RETURNING decimal array) - json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][2]' RETURNING decimal array) - json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_str - a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[3]' RETURNING varchar array) - json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][3]' RETURNING varchar array) - json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_null - a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[4]' RETURNING varchar array) - json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][4]' RETURNING varchar array) - json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_empty - a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[5]' RETURNING varchar array) - json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][5]' RETURNING varchar array) - json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_mixed - a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[6]' RETURNING varchar array) - json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][6]' RETURNING varchar array) - json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_nested - a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7]' RETURNING varchar array) - json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B2_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][7]' RETURNING varchar array) - json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_bool * a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[0]' RETURNING boolean array) * json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][0]' RETURNING boolean array) * json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_int * a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[1]' RETURNING bigint array) * json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][1]' RETURNING bigint array) * json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_float * a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[2]' RETURNING decimal array) * json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][2]' RETURNING decimal array) * json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_str * a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[3]' RETURNING varchar array) * json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][3]' RETURNING varchar array) * json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_null * a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[4]' RETURNING varchar array) * json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][4]' RETURNING varchar array) * json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_empty * a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[5]' RETURNING varchar array) * json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][5]' RETURNING varchar array) * json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_mixed * a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[6]' RETURNING varchar array) * json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][6]' RETURNING varchar array) * json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_nested * a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7]' RETURNING varchar array) * json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B3_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][7]' RETURNING varchar array) * json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_bool / a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[0]' RETURNING boolean array) / json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][0]' RETURNING boolean array) / json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_int / a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[1]' RETURNING bigint array) / json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][1]' RETURNING bigint array) / json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_float / a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[2]' RETURNING decimal array) / json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][2]' RETURNING decimal array) / json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_str / a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[3]' RETURNING varchar array) / json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][3]' RETURNING varchar array) / json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_null / a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[4]' RETURNING varchar array) / json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][4]' RETURNING varchar array) / json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_empty / a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[5]' RETURNING varchar array) / json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][5]' RETURNING varchar array) / json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_mixed / a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[6]' RETURNING varchar array) / json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][6]' RETURNING varchar array) / json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (a_nested / a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7]' RETURNING varchar array) / json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_ops TEST_ID: A1_B4_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (json_value(a_nested, '$[7][7]' RETURNING varchar array) / json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B1_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT pi AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B2_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT abs(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B3_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B4_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT exp(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B5_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B6_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ln(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B7_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT log10(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B8_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT power(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B9_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sqrt(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B10_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT truncate(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B11_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trunc(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B12_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT round(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B13_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mod(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B14_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sin(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B15_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cos(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B16_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT tan(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B17_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cot(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B18_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT asin(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B19_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT acos(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B20_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B21_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT atan2(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B22_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT degrees(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B23_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT radians(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B24_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_and(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B25_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_complement(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B26_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_double_to_long_bits(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B27_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_convert_long_bits_to_double(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B28_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_or(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B29_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_left(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B30_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_shift_right(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B31_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bitwise_xor(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B33_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_binary_byte_format(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B34_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_byte_format(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B35_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT human_readable_decimal_format(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A1_B36_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT safe_divide(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(a_bool, 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[0]' RETURNING boolean array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(a_int, 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[1]' RETURNING bigint array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(a_float, 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[2]' RETURNING decimal array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(a_str, 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[3]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(a_null, 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[4]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(a_empty, 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[5]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(a_mixed, 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[6]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(a_nested, 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[7]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B1_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT concat(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'A') AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(a_bool, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[0]' RETURNING boolean array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(a_int, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[1]' RETURNING bigint array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(a_float, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[2]' RETURNING decimal array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(a_str, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[3]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(a_null, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[4]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(a_empty, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[5]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(a_mixed, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[6]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(a_nested, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[7]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B2_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT textcat(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', a_bool) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[0]' RETURNING boolean array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', a_int) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[1]' RETURNING bigint array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', a_float) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[2]' RETURNING decimal array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', a_str) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[3]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', a_null) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[4]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', a_empty) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[5]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', a_mixed) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[6]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C22_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', a_nested) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[7]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B3_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT string_format('%sZ', json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B4_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT length(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B5_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT char_length(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B6_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT character_length(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B7_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strlen(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B8_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lower(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B9_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT upper(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B10_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_long(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN a_bool) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN a_int) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN a_float) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN a_str) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN a_null) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN a_empty) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN a_mixed) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN a_nested) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B11_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT position('ABCD' IN json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(a_bool, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[0]' RETURNING boolean array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[7][0]' RETURNING boolean array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(a_int, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[1]' RETURNING bigint array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[7][1]' RETURNING bigint array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(a_float, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[2]' RETURNING decimal array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[7][2]' RETURNING decimal array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(a_str, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[3]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[7][3]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(a_null, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[4]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[7][4]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(a_empty, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[5]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[7][5]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(a_mixed, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[6]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[7][6]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(a_nested, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[7]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B12_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_extract(json_value(a_nested, '$[7][7]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(a_bool, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[0]' RETURNING boolean array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[7][0]' RETURNING boolean array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(a_int, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[1]' RETURNING bigint array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[7][1]' RETURNING bigint array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(a_float, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[2]' RETURNING decimal array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[7][2]' RETURNING decimal array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(a_str, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[3]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[7][3]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(a_null, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[4]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[7][4]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(a_empty, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[5]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[7][5]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(a_mixed, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[6]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[7][6]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(a_nested, '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[7]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B13_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT regexp_like(json_value(a_nested, '$[7][7]' RETURNING varchar array), '.*') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(a_bool, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[0]' RETURNING boolean array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(a_int, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[1]' RETURNING bigint array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(a_float, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[2]' RETURNING decimal array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(a_str, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[3]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(a_null, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[4]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(a_empty, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[5]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(a_mixed, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[6]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(a_nested, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[7]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B14_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT contains_string(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(a_bool, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[0]' RETURNING boolean array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(a_int, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[1]' RETURNING bigint array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(a_float, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[2]' RETURNING decimal array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(a_str, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[3]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(a_null, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[4]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(a_empty, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[5]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(a_mixed, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[6]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(a_nested, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[7]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B15_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT icontains_string(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(a_bool, 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[0]' RETURNING boolean array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(a_int, 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[1]' RETURNING bigint array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(a_float, 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[2]' RETURNING decimal array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(a_str, 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[3]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(a_null, 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[4]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(a_empty, 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[5]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(a_mixed, 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[6]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(a_nested, 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[7]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B16_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT replace(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'A', 'B') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(a_bool, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[0]' RETURNING boolean array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(a_int, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[1]' RETURNING bigint array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(a_float, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[2]' RETURNING decimal array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(a_str, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[3]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(a_null, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[4]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(a_empty, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[5]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(a_mixed, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[6]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(a_nested, 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[7]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B17_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT strpos(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'ABCD') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B18_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substring(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B19_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT right(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B20_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT left(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(a_bool, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(a_int, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(a_float, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(a_str, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(a_null, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(a_empty, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(a_mixed, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B21_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT substr(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B22_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT trim(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B23_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT btrim(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B24_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ltrim(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B25_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rtrim(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B26_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT reverse(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(a_bool, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[0]' RETURNING boolean array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[7][0]' RETURNING boolean array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(a_int, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[1]' RETURNING bigint array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[7][1]' RETURNING bigint array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(a_float, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[2]' RETURNING decimal array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[7][2]' RETURNING decimal array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(a_str, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[3]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[7][3]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(a_null, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[4]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[7][4]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(a_empty, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[5]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[7][5]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(a_mixed, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[6]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[7][6]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(a_nested, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[7]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B27_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT repeat(json_value(a_nested, '$[7][7]' RETURNING varchar array), 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(a_bool, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[0]' RETURNING boolean array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[7][0]' RETURNING boolean array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(a_int, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[1]' RETURNING bigint array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[7][1]' RETURNING bigint array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(a_float, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[2]' RETURNING decimal array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[7][2]' RETURNING decimal array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(a_str, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[3]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[7][3]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(a_null, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[4]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[7][4]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(a_empty, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[5]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[7][5]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(a_mixed, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[6]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[7][6]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(a_nested, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[7]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B28_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT lpad(json_value(a_nested, '$[7][7]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(a_bool, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[0]' RETURNING boolean array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[7][0]' RETURNING boolean array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(a_int, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[1]' RETURNING bigint array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[7][1]' RETURNING bigint array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(a_float, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[2]' RETURNING decimal array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[7][2]' RETURNING decimal array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(a_str, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[3]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[7][3]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(a_null, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[4]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[7][4]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(a_empty, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[5]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[7][5]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(a_mixed, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[6]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[7][6]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(a_nested, 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[7]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A2_B29_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT rpad(json_value(a_nested, '$[7][7]' RETURNING varchar array), 2, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B1_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT CURRENT_TIMESTAMP AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B2_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT CURRENT_DATE AS col + FROM test_array); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B3_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT date_trunc('year', json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(a_bool, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[0]' RETURNING boolean array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(a_int, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[1]' RETURNING bigint array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(a_float, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[2]' RETURNING decimal array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(a_str, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[3]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(a_null, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[4]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(a_empty, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[5]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(a_mixed, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[6]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(a_nested, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[7]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B4_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_ceil(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(a_bool, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[0]' RETURNING boolean array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(a_int, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[1]' RETURNING bigint array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(a_float, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[2]' RETURNING decimal array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(a_str, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[3]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(a_null, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[4]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(a_empty, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[5]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(a_mixed, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[6]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(a_nested, 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[7]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B5_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_floor(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(a_bool, 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[0]' RETURNING boolean array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(a_int, 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[1]' RETURNING bigint array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(a_float, 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[2]' RETURNING decimal array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(a_str, 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[3]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(a_null, 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[4]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(a_empty, 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[5]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(a_mixed, 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[6]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(a_nested, 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[7]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B6_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_shift(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'P1D', 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(a_bool, 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[0]' RETURNING boolean array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(a_int, 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[1]' RETURNING bigint array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(a_float, 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[2]' RETURNING decimal array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(a_str, 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[3]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(a_null, 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[4]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(a_empty, 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[5]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(a_mixed, 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[6]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(a_nested, 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[7]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B7_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_extract(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'HOUR') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B8_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_parse(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(a_bool, '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[0]' RETURNING boolean array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[7][0]' RETURNING boolean array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(a_int, '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[1]' RETURNING bigint array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[7][1]' RETURNING bigint array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(a_float, '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[2]' RETURNING decimal array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[7][2]' RETURNING decimal array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(a_str, '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[3]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[7][3]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(a_null, '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[4]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[7][4]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(a_empty, '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[5]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[7][5]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(a_mixed, '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[6]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[7][6]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(a_nested, '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[7]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B9_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT time_in_interval(json_value(a_nested, '$[7][7]' RETURNING varchar array), '2001-01-01/P1D') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B10_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT millis_to_timestamp(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B11_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestamp_to_millis(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B12_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT extract(DAY + FROM json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_bool TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[0]' RETURNING boolean array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][0]' RETURNING boolean array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_int TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[1]' RETURNING bigint array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][1]' RETURNING bigint array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_float TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[2]' RETURNING decimal array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][2]' RETURNING decimal array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_str TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[3]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][3]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_null TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[4]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][4]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_empty TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[5]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][5]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_mixed TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[6]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][6]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(a_nested TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B13_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT floor(json_value(a_nested, '$[7][7]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_bool TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[0]' RETURNING boolean array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][0]' RETURNING boolean array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_int TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[1]' RETURNING bigint array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][1]' RETURNING bigint array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_float TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[2]' RETURNING decimal array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][2]' RETURNING decimal array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_str TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[3]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][3]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_null TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[4]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][4]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_empty TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[5]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][5]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_mixed TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[6]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][6]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(a_nested TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B14_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ceil(json_value(a_nested, '$[7][7]' RETURNING varchar array) TO DAY) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B15_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampadd(DAY, 1, json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A3_B16_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT timestampdiff(DAY, CURRENT_TIMESTAMP, json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(a_bool, a_bool) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[0]' RETURNING boolean array), json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[7][0]' RETURNING boolean array), json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(a_int, a_int) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[1]' RETURNING bigint array), json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[7][1]' RETURNING bigint array), json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(a_float, a_float) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[2]' RETURNING decimal array), json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[7][2]' RETURNING decimal array), json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(a_str, a_str) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[3]' RETURNING varchar array), json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[7][3]' RETURNING varchar array), json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(a_null, a_null) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[4]' RETURNING varchar array), json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[7][4]' RETURNING varchar array), json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(a_empty, a_empty) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[5]' RETURNING varchar array), json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[7][5]' RETURNING varchar array), json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(a_mixed, a_mixed) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[6]' RETURNING varchar array), json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[7][6]' RETURNING varchar array), json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(a_nested, a_nested) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[7]' RETURNING varchar array), json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B1_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT greatest(json_value(a_nested, '$[7][7]' RETURNING varchar array), json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(a_bool, a_bool) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[0]' RETURNING boolean array), json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[7][0]' RETURNING boolean array), json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(a_int, a_int) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[1]' RETURNING bigint array), json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[7][1]' RETURNING bigint array), json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(a_float, a_float) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[2]' RETURNING decimal array), json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[7][2]' RETURNING decimal array), json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(a_str, a_str) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[3]' RETURNING varchar array), json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[7][3]' RETURNING varchar array), json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(a_null, a_null) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[4]' RETURNING varchar array), json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[7][4]' RETURNING varchar array), json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(a_empty, a_empty) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[5]' RETURNING varchar array), json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[7][5]' RETURNING varchar array), json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(a_mixed, a_mixed) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[6]' RETURNING varchar array), json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[7][6]' RETURNING varchar array), json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(a_nested, a_nested) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[7]' RETURNING varchar array), json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A4_B2_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT least(json_value(a_nested, '$[7][7]' RETURNING varchar array), json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(a_bool, '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[0]' RETURNING boolean array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[7][0]' RETURNING boolean array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(a_int, '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[1]' RETURNING bigint array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[7][1]' RETURNING bigint array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(a_float, '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[2]' RETURNING decimal array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[7][2]' RETURNING decimal array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(a_str, '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[3]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[7][3]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(a_null, '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[4]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[7][4]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(a_empty, '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[5]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[7][5]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(a_mixed, '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[6]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[7][6]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(a_nested, '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[7]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B1_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_match(json_value(a_nested, '$[7][7]' RETURNING varchar array), '255.0.0.0/1') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B2_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_parse(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(a_bool) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(a_int) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(a_float) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(a_str) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(a_null) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(a_empty) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(a_mixed) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A5_B3_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ipv4_stringify(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(a_bool AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[0]' RETURNING boolean array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[7][0]' RETURNING boolean array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(a_int AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[1]' RETURNING bigint array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[7][1]' RETURNING bigint array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(a_float AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[2]' RETURNING decimal array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[7][2]' RETURNING decimal array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(a_str AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[3]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[7][3]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(a_null AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[4]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[7][4]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(a_empty AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[5]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[7][5]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(a_mixed AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[6]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[7][6]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(a_nested AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[7]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B1_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(a_nested, '$[7][7]' RETURNING varchar array) AS varchar) AS col +FROM test_array; +cannot convert +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE a_bool + WHEN ARRAY[1, + 0, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[0]' RETURNING boolean array) + WHEN ARRAY[1, + 0, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[7][0]' RETURNING boolean array) + WHEN ARRAY[1, + 0, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE a_int + WHEN ARRAY[1, + 2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[1]' RETURNING bigint array) + WHEN ARRAY[1, + 2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[7][1]' RETURNING bigint array) + WHEN ARRAY[1, + 2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE a_float + WHEN ARRAY[0.1, + 0.2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[2]' RETURNING decimal array) + WHEN ARRAY[0.1, + 0.2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[7][2]' RETURNING decimal array) + WHEN ARRAY[0.1, + 0.2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE a_str + WHEN ARRAY['S1', + 'S2', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[3]' RETURNING varchar array) + WHEN ARRAY['S1', + 'S2', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[7][3]' RETURNING varchar array) + WHEN ARRAY['S1', + 'S2', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE a_null + WHEN ARRAY[NULL, + NULL, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 1 | +| 1 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[4]' RETURNING varchar array) + WHEN ARRAY[NULL, + NULL, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 1 | +| 1 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[7][4]' RETURNING varchar array) + WHEN ARRAY[NULL, + NULL, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 1 | +| 1 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE a_empty + WHEN ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[5]' RETURNING varchar array) + WHEN ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[7][5]' RETURNING varchar array) + WHEN ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE a_mixed + WHEN ARRAY['true', + '1', + '0.1', + 'S1', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[6]' RETURNING varchar array) + WHEN ARRAY['true', + '1', + '0.1', + 'S1', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[7][6]' RETURNING varchar array) + WHEN ARRAY['true', + '1', + '0.1', + 'S1', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE a_nested + WHEN ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[7]' RETURNING varchar array) + WHEN ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B2_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE json_value(a_nested, '$[7][7]' RETURNING varchar array) + WHEN ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN a_bool=ARRAY[1, + 0, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[0]' RETURNING boolean array)=ARRAY[1, + 0, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[7][0]' RETURNING boolean array)=ARRAY[1, + 0, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN a_int=ARRAY[1, + 2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[1]' RETURNING bigint array)=ARRAY[1, + 2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[7][1]' RETURNING bigint array)=ARRAY[1, + 2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN a_float=ARRAY[0.1, + 0.2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[2]' RETURNING decimal array)=ARRAY[0.1, + 0.2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[7][2]' RETURNING decimal array)=ARRAY[0.1, + 0.2, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN a_str=ARRAY['S1', + 'S2', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[3]' RETURNING varchar array)=ARRAY['S1', + 'S2', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[7][3]' RETURNING varchar array)=ARRAY['S1', + 'S2', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN a_null=ARRAY[NULL, + NULL, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 1 | +| 1 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[4]' RETURNING varchar array)=ARRAY[NULL, + NULL, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 1 | +| 1 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[7][4]' RETURNING varchar array)=ARRAY[NULL, + NULL, + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 1 | +| 1 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN a_empty=ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[5]' RETURNING varchar array)=ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[7][5]' RETURNING varchar array)=ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN a_mixed=ARRAY['true', + '1', + '0.1', + 'S1', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[6]' RETURNING varchar array)=ARRAY['true', + '1', + '0.1', + 'S1', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[7][6]' RETURNING varchar array)=ARRAY['true', + '1', + '0.1', + 'S1', + NULL] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN a_nested=ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[7]' RETURNING varchar array)=ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B3_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (CASE + WHEN json_value(a_nested, '$[7][7]' RETURNING varchar array)=ARRAY['FILLER'] THEN 1 + ELSE 2 + END) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 2 | +| 2 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(a_bool, ARRAY[1, 0, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, 0, 1] | +| [null, 0, 1] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(a_int, ARRAY[1, 2, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, 2, 1] | +| [null, 2, 1] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[1]' RETURNING bigint array), ARRAY[1, 2, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, 2, 1] | +| [null, 2, 1] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[7][1]' RETURNING bigint array), ARRAY[1, 2, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, 2, 1] | +| [null, 2, 1] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(a_float, ARRAY[0.1, 0.2, NULL]) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| | +| | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[2]' RETURNING decimal array), ARRAY[0.1, 0.2, NULL]) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| | +| | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[7][2]' RETURNING decimal array), ARRAY[0.1, 0.2, NULL]) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| | +| | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(a_str, ARRAY['S1', 'S2', NULL]) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [null, S2, S1] | +| [null, S2, S1] | +| | +| | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[3]' RETURNING varchar array), ARRAY['S1', 'S2', NULL]) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [null, S2, S1] | +| [null, S2, S1] | +| | +| | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[7][3]' RETURNING varchar array), ARRAY['S1', 'S2', NULL]) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [null, S2, S1] | +| [null, S2, S1] | +| | +| | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(a_null, ARRAY[NULL, NULL, NULL]) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[4]' RETURNING varchar array), ARRAY[NULL, NULL, NULL]) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[7][4]' RETURNING varchar array), ARRAY[NULL, NULL, NULL]) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(a_empty, ARRAY['FILLER']) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[5]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[7][5]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(a_mixed, ARRAY['true', '1', '0.1', 'S1', NULL]) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| | +| | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[6]' RETURNING varchar array), ARRAY['true', '1', '0.1', 'S1', NULL]) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| | +| | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[7][6]' RETURNING varchar array), ARRAY['true', '1', '0.1', 'S1', NULL]) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| | +| | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(a_nested, ARRAY['FILLER']) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[7]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B4_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nullif(json_value(a_nested, '$[7][7]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(a_bool, ARRAY[1, 0, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[0]' RETURNING boolean array), ARRAY[1, 0, NULL]) AS col +FROM test_array; +Illegal +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[7][0]' RETURNING boolean array), ARRAY[1, 0, NULL]) AS col +FROM test_array; +Illegal +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(a_int, ARRAY[1, 2, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[1]' RETURNING bigint array), ARRAY[1, 2, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[7][1]' RETURNING bigint array), ARRAY[1, 2, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(a_float, ARRAY[0.1, 0.2, NULL]) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[2]' RETURNING decimal array), ARRAY[0.1, 0.2, NULL]) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[7][2]' RETURNING decimal array), ARRAY[0.1, 0.2, NULL]) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(a_str, ARRAY['S1', 'S2', NULL]) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[3]' RETURNING varchar array), ARRAY['S1', 'S2', NULL]) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[7][3]' RETURNING varchar array), ARRAY['S1', 'S2', NULL]) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(a_null, ARRAY[NULL, NULL, NULL]) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[4]' RETURNING varchar array), ARRAY[NULL, NULL, NULL]) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[7][4]' RETURNING varchar array), ARRAY[NULL, NULL, NULL]) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(a_empty, ARRAY['FILLER']) AS col +FROM test_array; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[5]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[7][5]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(a_mixed, ARRAY['true', '1', '0.1', 'S1', NULL]) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[6]' RETURNING varchar array), ARRAY['true', '1', '0.1', 'S1', NULL]) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[7][6]' RETURNING varchar array), ARRAY['true', '1', '0.1', 'S1', NULL]) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(a_nested, ARRAY['FILLER']) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[7]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++----------+ +| col | ++----------+ +| [FILLER] | +| [FILLER] | +| [FILLER] | +| [FILLER] | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B5_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT coalesce(json_value(a_nested, '$[7][7]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++----------+ +| col | ++----------+ +| [FILLER] | +| [FILLER] | +| [FILLER] | +| [FILLER] | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(a_bool, ARRAY[1, 0, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[0]' RETURNING boolean array), ARRAY[1, 0, NULL]) AS col +FROM test_array; +Illegal +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[7][0]' RETURNING boolean array), ARRAY[1, 0, NULL]) AS col +FROM test_array; +Illegal +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(a_int, ARRAY[1, 2, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[1]' RETURNING bigint array), ARRAY[1, 2, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[7][1]' RETURNING bigint array), ARRAY[1, 2, NULL]) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(a_float, ARRAY[0.1, 0.2, NULL]) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[2]' RETURNING decimal array), ARRAY[0.1, 0.2, NULL]) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[7][2]' RETURNING decimal array), ARRAY[0.1, 0.2, NULL]) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(a_str, ARRAY['S1', 'S2', NULL]) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[3]' RETURNING varchar array), ARRAY['S1', 'S2', NULL]) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[7][3]' RETURNING varchar array), ARRAY['S1', 'S2', NULL]) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(a_null, ARRAY[NULL, NULL, NULL]) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[4]' RETURNING varchar array), ARRAY[NULL, NULL, NULL]) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[7][4]' RETURNING varchar array), ARRAY[NULL, NULL, NULL]) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(a_empty, ARRAY['FILLER']) AS col +FROM test_array; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[5]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[7][5]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(a_mixed, ARRAY['true', '1', '0.1', 'S1', NULL]) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[6]' RETURNING varchar array), ARRAY['true', '1', '0.1', 'S1', NULL]) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[7][6]' RETURNING varchar array), ARRAY['true', '1', '0.1', 'S1', NULL]) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(a_nested, ARRAY['FILLER']) AS col +FROM test_array; +AvaticaSqlException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[7]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++----------+ +| col | ++----------+ +| [FILLER] | +| [FILLER] | +| [FILLER] | +| [FILLER] | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_scalar_funcs TEST_ID: A9_B6_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT nvl(json_value(a_nested, '$[7][7]' RETURNING varchar array), ARRAY['FILLER']) AS col +FROM test_array; ++----------+ +| col | ++----------+ +| [FILLER] | +| [FILLER] | +| [FILLER] | +| [FILLER] | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING count(*) IS NOT NULL; ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING count(*) IS NOT NULL; ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING count(*) IS NOT NULL; ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING count(*) IS NOT NULL; ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING count(*) IS NOT NULL; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING count(*) IS NOT NULL; ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++-----+ +| col | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING count(*)IS NOT NULL; ++-----+ +| col | ++-----+ +| 2 | +| 2 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B1_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING count(*) IN (4); ++-----+ +| col | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING count(DISTINCT json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING count(DISTINCT json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING count(DISTINCT json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING count(DISTINCT json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING count(DISTINCT json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING count(DISTINCT json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++-----+ +| col | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING count(DISTINCT json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| 1 | +| 1 | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B2_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING count(DISTINCT json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| 0 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING sum(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING sum(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING sum(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING sum(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING sum(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING sum(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING sum(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B3_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT sum(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING sum(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING min(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING min(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING min(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING min(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING min(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING min(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING min(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B4_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT min(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING min(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING max(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING max(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING max(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING max(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING max(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING max(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING max(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B5_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT max(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING max(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +does not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING avg(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING avg(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING avg(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING avg(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING avg(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING avg(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING avg(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B6_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT avg(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING avg(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING approx_count_distinct(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING approx_count_distinct(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING approx_count_distinct(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING approx_count_distinct(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING approx_count_distinct(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING approx_count_distinct(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING approx_count_distinct(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B7_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING approx_count_distinct(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING approx_count_distinct_builtin(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING approx_count_distinct_builtin(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING approx_count_distinct_builtin(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING approx_count_distinct_builtin(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING approx_count_distinct_builtin(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING approx_count_distinct_builtin(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING approx_count_distinct_builtin(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B8_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT approx_count_distinct_builtin(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING approx_count_distinct_builtin(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING earliest(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING earliest(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING earliest(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B17_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[0]' RETURNING boolean array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING earliest(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1000) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[1]' RETURNING bigint array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING earliest(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1000) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[2]' RETURNING decimal array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING earliest(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1000) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[3]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1000) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[4]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1000) IS NOT NULL; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[5]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1000) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[6]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1000) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(a_nested, 1000) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B18_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING earliest(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1000) IS NOT NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[0]' RETURNING boolean array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][0]' RETURNING boolean array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING earliest_by(json_value(a_nested, '$[7][0]' RETURNING boolean array), time_floor(__time, 'P1D')) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[1]' RETURNING bigint array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][1]' RETURNING bigint array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING earliest_by(json_value(a_nested, '$[7][1]' RETURNING bigint array), time_floor(__time, 'P1D')) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[2]' RETURNING decimal array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][2]' RETURNING decimal array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING earliest_by(json_value(a_nested, '$[7][2]' RETURNING decimal array), time_floor(__time, 'P1D')) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[3]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][3]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][3]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[4]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][4]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][4]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[5]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][5]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][5]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[6]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][6]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][6]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(a_nested, time_floor(__time, 'P1D')) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B19_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][7]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][7]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[0]' RETURNING boolean array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][0]' RETURNING boolean array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING earliest_by(json_value(a_nested, '$[7][0]' RETURNING boolean array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[1]' RETURNING bigint array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][1]' RETURNING bigint array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING earliest_by(json_value(a_nested, '$[7][1]' RETURNING bigint array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[2]' RETURNING decimal array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][2]' RETURNING decimal array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING earliest_by(json_value(a_nested, '$[7][2]' RETURNING decimal array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[3]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][3]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][3]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[4]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][4]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][4]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[5]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][5]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][5]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[6]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][6]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][6]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(a_nested, time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B20_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT earliest_by(json_value(a_nested, '$[7][7]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING earliest_by(json_value(a_nested, '$[7][7]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING latest(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING latest(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING latest(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT latest(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B21_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[0]' RETURNING boolean array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING latest(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1000) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[1]' RETURNING bigint array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING latest(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1000) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[2]' RETURNING decimal array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING latest(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1000) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[3]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1000) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[4]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1000) IS NOT NULL; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[5]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1000) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[6]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1000) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT latest(a_nested, 1000) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B22_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING latest(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1000) IS NOT NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[0]' RETURNING boolean array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][0]' RETURNING boolean array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING latest_by(json_value(a_nested, '$[7][0]' RETURNING boolean array), time_floor(__time, 'P1D')) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[1]' RETURNING bigint array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][1]' RETURNING bigint array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING latest_by(json_value(a_nested, '$[7][1]' RETURNING bigint array), time_floor(__time, 'P1D')) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[2]' RETURNING decimal array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][2]' RETURNING decimal array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING latest_by(json_value(a_nested, '$[7][2]' RETURNING decimal array), time_floor(__time, 'P1D')) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[3]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][3]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][3]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[4]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][4]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][4]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[5]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][5]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][5]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[6]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][6]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][6]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(a_nested, time_floor(__time, 'P1D')) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B23_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][7]' RETURNING varchar array), time_floor(__time, 'P1D')) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][7]' RETURNING varchar array), time_floor(__time, 'P1D')) IS NOT NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[0]' RETURNING boolean array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][0]' RETURNING boolean array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING latest_by(json_value(a_nested, '$[7][0]' RETURNING boolean array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[1]' RETURNING bigint array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][1]' RETURNING bigint array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING latest_by(json_value(a_nested, '$[7][1]' RETURNING bigint array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[2]' RETURNING decimal array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][2]' RETURNING decimal array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING latest_by(json_value(a_nested, '$[7][2]' RETURNING decimal array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[3]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][3]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][3]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[4]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][4]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][4]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[5]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][5]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][5]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[6]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][6]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][6]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(a_nested, time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B24_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT latest_by(json_value(a_nested, '$[7][7]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING latest_by(json_value(a_nested, '$[7][7]' RETURNING varchar array), time_floor(__time, 'P1D'), 1000) IS NOT NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING any_value(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING any_value(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING any_value(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING any_value(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING any_value(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING any_value(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING any_value(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B25_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT any_value(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING any_value(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool AS col1, + grouping(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +may only occur in an aggregate query +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int AS col1, + grouping(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +may only occur in an aggregate query +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) AS col1, + grouping(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+-----+ +| col1 | col | ++--------------+-----+ +| [1, 2, null] | 0 | +| [null, 2, 1] | 0 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) AS col1, + grouping(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING grouping(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; ++--------------+-----+ +| col1 | col | ++--------------+-----+ +| [1, 2, null] | 0 | +| [null, 2, 1] | 0 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_float AS col1, + grouping(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +may only occur in an aggregate query +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) AS col1, + grouping(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+-----+ +| col1 | col | ++------------------+-----+ +| [0.1, 0.2, null] | 0 | +| [null, 0.2, 0.1] | 0 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) AS col1, + grouping(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING grouping(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; ++------------------+-----+ +| col1 | col | ++------------------+-----+ +| [0.1, 0.2, null] | 0 | +| [null, 0.2, 0.1] | 0 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_str AS col1, + grouping(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +may only occur in an aggregate query +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+-----+ +| col1 | col | ++----------------+-----+ +| [S1, S2, null] | 0 | +| [null, S2, S1] | 0 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING grouping(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; ++----------------+-----+ +| col1 | col | ++----------------+-----+ +| [S1, S2, null] | 0 | +| [null, S2, S1] | 0 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_null AS col1, + grouping(a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; +may only occur in an aggregate query +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+-----+ +| col1 | col | ++--------------------+-----+ +| [null, null, null] | 0 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING grouping(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; ++--------------------+-----+ +| col1 | col | ++--------------------+-----+ +| [null, null, null] | 0 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty AS col1, + grouping(a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; +may only occur in an aggregate query +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++------+-----+ +| col1 | col | ++------+-----+ +| [] | 0 | ++------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING grouping(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; ++------+-----+ +| col1 | col | ++------+-----+ +| [] | 0 | ++------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed AS col1, + grouping(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +may only occur in an aggregate query +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+-----+ +| col1 | col | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 0 | +| [true, 1, 0.1, S1, null] | 0 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING grouping(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; ++--------------------------+-----+ +| col1 | col | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 0 | +| [true, 1, 0.1, S1, null] | 0 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested AS col1, + grouping(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++------+-----+ +| col1 | col | ++------+-----+ +| | 0 | ++------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B26_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][7]' RETURNING varchar array) AS col1, + grouping(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING grouping(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; ++------+-----+ +| col1 | col | ++------+-----+ +| | 0 | ++------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; ++--------------------------+ +| col | ++--------------------------+ +| [null, 0, 1, null, 0, 1] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; ++--------------------------+ +| col | ++--------------------------+ +| [null, 2, 1, null, 2, 1] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------------------+ +| col | ++--------------------------+ +| [1, 2, null, 1, 2, null] | +| [null, 2, 1, null, 2, 1] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING array_concat_agg(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [1, 2, null, 1, 2, null] | +| [null, 2, 1, null, 2, 1] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; ++----------------------------------+ +| col | ++----------------------------------+ +| [null, 0.2, 0.1, null, 0.2, 0.1] | ++----------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++----------------------------------+ +| col | ++----------------------------------+ +| [0.1, 0.2, null, 0.1, 0.2, null] | +| [null, 0.2, 0.1, null, 0.2, 0.1] | ++----------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING array_concat_agg(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; ++----------------------------------+ +| col | ++----------------------------------+ +| [0.1, 0.2, null, 0.1, 0.2, null] | +| [null, 0.2, 0.1, null, 0.2, 0.1] | ++----------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; ++------------------------------+ +| col | ++------------------------------+ +| [null, S2, S1, null, S2, S1] | ++------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++------------------------------+ +| col | ++------------------------------+ +| [S1, S2, null, S1, S2, null] | +| [null, S2, S1, null, S2, S1] | ++------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING array_concat_agg(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; ++------------------------------+ +| col | ++------------------------------+ +| [S1, S2, null, S1, S2, null] | +| [null, S2, S1, null, S2, S1] | ++------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------------------------------------------------------------+ +| col | ++--------------------------------------------------------------------------+ +| [null, null, null, null, null, null, null, null, null, null, null, null] | ++--------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING array_concat_agg(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; ++--------------------------------------------------------------------------+ +| col | ++--------------------------------------------------------------------------+ +| [null, null, null, null, null, null, null, null, null, null, null, null] | ++--------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING array_concat_agg(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------------------------------+ +| col | ++--------------------------------------------------+ +| [null, S1, 0.1, 1, true, null, S1, 0.1, 1, true] | ++--------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------------------------------+ +| col | ++--------------------------------------------------+ +| [null, S1, 0.1, 1, true, null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null, true, 1, 0.1, S1, null] | ++--------------------------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING array_concat_agg(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; ++--------------------------------------------------+ +| col | ++--------------------------------------------------+ +| [null, S1, 0.1, 1, true, null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null, true, 1, 0.1, S1, null] | ++--------------------------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B29_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING array_concat_agg(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ ++-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; ++--------------+ +| col | ++--------------+ +| [null, 0, 1] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; ++--------------+ +| col | ++--------------+ +| [null, 1, 2] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| col | ++--------------+ +| [null, 1, 2] | +| [null, 1, 2] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING array_concat_agg(DISTINCT json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; ++--------------+ +| col | ++--------------+ +| [null, 1, 2] | +| [null, 1, 2] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; ++------------------+ +| col | ++------------------+ +| [null, 0.1, 0.2] | ++------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| col | ++------------------+ +| [null, 0.1, 0.2] | +| [null, 0.1, 0.2] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING array_concat_agg(DISTINCT json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; ++------------------+ +| col | ++------------------+ +| [null, 0.1, 0.2] | +| [null, 0.1, 0.2] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; ++----------------+ +| col | ++----------------+ +| [null, S1, S2] | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| col | ++----------------+ +| [null, S1, S2] | +| [null, S1, S2] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING array_concat_agg(DISTINCT json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; ++----------------+ +| col | ++----------------+ +| [null, S1, S2] | +| [null, S1, S2] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------+ +| col | ++--------+ +| [null] | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING array_concat_agg(DISTINCT json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; ++--------+ +| col | ++--------+ +| [null] | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING array_concat_agg(DISTINCT json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ +| [] | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+ +| col | ++--------------------------+ +| [null, 0.1, 1, S1, true] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| col | ++--------------------------+ +| [null, 0.1, 1, S1, true] | +| [null, 0.1, 1, S1, true] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING array_concat_agg(DISTINCT json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; ++--------------------------+ +| col | ++--------------------------+ +| [null, 0.1, 1, S1, true] | +| [null, 0.1, 1, S1, true] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); ++-----+ +| col | ++-----+ +| | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B30_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat_agg(DISTINCT json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING array_concat_agg(DISTINCT json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; ++-----+ +| col | ++-----+ ++-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING bit_and(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING bit_and(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING bit_and(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING bit_and(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING bit_and(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING bit_and(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING bit_and(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B33_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_and(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING bit_and(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING bit_or(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING bit_or(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING bit_or(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING bit_or(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING bit_or(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING bit_or(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING bit_or(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B34_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_or(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING bit_or(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING bit_xor(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING bit_xor(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING bit_xor(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING bit_xor(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING bit_xor(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING bit_xor(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING bit_xor(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_agg_funcs TEST_ID: A1_B35_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT bit_xor(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING bit_xor(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B1_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ARRAY[1, + 2, + NULL] AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B1_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ARRAY[0.1, + 0.2, + NULL] AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B1_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ARRAY['S1', + 'S2', + NULL] AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B1_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ARRAY[] AS col +FROM test_array; +Require at least 1 argument +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B1_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ARRAY[TRUE, + 1, + 0.1, + 'S1', + NULL,[]] AS col +FROM test_array; +unexpected token +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B1_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ARRAY[TRUE, + 1, + 0.1, + 'S1', + NULL] AS col +FROM test_array; +Parameters must be of the same type +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B1_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT ARRAY['true', + '1', + '0.1', + 'S1', + 'null'] AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B1_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ARRAY[[1,2,3], + [1,2,3]] AS col +FROM test_array; +unexpected token +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B1_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT ARRAY[ARRAY[1, + 2, + 3],ARRAY[1, + 2, + 3]] AS col +FROM test_array; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(a_bool) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(a_int) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(a_float) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(a_str) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(a_null) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 0 | +| 0 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 0 | +| 0 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 0 | +| 0 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(a_mixed) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 5 | +| 5 | +| 5 | +| 5 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 5 | +| 5 | +| 5 | +| 5 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 5 | +| 5 | +| 5 | +| 5 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B2_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(a_bool, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[0]' RETURNING boolean array), 0) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[7][0]' RETURNING boolean array), 0) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(a_int, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[1]' RETURNING bigint array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[7][1]' RETURNING bigint array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(a_float, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[2]' RETURNING decimal array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[7][2]' RETURNING decimal array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(a_str, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[3]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[7][3]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(a_null, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[4]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[7][4]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(a_empty, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[5]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[7][5]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(a_mixed, 0) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[6]' RETURNING varchar array), 0) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[7][6]' RETURNING varchar array), 0) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(a_nested, 0) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[7]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B3_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset(json_value(a_nested, '$[7][7]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(a_bool, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(a_int, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(a_float, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(a_str, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(a_null, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(a_empty, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(a_mixed, 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B4_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(a_bool, 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(a_int, 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(a_float, 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(a_str, 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(a_null, 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(a_empty, 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(a_mixed, 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B5_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_contains(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(a_bool, ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[0]' RETURNING boolean array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[7][0]' RETURNING boolean array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(a_int, ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[1]' RETURNING bigint array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[7][1]' RETURNING bigint array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(a_float, ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[2]' RETURNING decimal array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[7][2]' RETURNING decimal array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(a_str, ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[3]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[7][3]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(a_null, ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[4]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[7][4]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(a_empty, ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[5]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[7][5]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(a_mixed, ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[6]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[7][6]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(a_nested, ARRAY[1]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[7]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B6_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_overlap(json_value(a_nested, '$[7][7]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(a_bool, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(a_int, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(a_float, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(a_str, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(a_null, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(a_empty, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(a_mixed, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B7_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_offset_of(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(a_bool, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(a_int, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(a_float, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(a_str, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(a_null, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(a_empty, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(a_mixed, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B8_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_ordinal_of(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, a_bool) AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [9, 1, 0, null] | +| [9, 1, 0, null] | +| [9, null, 0, 1] | +| [9, null, 0, 1] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, a_int) AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [9, 1, 2, null] | +| [9, 1, 2, null] | +| [9, null, 2, 1] | +| [9, null, 2, 1] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [9, 1, 2, null] | +| [9, 1, 2, null] | +| [9, null, 2, 1] | +| [9, null, 2, 1] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [9, 1, 2, null] | +| [9, 1, 2, null] | +| [9, null, 2, 1] | +| [9, null, 2, 1] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, a_float) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [9.0, 0.1, 0.2, null] | +| [9.0, 0.1, 0.2, null] | +| [9.0, null, 0.2, 0.1] | +| [9.0, null, 0.2, 0.1] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [9.0, 0.1, 0.2, null] | +| [9.0, 0.1, 0.2, null] | +| [9.0, null, 0.2, 0.1] | +| [9.0, null, 0.2, 0.1] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [9.0, 0.1, 0.2, null] | +| [9.0, 0.1, 0.2, null] | +| [9.0, null, 0.2, 0.1] | +| [9.0, null, 0.2, 0.1] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, a_str) AS col +FROM test_array; ++-------------------+ +| col | ++-------------------+ +| [9, S1, S2, null] | +| [9, S1, S2, null] | +| [9, null, S2, S1] | +| [9, null, S2, S1] | ++-------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++-------------------+ +| col | ++-------------------+ +| [9, S1, S2, null] | +| [9, S1, S2, null] | +| [9, null, S2, S1] | +| [9, null, S2, S1] | ++-------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++-------------------+ +| col | ++-------------------+ +| [9, S1, S2, null] | +| [9, S1, S2, null] | +| [9, null, S2, S1] | +| [9, null, S2, S1] | ++-------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, a_null) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [9, null, null, null] | +| [9, null, null, null] | +| [9, null, null, null] | +| [9, null, null, null] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [9, null, null, null] | +| [9, null, null, null] | +| [9, null, null, null] | +| [9, null, null, null] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [9, null, null, null] | +| [9, null, null, null] | +| [9, null, null, null] | +| [9, null, null, null] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [9] | +| [9] | +| [9] | +| [9] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [9] | +| [9] | +| [9] | +| [9] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [9] | +| [9] | +| [9] | +| [9] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, a_mixed) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| [9, null, S1, 0.1, 1, true] | +| [9, null, S1, 0.1, 1, true] | +| [9, true, 1, 0.1, S1, null] | +| [9, true, 1, 0.1, S1, null] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| [9, null, S1, 0.1, 1, true] | +| [9, null, S1, 0.1, 1, true] | +| [9, true, 1, 0.1, S1, null] | +| [9, true, 1, 0.1, S1, null] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| [9, null, S1, 0.1, 1, true] | +| [9, null, S1, 0.1, 1, true] | +| [9, true, 1, 0.1, S1, null] | +| [9, true, 1, 0.1, S1, null] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B9_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_prepend(9, json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(a_bool, 9) AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [1, 0, null, 9] | +| [1, 0, null, 9] | +| [null, 0, 1, 9] | +| [null, 0, 1, 9] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(a_int, 9) AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [1, 2, null, 9] | +| [1, 2, null, 9] | +| [null, 2, 1, 9] | +| [null, 2, 1, 9] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[1]' RETURNING bigint array), 9) AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [1, 2, null, 9] | +| [1, 2, null, 9] | +| [null, 2, 1, 9] | +| [null, 2, 1, 9] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[7][1]' RETURNING bigint array), 9) AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [1, 2, null, 9] | +| [1, 2, null, 9] | +| [null, 2, 1, 9] | +| [null, 2, 1, 9] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(a_float, 9) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [0.1, 0.2, null, 9.0] | +| [0.1, 0.2, null, 9.0] | +| [null, 0.2, 0.1, 9.0] | +| [null, 0.2, 0.1, 9.0] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[2]' RETURNING decimal array), 9) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [0.1, 0.2, null, 9.0] | +| [0.1, 0.2, null, 9.0] | +| [null, 0.2, 0.1, 9.0] | +| [null, 0.2, 0.1, 9.0] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[7][2]' RETURNING decimal array), 9) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [0.1, 0.2, null, 9.0] | +| [0.1, 0.2, null, 9.0] | +| [null, 0.2, 0.1, 9.0] | +| [null, 0.2, 0.1, 9.0] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(a_str, 9) AS col +FROM test_array; ++-------------------+ +| col | ++-------------------+ +| [S1, S2, null, 9] | +| [S1, S2, null, 9] | +| [null, S2, S1, 9] | +| [null, S2, S1, 9] | ++-------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[3]' RETURNING varchar array), 9) AS col +FROM test_array; ++-------------------+ +| col | ++-------------------+ +| [S1, S2, null, 9] | +| [S1, S2, null, 9] | +| [null, S2, S1, 9] | +| [null, S2, S1, 9] | ++-------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[7][3]' RETURNING varchar array), 9) AS col +FROM test_array; ++-------------------+ +| col | ++-------------------+ +| [S1, S2, null, 9] | +| [S1, S2, null, 9] | +| [null, S2, S1, 9] | +| [null, S2, S1, 9] | ++-------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(a_null, 9) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [null, null, null, 9] | +| [null, null, null, 9] | +| [null, null, null, 9] | +| [null, null, null, 9] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[4]' RETURNING varchar array), 9) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [null, null, null, 9] | +| [null, null, null, 9] | +| [null, null, null, 9] | +| [null, null, null, 9] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[7][4]' RETURNING varchar array), 9) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [null, null, null, 9] | +| [null, null, null, 9] | +| [null, null, null, 9] | +| [null, null, null, 9] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(a_empty, 9) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [9] | +| [9] | +| [9] | +| [9] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[5]' RETURNING varchar array), 9) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [9] | +| [9] | +| [9] | +| [9] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[7][5]' RETURNING varchar array), 9) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [9] | +| [9] | +| [9] | +| [9] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(a_mixed, 9) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| [null, S1, 0.1, 1, true, 9] | +| [null, S1, 0.1, 1, true, 9] | +| [true, 1, 0.1, S1, null, 9] | +| [true, 1, 0.1, S1, null, 9] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[6]' RETURNING varchar array), 9) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| [null, S1, 0.1, 1, true, 9] | +| [null, S1, 0.1, 1, true, 9] | +| [true, 1, 0.1, S1, null, 9] | +| [true, 1, 0.1, S1, null, 9] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[7][6]' RETURNING varchar array), 9) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| [null, S1, 0.1, 1, true, 9] | +| [null, S1, 0.1, 1, true, 9] | +| [true, 1, 0.1, S1, null, 9] | +| [true, 1, 0.1, S1, null, 9] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(a_nested, 9) AS col +FROM test_array; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[7]' RETURNING varchar array), 9) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B10_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_append(json_value(a_nested, '$[7][7]' RETURNING varchar array), 9) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(a_bool, a_bool) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [1, 0, null, 1, 0, null] | +| [1, 0, null, 1, 0, null] | +| [null, 0, 1, null, 0, 1] | +| [null, 0, 1, null, 0, 1] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(a_int, a_int) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [1, 2, null, 1, 2, null] | +| [1, 2, null, 1, 2, null] | +| [null, 2, 1, null, 2, 1] | +| [null, 2, 1, null, 2, 1] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[1]' RETURNING bigint array), json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [1, 2, null, 1, 2, null] | +| [1, 2, null, 1, 2, null] | +| [null, 2, 1, null, 2, 1] | +| [null, 2, 1, null, 2, 1] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[7][1]' RETURNING bigint array), json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [1, 2, null, 1, 2, null] | +| [1, 2, null, 1, 2, null] | +| [null, 2, 1, null, 2, 1] | +| [null, 2, 1, null, 2, 1] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(a_float, a_float) AS col +FROM test_array; ++----------------------------------+ +| col | ++----------------------------------+ +| [0.1, 0.2, null, 0.1, 0.2, null] | +| [0.1, 0.2, null, 0.1, 0.2, null] | +| [null, 0.2, 0.1, null, 0.2, 0.1] | +| [null, 0.2, 0.1, null, 0.2, 0.1] | ++----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[2]' RETURNING decimal array), json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++----------------------------------+ +| col | ++----------------------------------+ +| [0.1, 0.2, null, 0.1, 0.2, null] | +| [0.1, 0.2, null, 0.1, 0.2, null] | +| [null, 0.2, 0.1, null, 0.2, 0.1] | +| [null, 0.2, 0.1, null, 0.2, 0.1] | ++----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[7][2]' RETURNING decimal array), json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++----------------------------------+ +| col | ++----------------------------------+ +| [0.1, 0.2, null, 0.1, 0.2, null] | +| [0.1, 0.2, null, 0.1, 0.2, null] | +| [null, 0.2, 0.1, null, 0.2, 0.1] | +| [null, 0.2, 0.1, null, 0.2, 0.1] | ++----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(a_str, a_str) AS col +FROM test_array; ++------------------------------+ +| col | ++------------------------------+ +| [S1, S2, null, S1, S2, null] | +| [S1, S2, null, S1, S2, null] | +| [null, S2, S1, null, S2, S1] | +| [null, S2, S1, null, S2, S1] | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[3]' RETURNING varchar array), json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------------+ +| col | ++------------------------------+ +| [S1, S2, null, S1, S2, null] | +| [S1, S2, null, S1, S2, null] | +| [null, S2, S1, null, S2, S1] | +| [null, S2, S1, null, S2, S1] | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[7][3]' RETURNING varchar array), json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------------+ +| col | ++------------------------------+ +| [S1, S2, null, S1, S2, null] | +| [S1, S2, null, S1, S2, null] | +| [null, S2, S1, null, S2, S1] | +| [null, S2, S1, null, S2, S1] | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(a_null, a_null) AS col +FROM test_array; ++--------------------------------------+ +| col | ++--------------------------------------+ +| [null, null, null, null, null, null] | +| [null, null, null, null, null, null] | +| [null, null, null, null, null, null] | +| [null, null, null, null, null, null] | ++--------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[4]' RETURNING varchar array), json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++--------------------------------------+ +| col | ++--------------------------------------+ +| [null, null, null, null, null, null] | +| [null, null, null, null, null, null] | +| [null, null, null, null, null, null] | +| [null, null, null, null, null, null] | ++--------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[7][4]' RETURNING varchar array), json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++--------------------------------------+ +| col | ++--------------------------------------+ +| [null, null, null, null, null, null] | +| [null, null, null, null, null, null] | +| [null, null, null, null, null, null] | +| [null, null, null, null, null, null] | ++--------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(a_empty, a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[5]' RETURNING varchar array), json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[7][5]' RETURNING varchar array), json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(a_mixed, a_mixed) AS col +FROM test_array; ++--------------------------------------------------+ +| col | ++--------------------------------------------------+ +| [null, S1, 0.1, 1, true, null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true, null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null, true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null, true, 1, 0.1, S1, null] | ++--------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[6]' RETURNING varchar array), json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++--------------------------------------------------+ +| col | ++--------------------------------------------------+ +| [null, S1, 0.1, 1, true, null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true, null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null, true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null, true, 1, 0.1, S1, null] | ++--------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[7][6]' RETURNING varchar array), json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++--------------------------------------------------+ +| col | ++--------------------------------------------------+ +| [null, S1, 0.1, 1, true, null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true, null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null, true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null, true, 1, 0.1, S1, null] | ++--------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(a_nested, a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[7]' RETURNING varchar array), json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B11_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_concat(json_value(a_nested, '$[7][7]' RETURNING varchar array), json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(a_bool, 0, 2) AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [1, 0] | +| [1, 0] | +| [null, 0] | +| [null, 0] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(a_int, 0, 2) AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [1, 2] | +| [1, 2] | +| [null, 2] | +| [null, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[1]' RETURNING bigint array), 0, 2) AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [1, 2] | +| [1, 2] | +| [null, 2] | +| [null, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[7][1]' RETURNING bigint array), 0, 2) AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [1, 2] | +| [1, 2] | +| [null, 2] | +| [null, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(a_float, 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| [0.1, 0.2] | +| [0.1, 0.2] | +| [null, 0.2] | +| [null, 0.2] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[2]' RETURNING decimal array), 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| [0.1, 0.2] | +| [0.1, 0.2] | +| [null, 0.2] | +| [null, 0.2] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[7][2]' RETURNING decimal array), 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| [0.1, 0.2] | +| [0.1, 0.2] | +| [null, 0.2] | +| [null, 0.2] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(a_str, 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [S1, S2] | +| [S1, S2] | +| [null, S2] | +| [null, S2] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[3]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [S1, S2] | +| [S1, S2] | +| [null, S2] | +| [null, S2] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[7][3]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [S1, S2] | +| [S1, S2] | +| [null, S2] | +| [null, S2] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(a_null, 0, 2) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, null] | +| [null, null] | +| [null, null] | +| [null, null] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[4]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, null] | +| [null, null] | +| [null, null] | +| [null, null] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[7][4]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, null] | +| [null, null] | +| [null, null] | +| [null, null] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(a_empty, 0, 2) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, null] | +| [null, null] | +| [null, null] | +| [null, null] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[5]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, null] | +| [null, null] | +| [null, null] | +| [null, null] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[7][5]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [null, null] | +| [null, null] | +| [null, null] | +| [null, null] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(a_mixed, 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [null, S1] | +| [null, S1] | +| [true, 1] | +| [true, 1] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[6]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [null, S1] | +| [null, S1] | +| [true, 1] | +| [true, 1] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[7][6]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [null, S1] | +| [null, S1] | +| [true, 1] | +| [true, 1] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(a_nested, 0, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[7]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B12_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_slice(json_value(a_nested, '$[7][7]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(a_bool, '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|0|null | +| 1|0|null | +| null|0|1 | +| null|0|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[0]' RETURNING boolean array), '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|0|null | +| 1|0|null | +| null|0|1 | +| null|0|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[7][0]' RETURNING boolean array), '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|0|null | +| 1|0|null | +| null|0|1 | +| null|0|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(a_int, '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|2|null | +| 1|2|null | +| null|2|1 | +| null|2|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[1]' RETURNING bigint array), '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|2|null | +| 1|2|null | +| null|2|1 | +| null|2|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[7][1]' RETURNING bigint array), '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|2|null | +| 1|2|null | +| null|2|1 | +| null|2|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(a_float, '|') AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| 0.1|0.2|null | +| 0.1|0.2|null | +| null|0.2|0.1 | +| null|0.2|0.1 | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[2]' RETURNING decimal array), '|') AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| 0.1|0.2|null | +| 0.1|0.2|null | +| null|0.2|0.1 | +| null|0.2|0.1 | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[7][2]' RETURNING decimal array), '|') AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| 0.1|0.2|null | +| 0.1|0.2|null | +| null|0.2|0.1 | +| null|0.2|0.1 | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(a_str, '|') AS col +FROM test_array; ++------------+ +| col | ++------------+ +| S1|S2|null | +| S1|S2|null | +| null|S2|S1 | +| null|S2|S1 | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[3]' RETURNING varchar array), '|') AS col +FROM test_array; ++------------+ +| col | ++------------+ +| S1|S2|null | +| S1|S2|null | +| null|S2|S1 | +| null|S2|S1 | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[7][3]' RETURNING varchar array), '|') AS col +FROM test_array; ++------------+ +| col | ++------------+ +| S1|S2|null | +| S1|S2|null | +| null|S2|S1 | +| null|S2|S1 | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(a_null, '|') AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| null|null|null | +| null|null|null | +| null|null|null | +| null|null|null | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[4]' RETURNING varchar array), '|') AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| null|null|null | +| null|null|null | +| null|null|null | +| null|null|null | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[7][4]' RETURNING varchar array), '|') AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| null|null|null | +| null|null|null | +| null|null|null | +| null|null|null | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(a_empty, '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[5]' RETURNING varchar array), '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[7][5]' RETURNING varchar array), '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(a_mixed, '|') AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| null|S1|0.1|1|true | +| null|S1|0.1|1|true | +| true|1|0.1|S1|null | +| true|1|0.1|S1|null | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[6]' RETURNING varchar array), '|') AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| null|S1|0.1|1|true | +| null|S1|0.1|1|true | +| true|1|0.1|S1|null | +| true|1|0.1|S1|null | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[7][6]' RETURNING varchar array), '|') AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| null|S1|0.1|1|true | +| null|S1|0.1|1|true | +| true|1|0.1|S1|null | +| true|1|0.1|S1|null | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(a_nested, '|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[7]' RETURNING varchar array), '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B13_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_string(json_value(a_nested, '$[7][7]' RETURNING varchar array), '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C0_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array('true|1|0.1|S1|null', '\|') AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(a_bool, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[0]' RETURNING boolean array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[7][0]' RETURNING boolean array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(a_int, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[1]' RETURNING bigint array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[7][1]' RETURNING bigint array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(a_float, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[2]' RETURNING decimal array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[7][2]' RETURNING decimal array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(a_str, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[3]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[7][3]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(a_null, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[4]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[7][4]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(a_empty, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[5]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[7][5]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(a_mixed, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[6]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[7][6]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(a_nested, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[7]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B14_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_array(json_value(a_nested, '$[7][7]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(a_bool) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| ["1","0",null] | +| ["1","0",null] | +| [null,"0","1"] | +| [null,"0","1"] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| ["1","0",null] | +| ["1","0",null] | +| [null,"0","1"] | +| [null,"0","1"] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| ["1","0",null] | +| ["1","0",null] | +| [null,"0","1"] | +| [null,"0","1"] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(a_int) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| ["1","2",null] | +| ["1","2",null] | +| [null,"2","1"] | +| [null,"2","1"] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| ["1","2",null] | +| ["1","2",null] | +| [null,"2","1"] | +| [null,"2","1"] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| ["1","2",null] | +| ["1","2",null] | +| [null,"2","1"] | +| [null,"2","1"] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(a_float) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| ["0.1","0.2",null] | +| ["0.1","0.2",null] | +| [null,"0.2","0.1"] | +| [null,"0.2","0.1"] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| ["0.1","0.2",null] | +| ["0.1","0.2",null] | +| [null,"0.2","0.1"] | +| [null,"0.2","0.1"] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| ["0.1","0.2",null] | +| ["0.1","0.2",null] | +| [null,"0.2","0.1"] | +| [null,"0.2","0.1"] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(a_str) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| ["S1","S2",null] | +| ["S1","S2",null] | +| [null,"S2","S1"] | +| [null,"S2","S1"] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| ["S1","S2",null] | +| ["S1","S2",null] | +| [null,"S2","S1"] | +| [null,"S2","S1"] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| ["S1","S2",null] | +| ["S1","S2",null] | +| [null,"S2","S1"] | +| [null,"S2","S1"] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(a_null) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(a_mixed) AS col +FROM test_array; ++------------------------------+ +| col | ++------------------------------+ +| ["true","1","0.1","S1",null] | +| ["true","1","0.1","S1",null] | +| [null,"S1","0.1","1","true"] | +| [null,"S1","0.1","1","true"] | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------------+ +| col | ++------------------------------+ +| ["true","1","0.1","S1",null] | +| ["true","1","0.1","S1",null] | +| [null,"S1","0.1","1","true"] | +| [null,"S1","0.1","1","true"] | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------------+ +| col | ++------------------------------+ +| ["true","1","0.1","S1",null] | +| ["true","1","0.1","S1",null] | +| [null,"S1","0.1","1","true"] | +| [null,"S1","0.1","1","true"] | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_array_funcs TEST_ID: A1_B15_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_to_mv(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(a_bool, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[0]' RETURNING boolean array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[7][0]' RETURNING boolean array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(a_int, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[1]' RETURNING bigint array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[7][1]' RETURNING bigint array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(a_float, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[2]' RETURNING decimal array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[7][2]' RETURNING decimal array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(a_str, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[3]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[7][3]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(a_null, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[4]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[7][4]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(a_empty, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[5]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[7][5]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(a_mixed, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[6]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[7][6]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(a_nested, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[7]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B1_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_only(json_value(a_nested, '$[7][7]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(a_bool, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[0]' RETURNING boolean array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[7][0]' RETURNING boolean array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(a_int, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[1]' RETURNING bigint array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[7][1]' RETURNING bigint array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(a_float, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[2]' RETURNING decimal array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[7][2]' RETURNING decimal array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(a_str, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[3]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[7][3]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(a_null, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[4]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[7][4]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(a_empty, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[5]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[7][5]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(a_mixed, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[6]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[7][6]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(a_nested, ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[7]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B2_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_filter_none(json_value(a_nested, '$[7][7]' RETURNING varchar array), ARRAY[1, 2]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(a_bool) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(a_int) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(a_float) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(a_str) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(a_null) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 3 | +| 3 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 0 | +| 0 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 0 | +| 0 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 0 | +| 0 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(a_mixed) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 5 | +| 5 | +| 5 | +| 5 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 5 | +| 5 | +| 5 | +| 5 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 5 | +| 5 | +| 5 | +| 5 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B3_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_length(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(a_bool, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[0]' RETURNING boolean array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[7][0]' RETURNING boolean array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(a_int, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[1]' RETURNING bigint array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[7][1]' RETURNING bigint array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(a_float, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[2]' RETURNING decimal array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[7][2]' RETURNING decimal array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(a_str, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[3]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[7][3]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(a_null, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[4]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[7][4]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(a_empty, 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[5]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[7][5]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(a_mixed, 0) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[6]' RETURNING varchar array), 0) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[7][6]' RETURNING varchar array), 0) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(a_nested, 0) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[7]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B4_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset(json_value(a_nested, '$[7][7]' RETURNING varchar array), 0) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(a_bool, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(a_int, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(a_float, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(a_str, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(a_null, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(a_empty, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(a_mixed, 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B5_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(a_bool, 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(a_int, 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(a_float, 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(a_str, 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(a_null, 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(a_empty, 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(a_mixed, 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B6_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_contains(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(a_bool, ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[0]' RETURNING boolean array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[7][0]' RETURNING boolean array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(a_int, ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[1]' RETURNING bigint array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[7][1]' RETURNING bigint array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(a_float, ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[2]' RETURNING decimal array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[7][2]' RETURNING decimal array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(a_str, ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[3]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[7][3]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(a_null, ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[4]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[7][4]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(a_empty, ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[5]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[7][5]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-------+ +| col | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(a_mixed, ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[6]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[7][6]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(a_nested, ARRAY[1]) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[7]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B7_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_overlap(json_value(a_nested, '$[7][7]' RETURNING varchar array), ARRAY[1]) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(a_bool, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(a_int, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0 | +| 0 | +| 2 | +| 2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(a_float, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(a_str, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(a_null, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(a_empty, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(a_mixed, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B8_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_offset_of(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(a_bool, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[7][0]' RETURNING boolean array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(a_int, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[7][1]' RETURNING bigint array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| 3 | +| 3 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(a_float, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[7][2]' RETURNING decimal array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(a_str, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[7][3]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(a_null, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[7][4]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(a_empty, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[7][5]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(a_mixed, 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[6]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[7][6]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(a_nested, 1) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B9_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_ordinal_of(json_value(a_nested, '$[7][7]' RETURNING varchar array), 1) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', a_bool) AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| [null,"1","0",null] | +| [null,"1","0",null] | +| [null,null,"0","1"] | +| [null,null,"0","1"] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| [null,"1","0",null] | +| [null,"1","0",null] | +| [null,null,"0","1"] | +| [null,null,"0","1"] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| [null,"1","0",null] | +| [null,"1","0",null] | +| [null,null,"0","1"] | +| [null,null,"0","1"] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', a_int) AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| [null,"1","2",null] | +| [null,"1","2",null] | +| [null,null,"2","1"] | +| [null,null,"2","1"] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| [null,"1","2",null] | +| [null,"1","2",null] | +| [null,null,"2","1"] | +| [null,null,"2","1"] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| [null,"1","2",null] | +| [null,"1","2",null] | +| [null,null,"2","1"] | +| [null,null,"2","1"] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', a_float) AS col +FROM test_array; ++-------------------------+ +| col | ++-------------------------+ +| [null,"0.1","0.2",null] | +| [null,"0.1","0.2",null] | +| [null,null,"0.2","0.1"] | +| [null,null,"0.2","0.1"] | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++-------------------------+ +| col | ++-------------------------+ +| [null,"0.1","0.2",null] | +| [null,"0.1","0.2",null] | +| [null,null,"0.2","0.1"] | +| [null,null,"0.2","0.1"] | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++-------------------------+ +| col | ++-------------------------+ +| [null,"0.1","0.2",null] | +| [null,"0.1","0.2",null] | +| [null,null,"0.2","0.1"] | +| [null,null,"0.2","0.1"] | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', a_str) AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| ["A","S1","S2",null] | +| ["A","S1","S2",null] | +| ["A",null,"S2","S1"] | +| ["A",null,"S2","S1"] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| ["A","S1","S2",null] | +| ["A","S1","S2",null] | +| ["A",null,"S2","S1"] | +| ["A",null,"S2","S1"] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| ["A","S1","S2",null] | +| ["A","S1","S2",null] | +| ["A",null,"S2","S1"] | +| ["A",null,"S2","S1"] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', a_null) AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [null,null,null,null] | +| [null,null,null,null] | +| [null,null,null,null] | +| [null,null,null,null] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| ["A",null,null,null] | +| ["A",null,null,null] | +| ["A",null,null,null] | +| ["A",null,null,null] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| ["A",null,null,null] | +| ["A",null,null,null] | +| ["A",null,null,null] | +| ["A",null,null,null] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| A | +| A | +| A | +| A | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| A | +| A | +| A | +| A | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', a_mixed) AS col +FROM test_array; ++----------------------------------+ +| col | ++----------------------------------+ +| ["A","true","1","0.1","S1",null] | +| ["A","true","1","0.1","S1",null] | +| ["A",null,"S1","0.1","1","true"] | +| ["A",null,"S1","0.1","1","true"] | ++----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++----------------------------------+ +| col | ++----------------------------------+ +| ["A","true","1","0.1","S1",null] | +| ["A","true","1","0.1","S1",null] | +| ["A",null,"S1","0.1","1","true"] | +| ["A",null,"S1","0.1","1","true"] | ++----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++----------------------------------+ +| col | ++----------------------------------+ +| ["A","true","1","0.1","S1",null] | +| ["A","true","1","0.1","S1",null] | +| ["A",null,"S1","0.1","1","true"] | +| ["A",null,"S1","0.1","1","true"] | ++----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B10_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_prepend('A', json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(a_bool, 'A') AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| ["1","0",null,null] | +| ["1","0",null,null] | +| [null,"0","1",null] | +| [null,"0","1",null] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[0]' RETURNING boolean array), 'A') AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| ["1","0",null,null] | +| ["1","0",null,null] | +| [null,"0","1",null] | +| [null,"0","1",null] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[7][0]' RETURNING boolean array), 'A') AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| ["1","0",null,null] | +| ["1","0",null,null] | +| [null,"0","1",null] | +| [null,"0","1",null] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(a_int, 'A') AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| ["1","2",null,null] | +| ["1","2",null,null] | +| [null,"2","1",null] | +| [null,"2","1",null] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[1]' RETURNING bigint array), 'A') AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| ["1","2",null,null] | +| ["1","2",null,null] | +| [null,"2","1",null] | +| [null,"2","1",null] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[7][1]' RETURNING bigint array), 'A') AS col +FROM test_array; ++---------------------+ +| col | ++---------------------+ +| ["1","2",null,null] | +| ["1","2",null,null] | +| [null,"2","1",null] | +| [null,"2","1",null] | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(a_float, 'A') AS col +FROM test_array; ++-------------------------+ +| col | ++-------------------------+ +| ["0.1","0.2",null,null] | +| ["0.1","0.2",null,null] | +| [null,"0.2","0.1",null] | +| [null,"0.2","0.1",null] | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[2]' RETURNING decimal array), 'A') AS col +FROM test_array; ++-------------------------+ +| col | ++-------------------------+ +| ["0.1","0.2",null,null] | +| ["0.1","0.2",null,null] | +| [null,"0.2","0.1",null] | +| [null,"0.2","0.1",null] | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[7][2]' RETURNING decimal array), 'A') AS col +FROM test_array; ++-------------------------+ +| col | ++-------------------------+ +| ["0.1","0.2",null,null] | +| ["0.1","0.2",null,null] | +| [null,"0.2","0.1",null] | +| [null,"0.2","0.1",null] | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(a_str, 'A') AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| ["S1","S2",null,"A"] | +| ["S1","S2",null,"A"] | +| [null,"S2","S1","A"] | +| [null,"S2","S1","A"] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[3]' RETURNING varchar array), 'A') AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| ["S1","S2",null,"A"] | +| ["S1","S2",null,"A"] | +| [null,"S2","S1","A"] | +| [null,"S2","S1","A"] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[7][3]' RETURNING varchar array), 'A') AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| ["S1","S2",null,"A"] | +| ["S1","S2",null,"A"] | +| [null,"S2","S1","A"] | +| [null,"S2","S1","A"] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(a_null, 'A') AS col +FROM test_array; ++-----------------------+ +| col | ++-----------------------+ +| [null,null,null,null] | +| [null,null,null,null] | +| [null,null,null,null] | +| [null,null,null,null] | ++-----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[4]' RETURNING varchar array), 'A') AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| [null,null,null,"A"] | +| [null,null,null,"A"] | +| [null,null,null,"A"] | +| [null,null,null,"A"] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[7][4]' RETURNING varchar array), 'A') AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| [null,null,null,"A"] | +| [null,null,null,"A"] | +| [null,null,null,"A"] | +| [null,null,null,"A"] | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(a_empty, 'A') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[5]' RETURNING varchar array), 'A') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| A | +| A | +| A | +| A | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[7][5]' RETURNING varchar array), 'A') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| A | +| A | +| A | +| A | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(a_mixed, 'A') AS col +FROM test_array; ++----------------------------------+ +| col | ++----------------------------------+ +| ["true","1","0.1","S1",null,"A"] | +| ["true","1","0.1","S1",null,"A"] | +| [null,"S1","0.1","1","true","A"] | +| [null,"S1","0.1","1","true","A"] | ++----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[6]' RETURNING varchar array), 'A') AS col +FROM test_array; ++----------------------------------+ +| col | ++----------------------------------+ +| ["true","1","0.1","S1",null,"A"] | +| ["true","1","0.1","S1",null,"A"] | +| [null,"S1","0.1","1","true","A"] | +| [null,"S1","0.1","1","true","A"] | ++----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[7][6]' RETURNING varchar array), 'A') AS col +FROM test_array; ++----------------------------------+ +| col | ++----------------------------------+ +| ["true","1","0.1","S1",null,"A"] | +| ["true","1","0.1","S1",null,"A"] | +| [null,"S1","0.1","1","true","A"] | +| [null,"S1","0.1","1","true","A"] | ++----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(a_nested, 'A') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[7]' RETURNING varchar array), 'A') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B11_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_append(json_value(a_nested, '$[7][7]' RETURNING varchar array), 'A') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(a_bool, a_bool) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| ["1","0",null,"1","0",null] | +| ["1","0",null,"1","0",null] | +| [null,"0","1",null,"0","1"] | +| [null,"0","1",null,"0","1"] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[0]' RETURNING boolean array), json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| ["1","0",null,"1","0",null] | +| ["1","0",null,"1","0",null] | +| [null,"0","1",null,"0","1"] | +| [null,"0","1",null,"0","1"] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[7][0]' RETURNING boolean array), json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| ["1","0",null,"1","0",null] | +| ["1","0",null,"1","0",null] | +| [null,"0","1",null,"0","1"] | +| [null,"0","1",null,"0","1"] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(a_int, a_int) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| ["1","2",null,"1","2",null] | +| ["1","2",null,"1","2",null] | +| [null,"2","1",null,"2","1"] | +| [null,"2","1",null,"2","1"] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[1]' RETURNING bigint array), json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| ["1","2",null,"1","2",null] | +| ["1","2",null,"1","2",null] | +| [null,"2","1",null,"2","1"] | +| [null,"2","1",null,"2","1"] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[7][1]' RETURNING bigint array), json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++-----------------------------+ +| col | ++-----------------------------+ +| ["1","2",null,"1","2",null] | +| ["1","2",null,"1","2",null] | +| [null,"2","1",null,"2","1"] | +| [null,"2","1",null,"2","1"] | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(a_float, a_float) AS col +FROM test_array; ++-------------------------------------+ +| col | ++-------------------------------------+ +| ["0.1","0.2",null,"0.1","0.2",null] | +| ["0.1","0.2",null,"0.1","0.2",null] | +| [null,"0.2","0.1",null,"0.2","0.1"] | +| [null,"0.2","0.1",null,"0.2","0.1"] | ++-------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[2]' RETURNING decimal array), json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++-------------------------------------+ +| col | ++-------------------------------------+ +| ["0.1","0.2",null,"0.1","0.2",null] | +| ["0.1","0.2",null,"0.1","0.2",null] | +| [null,"0.2","0.1",null,"0.2","0.1"] | +| [null,"0.2","0.1",null,"0.2","0.1"] | ++-------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[7][2]' RETURNING decimal array), json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++-------------------------------------+ +| col | ++-------------------------------------+ +| ["0.1","0.2",null,"0.1","0.2",null] | +| ["0.1","0.2",null,"0.1","0.2",null] | +| [null,"0.2","0.1",null,"0.2","0.1"] | +| [null,"0.2","0.1",null,"0.2","0.1"] | ++-------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(a_str, a_str) AS col +FROM test_array; ++---------------------------------+ +| col | ++---------------------------------+ +| ["S1","S2",null,"S1","S2",null] | +| ["S1","S2",null,"S1","S2",null] | +| [null,"S2","S1",null,"S2","S1"] | +| [null,"S2","S1",null,"S2","S1"] | ++---------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[3]' RETURNING varchar array), json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++---------------------------------+ +| col | ++---------------------------------+ +| ["S1","S2",null,"S1","S2",null] | +| ["S1","S2",null,"S1","S2",null] | +| [null,"S2","S1",null,"S2","S1"] | +| [null,"S2","S1",null,"S2","S1"] | ++---------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[7][3]' RETURNING varchar array), json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++---------------------------------+ +| col | ++---------------------------------+ +| ["S1","S2",null,"S1","S2",null] | +| ["S1","S2",null,"S1","S2",null] | +| [null,"S2","S1",null,"S2","S1"] | +| [null,"S2","S1",null,"S2","S1"] | ++---------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(a_null, a_null) AS col +FROM test_array; ++---------------------------------+ +| col | ++---------------------------------+ +| [null,null,null,null,null,null] | +| [null,null,null,null,null,null] | +| [null,null,null,null,null,null] | +| [null,null,null,null,null,null] | ++---------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[4]' RETURNING varchar array), json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++---------------------------------+ +| col | ++---------------------------------+ +| [null,null,null,null,null,null] | +| [null,null,null,null,null,null] | +| [null,null,null,null,null,null] | +| [null,null,null,null,null,null] | ++---------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[7][4]' RETURNING varchar array), json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++---------------------------------+ +| col | ++---------------------------------+ +| [null,null,null,null,null,null] | +| [null,null,null,null,null,null] | +| [null,null,null,null,null,null] | +| [null,null,null,null,null,null] | ++---------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(a_empty, a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[5]' RETURNING varchar array), json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[7][5]' RETURNING varchar array), json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(a_mixed, a_mixed) AS col +FROM test_array; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| ["true","1","0.1","S1",null,"true","1","0.1","S1",null] | +| ["true","1","0.1","S1",null,"true","1","0.1","S1",null] | +| [null,"S1","0.1","1","true",null,"S1","0.1","1","true"] | +| [null,"S1","0.1","1","true",null,"S1","0.1","1","true"] | ++---------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[6]' RETURNING varchar array), json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| ["true","1","0.1","S1",null,"true","1","0.1","S1",null] | +| ["true","1","0.1","S1",null,"true","1","0.1","S1",null] | +| [null,"S1","0.1","1","true",null,"S1","0.1","1","true"] | +| [null,"S1","0.1","1","true",null,"S1","0.1","1","true"] | ++---------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[7][6]' RETURNING varchar array), json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++---------------------------------------------------------+ +| col | ++---------------------------------------------------------+ +| ["true","1","0.1","S1",null,"true","1","0.1","S1",null] | +| ["true","1","0.1","S1",null,"true","1","0.1","S1",null] | +| [null,"S1","0.1","1","true",null,"S1","0.1","1","true"] | +| [null,"S1","0.1","1","true",null,"S1","0.1","1","true"] | ++---------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(a_nested, a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[7]' RETURNING varchar array), json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B12_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_concat(json_value(a_nested, '$[7][7]' RETURNING varchar array), json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(a_bool, 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| ["1","0"] | +| ["1","0"] | +| [null,"0"] | +| [null,"0"] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[0]' RETURNING boolean array), 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| ["1","0"] | +| ["1","0"] | +| [null,"0"] | +| [null,"0"] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[7][0]' RETURNING boolean array), 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| ["1","0"] | +| ["1","0"] | +| [null,"0"] | +| [null,"0"] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(a_int, 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| ["1","2"] | +| ["1","2"] | +| [null,"2"] | +| [null,"2"] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[1]' RETURNING bigint array), 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| ["1","2"] | +| ["1","2"] | +| [null,"2"] | +| [null,"2"] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[7][1]' RETURNING bigint array), 0, 2) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| ["1","2"] | +| ["1","2"] | +| [null,"2"] | +| [null,"2"] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(a_float, 0, 2) AS col +FROM test_array; ++---------------+ +| col | ++---------------+ +| ["0.1","0.2"] | +| ["0.1","0.2"] | +| [null,"0.2"] | +| [null,"0.2"] | ++---------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[2]' RETURNING decimal array), 0, 2) AS col +FROM test_array; ++---------------+ +| col | ++---------------+ +| ["0.1","0.2"] | +| ["0.1","0.2"] | +| [null,"0.2"] | +| [null,"0.2"] | ++---------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[7][2]' RETURNING decimal array), 0, 2) AS col +FROM test_array; ++---------------+ +| col | ++---------------+ +| ["0.1","0.2"] | +| ["0.1","0.2"] | +| [null,"0.2"] | +| [null,"0.2"] | ++---------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(a_str, 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| ["S1","S2"] | +| ["S1","S2"] | +| [null,"S2"] | +| [null,"S2"] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[3]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| ["S1","S2"] | +| ["S1","S2"] | +| [null,"S2"] | +| [null,"S2"] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[7][3]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| ["S1","S2"] | +| ["S1","S2"] | +| [null,"S2"] | +| [null,"S2"] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(a_null, 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| [null,null] | +| [null,null] | +| [null,null] | +| [null,null] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[4]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| [null,null] | +| [null,null] | +| [null,null] | +| [null,null] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[7][4]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| [null,null] | +| [null,null] | +| [null,null] | +| [null,null] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(a_empty, 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| [null,null] | +| [null,null] | +| [null,null] | +| [null,null] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[5]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| [null,null] | +| [null,null] | +| [null,null] | +| [null,null] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[7][5]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-------------+ +| col | ++-------------+ +| [null,null] | +| [null,null] | +| [null,null] | +| [null,null] | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(a_mixed, 0, 2) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| ["true","1"] | +| ["true","1"] | +| [null,"S1"] | +| [null,"S1"] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[6]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| ["true","1"] | +| ["true","1"] | +| [null,"S1"] | +| [null,"S1"] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[7][6]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| ["true","1"] | +| ["true","1"] | +| [null,"S1"] | +| [null,"S1"] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(a_nested, 0, 2) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[7]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B13_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_slice(json_value(a_nested, '$[7][7]' RETURNING varchar array), 0, 2) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(a_bool, '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|0|null | +| 1|0|null | +| null|0|1 | +| null|0|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[0]' RETURNING boolean array), '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|0|null | +| 1|0|null | +| null|0|1 | +| null|0|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[7][0]' RETURNING boolean array), '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|0|null | +| 1|0|null | +| null|0|1 | +| null|0|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(a_int, '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|2|null | +| 1|2|null | +| null|2|1 | +| null|2|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[1]' RETURNING bigint array), '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|2|null | +| 1|2|null | +| null|2|1 | +| null|2|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[7][1]' RETURNING bigint array), '|') AS col +FROM test_array; ++----------+ +| col | ++----------+ +| 1|2|null | +| 1|2|null | +| null|2|1 | +| null|2|1 | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(a_float, '|') AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| 0.1|0.2|null | +| 0.1|0.2|null | +| null|0.2|0.1 | +| null|0.2|0.1 | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[2]' RETURNING decimal array), '|') AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| 0.1|0.2|null | +| 0.1|0.2|null | +| null|0.2|0.1 | +| null|0.2|0.1 | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[7][2]' RETURNING decimal array), '|') AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| 0.1|0.2|null | +| 0.1|0.2|null | +| null|0.2|0.1 | +| null|0.2|0.1 | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(a_str, '|') AS col +FROM test_array; ++------------+ +| col | ++------------+ +| S1|S2|null | +| S1|S2|null | +| null|S2|S1 | +| null|S2|S1 | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[3]' RETURNING varchar array), '|') AS col +FROM test_array; ++------------+ +| col | ++------------+ +| S1|S2|null | +| S1|S2|null | +| null|S2|S1 | +| null|S2|S1 | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[7][3]' RETURNING varchar array), '|') AS col +FROM test_array; ++------------+ +| col | ++------------+ +| S1|S2|null | +| S1|S2|null | +| null|S2|S1 | +| null|S2|S1 | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(a_null, '|') AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| null|null|null | +| null|null|null | +| null|null|null | +| null|null|null | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[4]' RETURNING varchar array), '|') AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| null|null|null | +| null|null|null | +| null|null|null | +| null|null|null | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[7][4]' RETURNING varchar array), '|') AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| null|null|null | +| null|null|null | +| null|null|null | +| null|null|null | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(a_empty, '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[5]' RETURNING varchar array), '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[7][5]' RETURNING varchar array), '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(a_mixed, '|') AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| null|S1|0.1|1|true | +| null|S1|0.1|1|true | +| true|1|0.1|S1|null | +| true|1|0.1|S1|null | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[6]' RETURNING varchar array), '|') AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| null|S1|0.1|1|true | +| null|S1|0.1|1|true | +| true|1|0.1|S1|null | +| true|1|0.1|S1|null | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[7][6]' RETURNING varchar array), '|') AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| null|S1|0.1|1|true | +| null|S1|0.1|1|true | +| true|1|0.1|S1|null | +| true|1|0.1|S1|null | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(a_nested, '|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[7]' RETURNING varchar array), '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B14_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_string(json_value(a_nested, '$[7][7]' RETURNING varchar array), '|') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C0_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv('true|1|0.1|S1|null', '\|') AS col +FROM test_array; ++--------------------------------+ +| col | ++--------------------------------+ +| ["true","1","0.1","S1","null"] | +| ["true","1","0.1","S1","null"] | +| ["true","1","0.1","S1","null"] | +| ["true","1","0.1","S1","null"] | ++--------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(a_bool, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[0]' RETURNING boolean array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[7][0]' RETURNING boolean array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(a_int, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[1]' RETURNING bigint array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[7][1]' RETURNING bigint array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(a_float, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[2]' RETURNING decimal array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[7][2]' RETURNING decimal array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(a_str, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[3]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[7][3]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(a_null, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[4]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[7][4]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(a_empty, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[5]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[7][5]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(a_mixed, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[6]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[7][6]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(a_nested, '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[7]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B15_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT string_to_mv(json_value(a_nested, '$[7][7]' RETURNING varchar array), '\|') AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(a_bool) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(a_int) AS col +FROM test_array; ++--------------+ +| col | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(a_float) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(a_str) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(a_null) AS col +FROM test_array; ++--------------------+ +| col | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(a_mixed) AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(a_nested) AS col +FROM test_array; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_mv_funcs TEST_ID: A1_B16_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT mv_to_array(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; +should be an identifier expression. Use array() instead +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(a_bool, '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[0]' RETURNING boolean array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[7][0]' RETURNING boolean array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(a_int, '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[1]' RETURNING bigint array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[7][1]' RETURNING bigint array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(a_float, '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[2]' RETURNING decimal array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[7][2]' RETURNING decimal array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(a_str, '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[3]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[7][3]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(a_null, '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[4]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[7][4]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----------+ +| col | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | +| [0, 1, 2] | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(a_empty, '$.') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[5]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[7][5]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(a_mixed, '$.') AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [0, 1, 2, 3, 4] | +| [0, 1, 2, 3, 4] | +| [0, 1, 2, 3, 4] | +| [0, 1, 2, 3, 4] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[6]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [0, 1, 2, 3, 4] | +| [0, 1, 2, 3, 4] | +| [0, 1, 2, 3, 4] | +| [0, 1, 2, 3, 4] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[7][6]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----------------+ +| col | ++-----------------+ +| [0, 1, 2, 3, 4] | +| [0, 1, 2, 3, 4] | +| [0, 1, 2, 3, 4] | +| [0, 1, 2, 3, 4] | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C22_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(a_nested, '$.') AS col +FROM test_array; ++--------------------------+ +| col | ++--------------------------+ +| [0, 1, 2, 3, 4, 5, 6, 7] | +| [0, 1, 2, 3, 4, 5, 6, 7] | +| [0, 1, 2, 3, 4, 5, 6, 7] | +| [0, 1, 2, 3, 4, 5, 6, 7] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[7]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B1_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(json_value(a_nested, '$[7][7]' RETURNING varchar array), '$.') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value a_bool) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| {"k":[1,0,null]} | +| {"k":[1,0,null]} | +| {"k":[null,0,1]} | +| {"k":[null,0,1]} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| {"k":[1,0,null]} | +| {"k":[1,0,null]} | +| {"k":[null,0,1]} | +| {"k":[null,0,1]} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| {"k":[1,0,null]} | +| {"k":[1,0,null]} | +| {"k":[null,0,1]} | +| {"k":[null,0,1]} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value a_int) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| {"k":[1,2,null]} | +| {"k":[1,2,null]} | +| {"k":[null,2,1]} | +| {"k":[null,2,1]} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| {"k":[1,2,null]} | +| {"k":[1,2,null]} | +| {"k":[null,2,1]} | +| {"k":[null,2,1]} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| {"k":[1,2,null]} | +| {"k":[1,2,null]} | +| {"k":[null,2,1]} | +| {"k":[null,2,1]} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value a_float) AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| {"k":[0.1,0.2,null]} | +| {"k":[0.1,0.2,null]} | +| {"k":[null,0.2,0.1]} | +| {"k":[null,0.2,0.1]} | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| {"k":[0.1,0.2,null]} | +| {"k":[0.1,0.2,null]} | +| {"k":[null,0.2,0.1]} | +| {"k":[null,0.2,0.1]} | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++----------------------+ +| col | ++----------------------+ +| {"k":[0.1,0.2,null]} | +| {"k":[0.1,0.2,null]} | +| {"k":[null,0.2,0.1]} | +| {"k":[null,0.2,0.1]} | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value a_str) AS col +FROM test_array; ++------------------------+ +| col | ++------------------------+ +| {"k":["S1","S2",null]} | +| {"k":["S1","S2",null]} | +| {"k":[null,"S2","S1"]} | +| {"k":[null,"S2","S1"]} | ++------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------+ +| col | ++------------------------+ +| {"k":["S1","S2",null]} | +| {"k":["S1","S2",null]} | +| {"k":[null,"S2","S1"]} | +| {"k":[null,"S2","S1"]} | ++------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------+ +| col | ++------------------------+ +| {"k":["S1","S2",null]} | +| {"k":["S1","S2",null]} | +| {"k":[null,"S2","S1"]} | +| {"k":[null,"S2","S1"]} | ++------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value a_null) AS col +FROM test_array; ++------------------------+ +| col | ++------------------------+ +| {"k":[null,null,null]} | +| {"k":[null,null,null]} | +| {"k":[null,null,null]} | +| {"k":[null,null,null]} | ++------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------+ +| col | ++------------------------+ +| {"k":[null,null,null]} | +| {"k":[null,null,null]} | +| {"k":[null,null,null]} | +| {"k":[null,null,null]} | ++------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------+ +| col | ++------------------------+ +| {"k":[null,null,null]} | +| {"k":[null,null,null]} | +| {"k":[null,null,null]} | +| {"k":[null,null,null]} | ++------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value a_empty) AS col +FROM test_array; ++----------+ +| col | ++----------+ +| {"k":[]} | +| {"k":[]} | +| {"k":[]} | +| {"k":[]} | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++----------+ +| col | ++----------+ +| {"k":[]} | +| {"k":[]} | +| {"k":[]} | +| {"k":[]} | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++----------+ +| col | ++----------+ +| {"k":[]} | +| {"k":[]} | +| {"k":[]} | +| {"k":[]} | ++----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value a_mixed) AS col +FROM test_array; ++------------------------------------+ +| col | ++------------------------------------+ +| {"k":["true","1","0.1","S1",null]} | +| {"k":["true","1","0.1","S1",null]} | +| {"k":[null,"S1","0.1","1","true"]} | +| {"k":[null,"S1","0.1","1","true"]} | ++------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------------------+ +| col | ++------------------------------------+ +| {"k":["true","1","0.1","S1",null]} | +| {"k":["true","1","0.1","S1",null]} | +| {"k":[null,"S1","0.1","1","true"]} | +| {"k":[null,"S1","0.1","1","true"]} | ++------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------------------+ +| col | ++------------------------------------+ +| {"k":["true","1","0.1","S1",null]} | +| {"k":["true","1","0.1","S1",null]} | +| {"k":[null,"S1","0.1","1","true"]} | +| {"k":[null,"S1","0.1","1","true"]} | ++------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C22_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value a_nested) AS col +FROM test_array; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"k":[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]]} | +| {"k":[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]]} | +| {"k":[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]]} | +| {"k":[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]]} | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| {"k":null} | +| {"k":null} | +| {"k":null} | +| {"k":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B2_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'k' value json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| {"k":null} | +| {"k":null} | +| {"k":null} | +| {"k":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(a_bool) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(a_int) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(a_float) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(a_str) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(a_null) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(a_mixed) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C22_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(a_nested) AS col +FROM test_array; ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$[2], $[7][6], $[7][7][3], $[3], $[7][7][2], $[4], $[7][7][5], $[5], $[7][7][4], $[6], $[7][7][6], $[7][0], $[7][1], $[7][2], $[7][3], $[0], $[7][4], $[7][7][1], $[1], $[7][5], $[7][7][0]] | +| [$[2], $[7][6], $[7][7][3], $[3], $[7][7][2], $[4], $[7][7][5], $[5], $[7][7][4], $[6], $[7][7][6], $[7][0], $[7][1], $[7][2], $[7][3], $[0], $[7][4], $[7][7][1], $[1], $[7][5], $[7][7][0]] | +| [$[2], $[7][6], $[7][7][3], $[3], $[7][7][2], $[4], $[7][7][5], $[5], $[7][7][4], $[6], $[7][7][6], $[7][0], $[7][1], $[7][2], $[7][3], $[0], $[7][4], $[7][7][1], $[1], $[7][5], $[7][7][0]] | +| [$[2], $[7][6], $[7][7][3], $[3], $[7][7][2], $[4], $[7][7][5], $[5], $[7][7][4], $[6], $[7][7][6], $[7][0], $[7][1], $[7][2], $[7][3], $[0], $[7][4], $[7][7][1], $[1], $[7][5], $[7][7][0]] | ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B3_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_bool, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[0]' RETURNING boolean array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[7][0]' RETURNING boolean array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_int, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[1]' RETURNING bigint array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[7][1]' RETURNING bigint array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_float, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[2]' RETURNING decimal array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[7][2]' RETURNING decimal array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_str, '$[0]') AS col +FROM test_array; ++------+ +| col | ++------+ +| "S1" | +| "S1" | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[3]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++------+ +| col | ++------+ +| "S1" | +| "S1" | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[7][3]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++------+ +| col | ++------+ +| "S1" | +| "S1" | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_null, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[4]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[7][4]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_empty, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[5]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[7][5]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_mixed, '$[0]') AS col +FROM test_array; ++--------+ +| col | ++--------+ +| "true" | +| "true" | +| | +| | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[6]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++--------+ +| col | ++--------+ +| "true" | +| "true" | +| | +| | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[7][6]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++--------+ +| col | ++--------+ +| "true" | +| "true" | +| | +| | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C22_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[0]') AS col +FROM test_array; ++-------------------+ +| col | ++-------------------+ +| [null,false,true] | +| [null,false,true] | +| [true,false,null] | +| [true,false,null] | ++-------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[7]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B4_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(json_value(a_nested, '$[7][7]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_bool, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[0]' RETURNING boolean array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[7][0]' RETURNING boolean array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_int, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[1]' RETURNING bigint array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[7][1]' RETURNING bigint array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 1 | +| 1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_float, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[2]' RETURNING decimal array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[7][2]' RETURNING decimal array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_str, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[3]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[7][3]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| S1 | +| S1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_null, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[4]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[7][4]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_empty, '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[5]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[7][5]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_mixed, '$[0]') AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[6]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[7][6]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++------+ +| col | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[7]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B5_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_value(a_nested, '$[7][7]' RETURNING varchar array), '$[0]') AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING parse_json(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING parse_json(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING parse_json(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING parse_json(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING parse_json(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING parse_json(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING parse_json(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B6_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING parse_json(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C1_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(a_bool) AS col +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C2_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[0]' RETURNING boolean array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C3_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][0]' RETURNING boolean array) +HAVING try_parse_json(json_value(a_nested, '$[7][0]' RETURNING boolean array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C4_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(a_int) AS col +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C5_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C6_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING try_parse_json(json_value(a_nested, '$[7][1]' RETURNING bigint array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C7_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(a_float) AS col +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C8_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C9_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING try_parse_json(json_value(a_nested, '$[7][2]' RETURNING decimal array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C10_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(a_str) AS col +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C11_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C12_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING try_parse_json(json_value(a_nested, '$[7][3]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C13_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(a_null) AS col +FROM test_array +WHERE a_null<>ARRAY[NULL, + NULL, + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C14_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C15_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING try_parse_json(json_value(a_nested, '$[7][4]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C16_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(a_empty) AS col +FROM test_array +WHERE a_empty<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C17_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C18_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING try_parse_json(json_value(a_nested, '$[7][5]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C19_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(a_mixed) AS col +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C20_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C21_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING try_parse_json(json_value(a_nested, '$[7][6]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C22_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(a_nested) AS col +FROM test_array +WHERE a_nested<>ARRAY['FILLER']; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C23_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7]' RETURNING varchar array); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B7_C24_D1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array +GROUP BY json_value(a_nested, '$[7][7]' RETURNING varchar array) +HAVING try_parse_json(json_value(a_nested, '$[7][7]' RETURNING varchar array)) IS NOT NULL; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C1_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(a_bool) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [1,0,null] | +| [1,0,null] | +| [null,0,1] | +| [null,0,1] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C2_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[0]' RETURNING boolean array)) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [1,0,null] | +| [1,0,null] | +| [null,0,1] | +| [null,0,1] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C3_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[7][0]' RETURNING boolean array)) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [1,0,null] | +| [1,0,null] | +| [null,0,1] | +| [null,0,1] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C4_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(a_int) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [1,2,null] | +| [1,2,null] | +| [null,2,1] | +| [null,2,1] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C5_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[1]' RETURNING bigint array)) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [1,2,null] | +| [1,2,null] | +| [null,2,1] | +| [null,2,1] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C6_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[7][1]' RETURNING bigint array)) AS col +FROM test_array; ++------------+ +| col | ++------------+ +| [1,2,null] | +| [1,2,null] | +| [null,2,1] | +| [null,2,1] | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C7_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(a_float) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [0.1,0.2,null] | +| [0.1,0.2,null] | +| [null,0.2,0.1] | +| [null,0.2,0.1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C8_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[2]' RETURNING decimal array)) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [0.1,0.2,null] | +| [0.1,0.2,null] | +| [null,0.2,0.1] | +| [null,0.2,0.1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C9_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[7][2]' RETURNING decimal array)) AS col +FROM test_array; ++----------------+ +| col | ++----------------+ +| [0.1,0.2,null] | +| [0.1,0.2,null] | +| [null,0.2,0.1] | +| [null,0.2,0.1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C10_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(a_str) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| ["S1","S2",null] | +| ["S1","S2",null] | +| [null,"S2","S1"] | +| [null,"S2","S1"] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C11_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[3]' RETURNING varchar array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| ["S1","S2",null] | +| ["S1","S2",null] | +| [null,"S2","S1"] | +| [null,"S2","S1"] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C12_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[7][3]' RETURNING varchar array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| ["S1","S2",null] | +| ["S1","S2",null] | +| [null,"S2","S1"] | +| [null,"S2","S1"] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C13_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(a_null) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C14_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[4]' RETURNING varchar array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C15_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[7][4]' RETURNING varchar array)) AS col +FROM test_array; ++------------------+ +| col | ++------------------+ +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | +| [null,null,null] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C16_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(a_empty) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C17_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C18_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[7][5]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| [] | +| [] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C19_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(a_mixed) AS col +FROM test_array; ++------------------------------+ +| col | ++------------------------------+ +| ["true","1","0.1","S1",null] | +| ["true","1","0.1","S1",null] | +| [null,"S1","0.1","1","true"] | +| [null,"S1","0.1","1","true"] | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C20_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[6]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------------+ +| col | ++------------------------------+ +| ["true","1","0.1","S1",null] | +| ["true","1","0.1","S1",null] | +| [null,"S1","0.1","1","true"] | +| [null,"S1","0.1","1","true"] | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C21_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[7][6]' RETURNING varchar array)) AS col +FROM test_array; ++------------------------------+ +| col | ++------------------------------+ +| ["true","1","0.1","S1",null] | +| ["true","1","0.1","S1",null] | +| [null,"S1","0.1","1","true"] | +| [null,"S1","0.1","1","true"] | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C22_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(a_nested) AS col +FROM test_array; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| col | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C23_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_json_funcs TEST_ID: A1_B8_C24_D1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(a_nested, '$[7][7]' RETURNING varchar array)) AS col +FROM test_array; ++-----+ +| col | ++-----+ +| | +| | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# Total query count 3599 Positive tests: 1104 Negative tests: 2495 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaArray_sql.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaArray_sql.iq new file mode 100644 index 000000000000..c7b0f1ecae85 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaArray_sql.iq @@ -0,0 +1,62751 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaArray/sql&numMergeBuffers=3 +!set outputformat mysql +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A1_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT a_bool +FROM test_array; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "resultFormat" : "compactedList", + "columns" : [ "a_bool" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A4_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT a_int +FROM test_array; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "resultFormat" : "compactedList", + "columns" : [ "a_int" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A5_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) +FROM test_array; ++--------------+ +| EXPR$0 | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 1 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A6_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) +FROM test_array; ++--------------+ +| EXPR$0 | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 7 + }, { + "type" : "arrayElement", + "index" : 1 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A7_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT a_float +FROM test_array; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "resultFormat" : "compactedList", + "columns" : [ "a_float" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A8_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) +FROM test_array; ++------------------+ +| EXPR$0 | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 2 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A9_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) +FROM test_array; ++------------------+ +| EXPR$0 | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 7 + }, { + "type" : "arrayElement", + "index" : 2 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A10_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT a_str +FROM test_array; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "resultFormat" : "compactedList", + "columns" : [ "a_str" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A11_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) +FROM test_array; ++----------------+ +| EXPR$0 | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 3 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A12_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) +FROM test_array; ++----------------+ +| EXPR$0 | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 7 + }, { + "type" : "arrayElement", + "index" : 3 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A13_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT a_null +FROM test_array; ++--------------------+ +| a_null | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "resultFormat" : "compactedList", + "columns" : [ "a_null" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A14_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) +FROM test_array; ++--------------------+ +| EXPR$0 | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 4 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A15_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) +FROM test_array; ++--------------------+ +| EXPR$0 | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 7 + }, { + "type" : "arrayElement", + "index" : 4 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A16_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT a_empty +FROM test_array; ++---------+ +| a_empty | ++---------+ +| [] | +| [] | +| [] | +| [] | ++---------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "resultFormat" : "compactedList", + "columns" : [ "a_empty" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A17_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) +FROM test_array; ++--------+ +| EXPR$0 | ++--------+ +| [] | +| [] | +| [] | +| [] | ++--------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 5 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A18_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) +FROM test_array; ++--------+ +| EXPR$0 | ++--------+ +| [] | +| [] | +| [] | +| [] | ++--------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 7 + }, { + "type" : "arrayElement", + "index" : 5 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A19_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT a_mixed +FROM test_array; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "resultFormat" : "compactedList", + "columns" : [ "a_mixed" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A20_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) +FROM test_array; ++--------------------------+ +| EXPR$0 | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 6 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A21_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) +FROM test_array; ++--------------------------+ +| EXPR$0 | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 7 + }, { + "type" : "arrayElement", + "index" : 6 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A22_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT a_nested +FROM test_array; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "resultFormat" : "compactedList", + "columns" : [ "a_nested" ], + "columnTypes" : [ "COMPLEX" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A23_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[7]' RETURNING varchar array) +FROM test_array; ++--------+ +| EXPR$0 | ++--------+ +| | +| | +| | +| | ++--------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 7 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_explain TEST_ID: A24_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(a_nested, '$[7][7]' RETURNING varchar array) +FROM test_array; ++--------+ +| EXPR$0 | ++--------+ +| | +| | +| | +| | ++--------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_array" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "a_nested", + "outputName" : "v0", + "expectedType" : "ARRAY", + "pathParts" : [ { + "type" : "arrayElement", + "index" : 7 + }, { + "type" : "arrayElement", + "index" : 7 + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A1_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A1_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(a_bool) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A1_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_bool) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A2_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A2_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(a_int) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A2_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_int) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A3_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A3_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(a_float) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A3_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_float) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A4_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A4_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(a_str) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A4_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_str) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A5_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A5_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(a_null) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A5_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_null) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A6_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A6_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(a_empty) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A6_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_empty) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A7_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A7_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(a_mixed) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A7_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_mixed) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A8_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A8_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(a_nested) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_count TEST_ID: A8_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(DISTINCT a_nested) cnt +FROM test_array; ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A1_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT a_bool +FROM test_array; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A1_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT a_bool + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A4_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT a_int +FROM test_array; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A4_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT a_int + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A5_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[1]' RETURNING bigint array) +FROM test_array; ++--------------+ +| EXPR$0 | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A5_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[1]' RETURNING bigint array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A6_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[7][1]' RETURNING bigint array) +FROM test_array; ++--------------+ +| EXPR$0 | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A6_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[7][1]' RETURNING bigint array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A7_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT a_float +FROM test_array; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A7_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT a_float + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A8_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[2]' RETURNING decimal array) +FROM test_array; ++------------------+ +| EXPR$0 | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A8_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[2]' RETURNING decimal array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A9_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[7][2]' RETURNING decimal array) +FROM test_array; ++------------------+ +| EXPR$0 | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A9_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[7][2]' RETURNING decimal array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A10_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT a_str +FROM test_array; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A10_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT a_str + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A11_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[3]' RETURNING varchar array) +FROM test_array; ++----------------+ +| EXPR$0 | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A11_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[3]' RETURNING varchar array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A12_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[7][3]' RETURNING varchar array) +FROM test_array; ++----------------+ +| EXPR$0 | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A12_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[7][3]' RETURNING varchar array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A13_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT a_null +FROM test_array; ++--------------------+ +| a_null | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A13_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT a_null + FROM test_array); ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A14_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[4]' RETURNING varchar array) +FROM test_array; ++--------------------+ +| EXPR$0 | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A14_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[4]' RETURNING varchar array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A15_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[7][4]' RETURNING varchar array) +FROM test_array; ++--------------------+ +| EXPR$0 | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A15_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[7][4]' RETURNING varchar array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A16_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT a_empty +FROM test_array; ++---------+ +| a_empty | ++---------+ +| [] | ++---------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A16_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT a_empty + FROM test_array); ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A17_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[5]' RETURNING varchar array) +FROM test_array; ++--------+ +| EXPR$0 | ++--------+ +| [] | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A17_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[5]' RETURNING varchar array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A18_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[7][5]' RETURNING varchar array) +FROM test_array; ++--------+ +| EXPR$0 | ++--------+ +| [] | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A18_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[7][5]' RETURNING varchar array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 1 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A19_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT a_mixed +FROM test_array; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A19_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT a_mixed + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A20_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[6]' RETURNING varchar array) +FROM test_array; ++--------------------------+ +| EXPR$0 | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A20_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[6]' RETURNING varchar array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A21_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(a_nested, '$[7][6]' RETURNING varchar array) +FROM test_array; ++--------------------------+ +| EXPR$0 | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A21_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_value(a_nested, '$[7][6]' RETURNING varchar array) + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A22_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT a_nested +FROM test_array; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A22_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT a_nested + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A23_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_query(a_nested, '$[7]') +FROM test_array; ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A23_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_query(a_nested, '$[7]') + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A24_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_query(a_nested, '$[7][7]') +FROM test_array; ++-----------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++-----------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | ++-----------------------------------------------------------------------------------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_select_distinct TEST_ID: A24_B2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) cnt +FROM + (SELECT DISTINCT json_query(a_nested, '$[7][7]') + FROM test_array); ++-----+ +| cnt | ++-----+ +| 2 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_bool=a_int; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_bool=a_int +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_int); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_int) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_int; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_int +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_int) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_int) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_bool=a_int; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B1_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_bool=a_int +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_bool=a_float; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_bool=a_float +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_float); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_float) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_float; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_float +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_float) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_float) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_bool=a_float; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B2_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_bool=a_float +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_bool=a_str; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_bool=a_str +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_str); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_str) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_str; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_str +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_str) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_str) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_bool=a_str; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B3_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_bool=a_str +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_bool=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_bool=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_null); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_null) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_null) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_null) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_bool=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B4_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_bool=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_bool=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_bool=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_empty); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_empty) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_empty) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_empty) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_bool=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B5_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_bool=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_bool=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_bool=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_mixed); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_mixed) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_mixed) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_mixed) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_bool=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B6_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_bool=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_bool=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_bool=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=a_nested) +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_nested) +SELECT a_int +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=a_nested) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_bool=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B7_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_bool=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int=a_float; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int=a_float +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int=a_float); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int=a_float) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_float; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_float +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_float) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_float) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int=a_float; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B8_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int=a_float +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int=a_str; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int=a_str +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int=a_str); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int=a_str) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_str; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_str +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_str) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_str) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int=a_str; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B9_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int=a_str +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int=a_null); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int=a_null) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_null) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_null) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B10_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int=a_empty); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int=a_empty) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_empty) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_empty) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B11_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int=a_mixed); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int=a_mixed) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_mixed) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_mixed) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B12_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int=a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int=a_nested) +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_nested) +SELECT a_int +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int=a_nested) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B13_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_float=a_str; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_float=a_str +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_float=a_str); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float=a_str) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_str; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_str +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_str) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_str) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_float=a_str; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B14_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_float=a_str +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_float=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_float=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_float=a_null); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float=a_null) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_null) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_null) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_float=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B15_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_float=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_float=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_float=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_float=a_empty); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float=a_empty) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_empty) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_empty) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_float=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B16_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_float=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_float=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_float=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_float=a_mixed); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float=a_mixed) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_mixed) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_mixed) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_float=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B17_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_float=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_float=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_float=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_float=a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float=a_nested) +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_nested) +SELECT a_int +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float=a_nested) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_float=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B18_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_float=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_str=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_str=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_str=a_null); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str=a_null) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_str=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str=a_null) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str=a_null) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_str=a_null; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B19_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_str=a_null +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_str=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_str=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_str=a_empty); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str=a_empty) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_str=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str=a_empty) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str=a_empty) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_str=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B20_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_str=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_str=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_str=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_str=a_mixed); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str=a_mixed) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_str=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str=a_mixed) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str=a_mixed) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_str=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B21_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_str=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_str=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_str=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_str=a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str=a_nested) +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_str=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str=a_nested) +SELECT a_int +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str=a_nested) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_str=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B22_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_str=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_null=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_null=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_null=a_empty); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_null=a_empty) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_null=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_null=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_null=a_empty) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_null=a_empty) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_null=a_empty; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B23_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_null=a_empty +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_null=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_null=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_null=a_mixed); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_null=a_mixed) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_null=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_null=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_null=a_mixed) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_null=a_mixed) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_null=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B24_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_null=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_null=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_null=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_null=a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_null=a_nested) +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_null=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_null=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_null=a_nested) +SELECT a_int +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_null=a_nested) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_null=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B25_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_null=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_empty=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_empty=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_empty=a_mixed); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_empty=a_mixed) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_empty=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_empty=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_empty=a_mixed) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_empty=a_mixed) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_empty=a_mixed; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B26_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_empty=a_mixed +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_empty=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_empty=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_empty=a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_empty=a_nested) +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_empty=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_empty=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_empty=a_nested) +SELECT a_int +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_empty=a_nested) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_empty=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B27_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_empty=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_mixed=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_mixed=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_mixed=a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed=a_nested) +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_mixed=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed=a_nested) +SELECT a_int +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed=a_nested) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_mixed=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A0_B28_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_mixed=a_nested +GROUP BY a_int; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool=ARRAY[1, + 0]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool=ARRAY[1, + 0] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 0]); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 0]) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool=ARRAY[1, + 0]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=ARRAY[1, + 0] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 0]) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 0]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool=ARRAY[1, + 0]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B1_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool=ARRAY[1, + 0] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool=ARRAY[1, + 0, + NULL]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool=ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 0, + NULL]); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 0, + NULL]) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool=ARRAY[1, + 0, + NULL]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 0, + NULL]) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 0, + NULL]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool=ARRAY[1, + 0, + NULL]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B2_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool=ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool=ARRAY[1, + 2, + 3]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool=ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 2, + 3]); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 2, + 3]) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool=ARRAY[1, + 2, + 3]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 2, + 3]) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=ARRAY[1, + 2, + 3]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool=ARRAY[1, + 2, + 3]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B3_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool=ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array)); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array)) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array)) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B4_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array)); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B5_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool<>ARRAY[1, + 0]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool<>ARRAY[1, + 0] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 0]); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 0]) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>ARRAY[1, + 0]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>ARRAY[1, + 0] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 0]) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 0]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool<>ARRAY[1, + 0]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B6_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool<>ARRAY[1, + 0] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL]; ++--------------+ +| a_bool | ++--------------+ +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool<>ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [null, 0, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 0, + NULL]); ++--------------+ +| a_bool | ++--------------+ +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 0, + NULL]) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [null, 0, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>ARRAY[1, + 0, + NULL]; ++--------------+ +| a_bool | ++--------------+ +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [null, 0, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 0, + NULL]) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 0, + NULL]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [null, 0, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool<>ARRAY[1, + 0, + NULL]; ++--------------+ +| a_bool | ++--------------+ +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B7_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool<>ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [null, 0, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool<>ARRAY[1, + 2, + 3]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool<>ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 2, + 3]); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 2, + 3]) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>ARRAY[1, + 2, + 3]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 2, + 3]) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>ARRAY[1, + 2, + 3]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool<>ARRAY[1, + 2, + 3]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B8_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool<>ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array)); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array)) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array)) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B9_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool<>json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B10_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>ARRAY[1, + 0]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>ARRAY[1, + 0] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 0]); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 0]) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>ARRAY[1, + 0]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>ARRAY[1, + 0] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 0]) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 0]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>ARRAY[1, + 0]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B11_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>ARRAY[1, + 0] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>ARRAY[1, + 0, + NULL]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 0, + NULL]); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 0, + NULL]) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>ARRAY[1, + 0, + NULL]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 0, + NULL]) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 0, + NULL]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>ARRAY[1, + 0, + NULL]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B12_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>ARRAY[1, + 2, + 3]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 2, + 3]); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 2, + 3]) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>ARRAY[1, + 2, + 3]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 2, + 3]) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>ARRAY[1, + 2, + 3]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>ARRAY[1, + 2, + 3]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B13_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array)); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array)) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array)) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B14_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array)); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B15_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>=ARRAY[1, + 0]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>=ARRAY[1, + 0] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 0]); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 0]) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=ARRAY[1, + 0]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=ARRAY[1, + 0] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 0]) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 0]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>=ARRAY[1, + 0]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B16_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>=ARRAY[1, + 0] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>=ARRAY[1, + 0, + NULL]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>=ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 0, + NULL]); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 0, + NULL]) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=ARRAY[1, + 0, + NULL]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 0, + NULL]) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 0, + NULL]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>=ARRAY[1, + 0, + NULL]; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B17_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>=ARRAY[1, + 0, + NULL] +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>=ARRAY[1, + 2, + 3]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>=ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 2, + 3]); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 2, + 3]) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=ARRAY[1, + 2, + 3]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 2, + 3]) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=ARRAY[1, + 2, + 3]) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>=ARRAY[1, + 2, + 3]; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B18_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>=ARRAY[1, + 2, + 3] +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array)); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array)) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array)) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B19_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>=json_value(a_nested, '$[0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B20_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B21_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B31_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B31_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array))); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B31_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array))) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B31_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B31_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B31_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array))) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B31_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array))) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B31_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B31_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array) + AND NOT (a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + AND a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array)) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B32_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE NOT (a_bool<=json_value(a_nested, '$[0]' RETURNING boolean array)) + OR NOT (a_bool>=json_value(a_nested, '$[7][0]' RETURNING boolean array)) + OR a_bool=json_value(a_nested, '$[0]' RETURNING boolean array) + OR a_bool<>json_value(a_nested, '$[7][0]' RETURNING boolean array) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool IS NULL; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool IS NULL +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool IS NULL); ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool IS NULL) +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool IS NULL; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool IS NULL +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool IS NULL) +SELECT a_bool +FROM t1; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool IS NULL) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool IS NULL; ++--------+ +| a_bool | ++--------+ ++--------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B33_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool IS NULL +GROUP BY a_bool; ++--------+-----+ +| a_bool | cnt | ++--------+-----+ ++--------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE a_bool IS NOT NULL; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM test_array +WHERE a_bool IS NOT NULL +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array + WHERE a_bool IS NOT NULL); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_bool IS NOT NULL) +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array) +WHERE a_bool IS NOT NULL; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_bool IS NOT NULL +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool IS NOT NULL) +SELECT a_bool +FROM t1; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_bool IS NOT NULL) +SELECT a_bool, + count(*) cnt +FROM t1 +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool +FROM t1 +WHERE a_bool IS NOT NULL; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B34_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_bool, + count(*) cnt +FROM t1 +WHERE a_bool IS NOT NULL +GROUP BY a_bool; ++--------------+-----+ +| a_bool | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A1_B35_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM test_array +WHERE (a_boolARRAY[1, + 2]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B6_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int<>ARRAY[1, + 2] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B6_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2]); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B6_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2]) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B6_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int<>ARRAY[1, + 2]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B6_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int<>ARRAY[1, + 2] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B6_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2]) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B6_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2]) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B6_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int<>ARRAY[1, + 2]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B6_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int<>ARRAY[1, + 2] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL]; ++--------------+ +| a_int | ++--------------+ +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + NULL] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [null, 2, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2, + NULL]); ++--------------+ +| a_int | ++--------------+ +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2, + NULL]) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [null, 2, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int<>ARRAY[1, + 2, + NULL]; ++--------------+ +| a_int | ++--------------+ +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int<>ARRAY[1, + 2, + NULL] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [null, 2, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2, + NULL]) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2, + NULL]) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [null, 2, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int<>ARRAY[1, + 2, + NULL]; ++--------------+ +| a_int | ++--------------+ +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B7_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int<>ARRAY[1, + 2, + NULL] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [null, 2, 1] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + 3]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int<>ARRAY[1, + 2, + 3] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2, + 3]); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2, + 3]) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int<>ARRAY[1, + 2, + 3]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int<>ARRAY[1, + 2, + 3] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2, + 3]) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>ARRAY[1, + 2, + 3]) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int<>ARRAY[1, + 2, + 3]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B8_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int<>ARRAY[1, + 2, + 3] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array)); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array)) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array)) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array)) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B9_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int<>json_value(a_nested, '$[1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B10_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>ARRAY[1, + 2]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>ARRAY[1, + 2] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2]); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2]) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>ARRAY[1, + 2]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>ARRAY[1, + 2] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2]) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2]) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>ARRAY[1, + 2]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B11_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>ARRAY[1, + 2] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>ARRAY[1, + 2, + NULL]; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>ARRAY[1, + 2, + NULL] +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2, + NULL]); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2, + NULL]) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>ARRAY[1, + 2, + NULL]; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>ARRAY[1, + 2, + NULL] +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2, + NULL]) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2, + NULL]) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>ARRAY[1, + 2, + NULL]; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B12_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>ARRAY[1, + 2, + NULL] +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>ARRAY[1, + 2, + 3]; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>ARRAY[1, + 2, + 3] +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2, + 3]); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2, + 3]) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>ARRAY[1, + 2, + 3]; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>ARRAY[1, + 2, + 3] +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2, + 3]) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>ARRAY[1, + 2, + 3]) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>ARRAY[1, + 2, + 3]; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B13_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>ARRAY[1, + 2, + 3] +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array)); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array)) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array)) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array)) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B14_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>json_value(a_nested, '$[1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B15_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>=ARRAY[1, + 2]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>=ARRAY[1, + 2] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2]); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2]) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>=ARRAY[1, + 2]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>=ARRAY[1, + 2] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2]) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2]) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>=ARRAY[1, + 2]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B16_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>=ARRAY[1, + 2] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>=ARRAY[1, + 2, + NULL]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>=ARRAY[1, + 2, + NULL] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2, + NULL]); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2, + NULL]) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>=ARRAY[1, + 2, + NULL]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>=ARRAY[1, + 2, + NULL] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2, + NULL]) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2, + NULL]) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>=ARRAY[1, + 2, + NULL]; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | ++--------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B17_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>=ARRAY[1, + 2, + NULL] +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>=ARRAY[1, + 2, + 3]; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>=ARRAY[1, + 2, + 3] +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2, + 3]); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2, + 3]) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>=ARRAY[1, + 2, + 3]; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>=ARRAY[1, + 2, + 3] +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2, + 3]) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=ARRAY[1, + 2, + 3]) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>=ARRAY[1, + 2, + 3]; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B18_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>=ARRAY[1, + 2, + 3] +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array)); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array)) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array)) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array)) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B19_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>=json_value(a_nested, '$[1]' RETURNING bigint array) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B20_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B21_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B31_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int<=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B31_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int<=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array))); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B31_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int<=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array))) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B31_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int<=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B31_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int<=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B31_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array))) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B31_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int<=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array))) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B31_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int<=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B31_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int<=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array) + AND NOT (a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + AND a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array)) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B32_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE NOT (a_int<=json_value(a_nested, '$[1]' RETURNING bigint array)) + OR NOT (a_int>=json_value(a_nested, '$[7][1]' RETURNING bigint array)) + OR a_int=json_value(a_nested, '$[1]' RETURNING bigint array) + OR a_int<>json_value(a_nested, '$[7][1]' RETURNING bigint array) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int IS NULL; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int IS NULL +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int IS NULL); ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int IS NULL) +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int IS NULL; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int IS NULL +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int IS NULL) +SELECT a_int +FROM t1; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int IS NULL) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int IS NULL; ++-------+ +| a_int | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B33_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int IS NULL +GROUP BY a_int; ++-------+-----+ +| a_int | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE a_int IS NOT NULL; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM test_array +WHERE a_int IS NOT NULL +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array + WHERE a_int IS NOT NULL); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_int IS NOT NULL) +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array) +WHERE a_int IS NOT NULL; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_int IS NOT NULL +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int IS NOT NULL) +SELECT a_int +FROM t1; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_int IS NOT NULL) +SELECT a_int, + count(*) cnt +FROM t1 +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int +FROM t1 +WHERE a_int IS NOT NULL; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B34_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_int, + count(*) cnt +FROM t1 +WHERE a_int IS NOT NULL +GROUP BY a_int; ++--------------+-----+ +| a_int | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A2_B35_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM test_array +WHERE (a_intARRAY[0.1, + 0.2]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B6_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B6_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2]); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B6_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2]) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B6_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float<>ARRAY[0.1, + 0.2]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B6_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float<>ARRAY[0.1, + 0.2] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B6_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2]) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B6_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2]) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B6_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float<>ARRAY[0.1, + 0.2]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B6_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float<>ARRAY[0.1, + 0.2] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; ++------------------+ +| a_float | ++------------------+ +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]); ++------------------+ +| a_float | ++------------------+ +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; ++------------------+ +| a_float | ++------------------+ +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL]; ++------------------+ +| a_float | ++------------------+ +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B7_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float<>ARRAY[0.1, + 0.2, + NULL] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3]); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3]) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3]) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3]) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B8_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float<>ARRAY[0.1, + 0.2, + 0.3] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array)); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array)) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array)) +SELECT a_float +FROM t1; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array)) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B9_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float<>json_value(a_nested, '$[2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +SELECT a_float +FROM t1; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B10_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>ARRAY[0.1, + 0.2]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>ARRAY[0.1, + 0.2] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2]); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2]) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>ARRAY[0.1, + 0.2]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>ARRAY[0.1, + 0.2] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2]) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2]) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>ARRAY[0.1, + 0.2]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B11_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>ARRAY[0.1, + 0.2] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>ARRAY[0.1, + 0.2, + NULL]; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>ARRAY[0.1, + 0.2, + NULL] +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2, + NULL]); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2, + NULL]) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>ARRAY[0.1, + 0.2, + NULL]; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>ARRAY[0.1, + 0.2, + NULL] +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2, + NULL]) +SELECT a_float +FROM t1; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2, + NULL]) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>ARRAY[0.1, + 0.2, + NULL]; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B12_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>ARRAY[0.1, + 0.2, + NULL] +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>ARRAY[0.1, + 0.2, + 0.3]; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>ARRAY[0.1, + 0.2, + 0.3] +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2, + 0.3]); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2, + 0.3]) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>ARRAY[0.1, + 0.2, + 0.3]; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>ARRAY[0.1, + 0.2, + 0.3] +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2, + 0.3]) +SELECT a_float +FROM t1; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>ARRAY[0.1, + 0.2, + 0.3]) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>ARRAY[0.1, + 0.2, + 0.3]; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B13_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>ARRAY[0.1, + 0.2, + 0.3] +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array)); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array)) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array)) +SELECT a_float +FROM t1; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array)) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B14_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>json_value(a_nested, '$[2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +SELECT a_float +FROM t1; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B15_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>=ARRAY[0.1, + 0.2]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>=ARRAY[0.1, + 0.2] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2]); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2]) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>=ARRAY[0.1, + 0.2]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>=ARRAY[0.1, + 0.2] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2]) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2]) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>=ARRAY[0.1, + 0.2]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B16_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>=ARRAY[0.1, + 0.2] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>=ARRAY[0.1, + 0.2, + NULL]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>=ARRAY[0.1, + 0.2, + NULL] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2, + NULL]); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2, + NULL]) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>=ARRAY[0.1, + 0.2, + NULL]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>=ARRAY[0.1, + 0.2, + NULL] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2, + NULL]) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2, + NULL]) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>=ARRAY[0.1, + 0.2, + NULL]; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | ++------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B17_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>=ARRAY[0.1, + 0.2, + NULL] +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3]; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3] +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3]); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3]) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3]; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3] +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3]) +SELECT a_float +FROM t1; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3]) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3]; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B18_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>=ARRAY[0.1, + 0.2, + 0.3] +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array)); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array)) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array)) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array)) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B19_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>=json_value(a_nested, '$[2]' RETURNING decimal array) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B20_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B21_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B31_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float<=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B31_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float<=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array))); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B31_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float<=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array))) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B31_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float<=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B31_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float<=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B31_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array))) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B31_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float<=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array))) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B31_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float<=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B31_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float<=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array) + AND NOT (a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + AND a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array)) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B32_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE NOT (a_float<=json_value(a_nested, '$[2]' RETURNING decimal array)) + OR NOT (a_float>=json_value(a_nested, '$[7][2]' RETURNING decimal array)) + OR a_float=json_value(a_nested, '$[2]' RETURNING decimal array) + OR a_float<>json_value(a_nested, '$[7][2]' RETURNING decimal array) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float IS NULL; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float IS NULL +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float IS NULL); ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float IS NULL) +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float IS NULL; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float IS NULL +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float IS NULL) +SELECT a_float +FROM t1; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float IS NULL) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float IS NULL; ++---------+ +| a_float | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B33_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float IS NULL +GROUP BY a_float; ++---------+-----+ +| a_float | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE a_float IS NOT NULL; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM test_array +WHERE a_float IS NOT NULL +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array + WHERE a_float IS NOT NULL); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_float IS NOT NULL) +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array) +WHERE a_float IS NOT NULL; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_float IS NOT NULL +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float IS NOT NULL) +SELECT a_float +FROM t1; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_float IS NOT NULL) +SELECT a_float, + count(*) cnt +FROM t1 +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float +FROM t1 +WHERE a_float IS NOT NULL; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B34_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_float, + count(*) cnt +FROM t1 +WHERE a_float IS NOT NULL +GROUP BY a_float; ++------------------+-----+ +| a_float | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A3_B35_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM test_array +WHERE (a_floatARRAY['S1', + 'S2']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B6_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B6_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2']); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B6_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2']) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B6_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str<>ARRAY['S1', + 'S2']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B6_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str<>ARRAY['S1', + 'S2'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B6_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2']) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B6_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2']) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B6_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str<>ARRAY['S1', + 'S2']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B6_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str<>ARRAY['S1', + 'S2'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; ++----------------+ +| a_str | ++----------------+ +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + NULL] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [null, S2, S1] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2', + NULL]); ++----------------+ +| a_str | ++----------------+ +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2', + NULL]) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [null, S2, S1] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; ++----------------+ +| a_str | ++----------------+ +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str<>ARRAY['S1', + 'S2', + NULL] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [null, S2, S1] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2', + NULL]) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2', + NULL]) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [null, S2, S1] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str<>ARRAY['S1', + 'S2', + NULL]; ++----------------+ +| a_str | ++----------------+ +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B7_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str<>ARRAY['S1', + 'S2', + NULL] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [null, S2, S1] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + 'S3']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str<>ARRAY['S1', + 'S2', + 'S3'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2', + 'S3']); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2', + 'S3']) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str<>ARRAY['S1', + 'S2', + 'S3']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str<>ARRAY['S1', + 'S2', + 'S3'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2', + 'S3']) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>ARRAY['S1', + 'S2', + 'S3']) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str<>ARRAY['S1', + 'S2', + 'S3']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B8_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str<>ARRAY['S1', + 'S2', + 'S3'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array)); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array)) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array)) +SELECT a_str +FROM t1; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array)) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B9_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str<>json_value(a_nested, '$[3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +SELECT a_str +FROM t1; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B10_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>ARRAY['S1', + 'S2']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>ARRAY['S1', + 'S2'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2']); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2']) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>ARRAY['S1', + 'S2']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>ARRAY['S1', + 'S2'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2']) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2']) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>ARRAY['S1', + 'S2']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B11_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>ARRAY['S1', + 'S2'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>ARRAY['S1', + 'S2', + NULL]; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>ARRAY['S1', + 'S2', + NULL] +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2', + NULL]); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2', + NULL]) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>ARRAY['S1', + 'S2', + NULL]; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>ARRAY['S1', + 'S2', + NULL] +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2', + NULL]) +SELECT a_str +FROM t1; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2', + NULL]) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>ARRAY['S1', + 'S2', + NULL]; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B12_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>ARRAY['S1', + 'S2', + NULL] +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>ARRAY['S1', + 'S2', + 'S3']; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>ARRAY['S1', + 'S2', + 'S3'] +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2', + 'S3']); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2', + 'S3']) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>ARRAY['S1', + 'S2', + 'S3']; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>ARRAY['S1', + 'S2', + 'S3'] +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2', + 'S3']) +SELECT a_str +FROM t1; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>ARRAY['S1', + 'S2', + 'S3']) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>ARRAY['S1', + 'S2', + 'S3']; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B13_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>ARRAY['S1', + 'S2', + 'S3'] +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array)); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array)) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array)) +SELECT a_str +FROM t1; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array)) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B14_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>json_value(a_nested, '$[3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +SELECT a_str +FROM t1; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B15_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>=ARRAY['S1', + 'S2']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>=ARRAY['S1', + 'S2'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2']); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2']) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>=ARRAY['S1', + 'S2']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>=ARRAY['S1', + 'S2'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2']) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2']) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>=ARRAY['S1', + 'S2']; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B16_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>=ARRAY['S1', + 'S2'] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>=ARRAY['S1', + 'S2', + NULL]; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>=ARRAY['S1', + 'S2', + NULL] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2', + NULL]); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2', + NULL]) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>=ARRAY['S1', + 'S2', + NULL]; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>=ARRAY['S1', + 'S2', + NULL] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2', + NULL]) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2', + NULL]) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>=ARRAY['S1', + 'S2', + NULL]; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | ++----------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B17_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>=ARRAY['S1', + 'S2', + NULL] +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>=ARRAY['S1', + 'S2', + 'S3']; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>=ARRAY['S1', + 'S2', + 'S3'] +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2', + 'S3']); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2', + 'S3']) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>=ARRAY['S1', + 'S2', + 'S3']; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>=ARRAY['S1', + 'S2', + 'S3'] +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2', + 'S3']) +SELECT a_str +FROM t1; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=ARRAY['S1', + 'S2', + 'S3']) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>=ARRAY['S1', + 'S2', + 'S3']; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B18_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>=ARRAY['S1', + 'S2', + 'S3'] +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array)); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array)) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array)) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array)) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B19_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>=json_value(a_nested, '$[3]' RETURNING varchar array) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B20_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B21_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B31_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str<=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B31_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str<=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array))); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B31_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str<=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array))) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B31_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str<=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B31_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str<=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B31_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array))) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B31_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str<=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array))) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B31_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str<=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B31_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str<=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array) + AND NOT (a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + AND a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array)) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B32_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE NOT (a_str<=json_value(a_nested, '$[3]' RETURNING varchar array)) + OR NOT (a_str>=json_value(a_nested, '$[7][3]' RETURNING varchar array)) + OR a_str=json_value(a_nested, '$[3]' RETURNING varchar array) + OR a_str<>json_value(a_nested, '$[7][3]' RETURNING varchar array) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str IS NULL; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str IS NULL +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str IS NULL); ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str IS NULL) +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str IS NULL; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str IS NULL +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str IS NULL) +SELECT a_str +FROM t1; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str IS NULL) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str IS NULL; ++-------+ +| a_str | ++-------+ ++-------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B33_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str IS NULL +GROUP BY a_str; ++-------+-----+ +| a_str | cnt | ++-------+-----+ ++-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE a_str IS NOT NULL; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM test_array +WHERE a_str IS NOT NULL +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array + WHERE a_str IS NOT NULL); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_str IS NOT NULL) +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array) +WHERE a_str IS NOT NULL; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_str IS NOT NULL +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str IS NOT NULL) +SELECT a_str +FROM t1; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_str IS NOT NULL) +SELECT a_str, + count(*) cnt +FROM t1 +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str +FROM t1 +WHERE a_str IS NOT NULL; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B34_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_str, + count(*) cnt +FROM t1 +WHERE a_str IS NOT NULL +GROUP BY a_str; ++----------------+-----+ +| a_str | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A4_B35_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM test_array +WHERE (a_strARRAY['true', + '1', + '0.1', + 'S1']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B6_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B6_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1']); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B6_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1']) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B6_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B6_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B6_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1']) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B6_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1']) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B6_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B6_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B7_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B8_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed<>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array)); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array)) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array)) +SELECT a_mixed +FROM t1; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array)) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B9_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed<>json_value(a_nested, '$[6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +SELECT a_mixed +FROM t1; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B10_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1']); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1']) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1']) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1']) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B11_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL] +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL] +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]) +SELECT a_mixed +FROM t1; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B12_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL] +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element'] +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element'] +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']) +SELECT a_mixed +FROM t1; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B13_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element'] +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array)); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array)) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array)) +SELECT a_mixed +FROM t1; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array)) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B14_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>json_value(a_nested, '$[6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +SELECT a_mixed +FROM t1; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B15_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1']); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1']) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1']) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1']) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1']; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B16_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1'] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B17_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL] +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element'] +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element'] +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']) +SELECT a_mixed +FROM t1; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element']; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B18_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>=ARRAY['true', + '1', + '0.1', + 'S1', + NULL, + 'extra element'] +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array)); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array)) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array)) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array)) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B19_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>=json_value(a_nested, '$[6]' RETURNING varchar array) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B20_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B21_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B31_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B31_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array))); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B31_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array))) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B31_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B31_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B31_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array))) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B31_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array))) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B31_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B31_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array) + AND NOT (a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + AND a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array)) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B32_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE NOT (a_mixed<=json_value(a_nested, '$[6]' RETURNING varchar array)) + OR NOT (a_mixed>=json_value(a_nested, '$[7][6]' RETURNING varchar array)) + OR a_mixed=json_value(a_nested, '$[6]' RETURNING varchar array) + OR a_mixed<>json_value(a_nested, '$[7][6]' RETURNING varchar array) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed IS NULL; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed IS NULL +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed IS NULL); ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed IS NULL) +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed IS NULL; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed IS NULL +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed IS NULL) +SELECT a_mixed +FROM t1; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed IS NULL) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed IS NULL; ++---------+ +| a_mixed | ++---------+ ++---------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B33_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed IS NULL +GROUP BY a_mixed; ++---------+-----+ +| a_mixed | cnt | ++---------+-----+ ++---------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE a_mixed IS NOT NULL; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM test_array +WHERE a_mixed IS NOT NULL +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array + WHERE a_mixed IS NOT NULL); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_mixed IS NOT NULL) +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array) +WHERE a_mixed IS NOT NULL; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_mixed IS NOT NULL +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed IS NOT NULL) +SELECT a_mixed +FROM t1; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_mixed IS NOT NULL) +SELECT a_mixed, + count(*) cnt +FROM t1 +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed +FROM t1 +WHERE a_mixed IS NOT NULL; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B34_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_mixed, + count(*) cnt +FROM t1 +WHERE a_mixed IS NOT NULL +GROUP BY a_mixed; ++--------------------------+-----+ +| a_mixed | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A7_B35_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM test_array +WHERE (a_mixeda_nested; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B2_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested<>a_nested +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B2_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested<>a_nested); ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B2_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested<>a_nested) +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B2_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested<>a_nested; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B2_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested<>a_nested +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B2_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested<>a_nested) +SELECT a_nested +FROM t1; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B2_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested<>a_nested) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B2_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested<>a_nested; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B2_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested<>a_nested +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested>a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested>a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested>a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested>a_nested) +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested>a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested>a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested>a_nested) +SELECT a_nested +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested>a_nested) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested>a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B3_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested>a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested>=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested>=a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested>=a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested>=a_nested) +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested>=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested>=a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested>=a_nested) +SELECT a_nested +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested>=a_nested) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested>=a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B4_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested>=a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B5_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nesteda_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B7_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested=a_nested + OR a_nested<>a_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B7_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested=a_nested + OR a_nested<>a_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested)); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B7_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested=a_nested + OR a_nested<>a_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested)) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B7_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested=a_nested + OR a_nested<>a_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B7_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested=a_nested + OR a_nested<>a_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B7_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested=a_nested + OR a_nested<>a_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested)) +SELECT a_nested +FROM t1; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B7_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested=a_nested + OR a_nested<>a_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested)) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B7_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested=a_nested + OR a_nested<>a_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B7_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested=a_nested + OR a_nested<>a_nested + AND NOT (a_nested=a_nested + AND a_nested<>a_nested) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested) +SELECT a_nested +FROM t1; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B8_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE NOT (a_nested<>a_nested) + OR NOT (a_nested=a_nested) + OR a_nested=a_nested + OR a_nested<>a_nested +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested IS NULL; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested IS NULL +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested IS NULL); ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested IS NULL) +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested IS NULL; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested IS NULL +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested IS NULL) +SELECT a_nested +FROM t1; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested IS NULL) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested IS NULL; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B9_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested IS NULL +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested IS NOT NULL; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested IS NOT NULL +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested IS NOT NULL); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested IS NOT NULL) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested IS NOT NULL; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested IS NOT NULL +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested IS NOT NULL) +SELECT a_nested +FROM t1; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested IS NOT NULL) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested IS NOT NULL; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B10_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested IS NOT NULL +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE (a_nested=a_nested) IS TRUE; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE (a_nested=a_nested) IS TRUE +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS TRUE); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS TRUE) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE (a_nested=a_nested) IS TRUE; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE (a_nested=a_nested) IS TRUE +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS TRUE) +SELECT a_nested +FROM t1; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS TRUE) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE (a_nested=a_nested) IS TRUE; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B11_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE (a_nested=a_nested) IS TRUE +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE (a_nested=a_nested) IS NOT TRUE; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE (a_nested=a_nested) IS NOT TRUE +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS NOT TRUE); ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS NOT TRUE) +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE (a_nested=a_nested) IS NOT TRUE; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE (a_nested=a_nested) IS NOT TRUE +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS NOT TRUE) +SELECT a_nested +FROM t1; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS NOT TRUE) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE (a_nested=a_nested) IS NOT TRUE; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B12_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE (a_nested=a_nested) IS NOT TRUE +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE (a_nested=a_nested) IS FALSE; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE (a_nested=a_nested) IS FALSE +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS FALSE); ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS FALSE) +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE (a_nested=a_nested) IS FALSE; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE (a_nested=a_nested) IS FALSE +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS FALSE) +SELECT a_nested +FROM t1; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS FALSE) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE (a_nested=a_nested) IS FALSE; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B13_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE (a_nested=a_nested) IS FALSE +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE (a_nested=a_nested) IS NOT FALSE; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE (a_nested=a_nested) IS NOT FALSE +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS NOT FALSE); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS NOT FALSE) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE (a_nested=a_nested) IS NOT FALSE; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE (a_nested=a_nested) IS NOT FALSE +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS NOT FALSE) +SELECT a_nested +FROM t1; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE (a_nested=a_nested) IS NOT FALSE) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE (a_nested=a_nested) IS NOT FALSE; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B14_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE (a_nested=a_nested) IS NOT FALSE +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested BETWEEN a_nested AND a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested BETWEEN a_nested AND a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested BETWEEN a_nested AND a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested BETWEEN a_nested AND a_nested) +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested BETWEEN a_nested AND a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested BETWEEN a_nested AND a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested BETWEEN a_nested AND a_nested) +SELECT a_nested +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested BETWEEN a_nested AND a_nested) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested BETWEEN a_nested AND a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B15_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested BETWEEN a_nested AND a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested NOT BETWEEN a_nested AND a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested NOT BETWEEN a_nested AND a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested NOT BETWEEN a_nested AND a_nested); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested NOT BETWEEN a_nested AND a_nested) +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested NOT BETWEEN a_nested AND a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested NOT BETWEEN a_nested AND a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested NOT BETWEEN a_nested AND a_nested) +SELECT a_nested +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested NOT BETWEEN a_nested AND a_nested) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested NOT BETWEEN a_nested AND a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B16_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested NOT BETWEEN a_nested AND a_nested +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested like '%'; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested like '%' +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested like '%'); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested like '%') +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested like '%'; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested like '%' +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested like '%') +SELECT a_nested +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested like '%') +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested like '%'; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B17_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested like '%' +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested not like '%'; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested not like '%' +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested not like '%'); +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested not like '%') +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested not like '%'; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested not like '%' +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested not like '%') +SELECT a_nested +FROM t1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested not like '%') +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested not like '%'; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B18_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested not like '%' +GROUP BY a_nested; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested IN (a_nested, + a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested IN (a_nested, + a_nested) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested IN (a_nested, + a_nested)); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested IN (a_nested, + a_nested)) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested IN (a_nested, + a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested IN (a_nested, + a_nested) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested IN (a_nested, + a_nested)) +SELECT a_nested +FROM t1; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested IN (a_nested, + a_nested)) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested IN (a_nested, + a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B19_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested IN (a_nested, + a_nested) +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| a_nested | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested NOT IN (a_nested, + a_nested); ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C2 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested NOT IN (a_nested, + a_nested) +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested NOT IN (a_nested, + a_nested)); ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C4 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested NOT IN (a_nested, + a_nested)) +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested NOT IN (a_nested, + a_nested); ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C6 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested NOT IN (a_nested, + a_nested) +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested NOT IN (a_nested, + a_nested)) +SELECT a_nested +FROM t1; ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C8 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested NOT IN (a_nested, + a_nested)) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested NOT IN (a_nested, + a_nested); ++----------+ +| a_nested | ++----------+ ++----------+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B20_C10 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested NOT IN (a_nested, + a_nested) +GROUP BY a_nested; ++----------+-----+ +| a_nested | cnt | ++----------+-----+ ++----------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested IN + (SELECT a_nested + FROM test_array); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested IN + (SELECT a_nested + FROM test_array) +GROUP BY a_nested; +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested IN + (SELECT a_nested + FROM test_array)); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested IN + (SELECT a_nested + FROM test_array)) +GROUP BY a_nested; +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested IN + (SELECT a_nested + FROM test_array); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested IN + (SELECT a_nested + FROM test_array) +GROUP BY a_nested; +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested IN + (SELECT a_nested + FROM test_array)) +SELECT a_nested +FROM t1; +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested IN + (SELECT a_nested + FROM test_array)) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested IN + (SELECT a_nested + FROM test_array); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B21_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested IN + (SELECT a_nested + FROM test_array) +GROUP BY a_nested; +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM test_array +WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C2 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM test_array +WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array) +GROUP BY a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array + WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array)); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C4 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array + WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array)) +GROUP BY a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array) +WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested, + count(*) cnt +FROM + (SELECT * + FROM test_array) +WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array) +GROUP BY a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C7 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array)) +SELECT a_nested +FROM t1; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C8 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array + WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array)) +SELECT a_nested, + count(*) cnt +FROM t1 +GROUP BY a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested +FROM t1 +WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_subquery_with_where TEST_ID: A8_B22_C10 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT a_nested, + count(*) cnt +FROM t1 +WHERE a_nested NOT IN + (SELECT a_nested + FROM test_array) +GROUP BY a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A1_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c, + count(*) cnt +FROM test_array +GROUP BY a_bool; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A1_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (a_bool); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A1_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c, + count(*) cnt +FROM test_array +GROUP BY rollup(a_bool); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | +| | 4 | ++--------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A1_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c, + count(*) cnt +FROM test_array +GROUP BY cube(a_bool); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | +| | 4 | ++--------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A1_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c, + count(*) cnt +FROM test_array +GROUP BY a_bool +HAVING a_bool=ARRAY[1, + 0, + NULL]; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A4_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c, + count(*) cnt +FROM test_array +GROUP BY a_int; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A4_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (a_int); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A4_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c, + count(*) cnt +FROM test_array +GROUP BY rollup(a_int); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | +| | 4 | ++--------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A4_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c, + count(*) cnt +FROM test_array +GROUP BY cube(a_int); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | +| | 4 | ++--------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A4_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c, + count(*) cnt +FROM test_array +GROUP BY a_int +HAVING a_int=ARRAY[1, + 2, + NULL]; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A5_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A5_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[1]' RETURNING bigint array)); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A5_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[1]' RETURNING bigint array)); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | +| | 4 | ++--------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A5_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[1]' RETURNING bigint array)); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | +| | 4 | ++--------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A5_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array) +HAVING json_value(a_nested, '$[1]' RETURNING bigint array)=ARRAY[1, + 2, + NULL]; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A6_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A6_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A6_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | +| | 4 | ++--------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A6_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[7][1]' RETURNING bigint array)); ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | +| | 4 | ++--------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A6_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +HAVING json_value(a_nested, '$[7][1]' RETURNING bigint array)=ARRAY[1, + 2, + NULL]; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | ++--------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A7_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c, + count(*) cnt +FROM test_array +GROUP BY a_float; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A7_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (a_float); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A7_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c, + count(*) cnt +FROM test_array +GROUP BY rollup(a_float); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | +| | 4 | ++------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A7_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c, + count(*) cnt +FROM test_array +GROUP BY cube(a_float); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | +| | 4 | ++------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A7_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c, + count(*) cnt +FROM test_array +GROUP BY a_float +HAVING a_float=ARRAY[0.1, + 0.2, + NULL]; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A8_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A8_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[2]' RETURNING decimal array)); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A8_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[2]' RETURNING decimal array)); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | +| | 4 | ++------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A8_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[2]' RETURNING decimal array)); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | +| | 4 | ++------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A8_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array) +HAVING json_value(a_nested, '$[2]' RETURNING decimal array)=ARRAY[0.1, + 0.2, + NULL]; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A9_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A9_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A9_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | +| | 4 | ++------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A9_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[7][2]' RETURNING decimal array)); ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | +| | 4 | ++------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A9_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +HAVING json_value(a_nested, '$[7][2]' RETURNING decimal array)=ARRAY[0.1, + 0.2, + NULL]; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A10_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c, + count(*) cnt +FROM test_array +GROUP BY a_str; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A10_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (a_str); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A10_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c, + count(*) cnt +FROM test_array +GROUP BY rollup(a_str); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | +| | 4 | ++----------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A10_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c, + count(*) cnt +FROM test_array +GROUP BY cube(a_str); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | +| | 4 | ++----------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A10_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c, + count(*) cnt +FROM test_array +GROUP BY a_str +HAVING a_str=ARRAY['S1', + 'S2', + NULL]; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A11_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A11_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[3]' RETURNING varchar array)); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A11_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[3]' RETURNING varchar array)); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | +| | 4 | ++----------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A11_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[3]' RETURNING varchar array)); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | +| | 4 | ++----------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A11_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array) +HAVING json_value(a_nested, '$[3]' RETURNING varchar array)=ARRAY['S1', + 'S2', + NULL]; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A12_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A12_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A12_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | +| | 4 | ++----------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A12_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | +| | 4 | ++----------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A12_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING json_value(a_nested, '$[7][3]' RETURNING varchar array)=ARRAY['S1', + 'S2', + NULL]; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | ++----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A13_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c, + count(*) cnt +FROM test_array +GROUP BY a_null; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A13_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (a_null); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A13_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c, + count(*) cnt +FROM test_array +GROUP BY rollup(a_null); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | +| | 4 | ++--------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A13_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c, + count(*) cnt +FROM test_array +GROUP BY cube(a_null); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | +| | 4 | ++--------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A13_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c, + count(*) cnt +FROM test_array +GROUP BY a_null +HAVING a_null=ARRAY[NULL, + NULL, + NULL]; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A14_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A14_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[4]' RETURNING varchar array)); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A14_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[4]' RETURNING varchar array)); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | +| | 4 | ++--------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A14_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[4]' RETURNING varchar array)); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | +| | 4 | ++--------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A14_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array) +HAVING json_value(a_nested, '$[4]' RETURNING varchar array)=ARRAY[NULL, + NULL, + NULL]; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A15_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A15_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[7][4]' RETURNING varchar array)); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A15_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[7][4]' RETURNING varchar array)); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | +| | 4 | ++--------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A15_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[7][4]' RETURNING varchar array)); ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | +| | 4 | ++--------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A15_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +HAVING json_value(a_nested, '$[7][4]' RETURNING varchar array)=ARRAY[NULL, + NULL, + NULL]; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A16_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c, + count(*) cnt +FROM test_array +GROUP BY a_empty; ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A16_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (a_empty); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A16_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c, + count(*) cnt +FROM test_array +GROUP BY rollup(a_empty); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | +| | 4 | ++----+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A16_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c, + count(*) cnt +FROM test_array +GROUP BY cube(a_empty); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | +| | 4 | ++----+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A16_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c, + count(*) cnt +FROM test_array +GROUP BY a_empty +HAVING a_empty=ARRAY['A']; ++---+-----+ +| c | cnt | ++---+-----+ ++---+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A17_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A17_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[5]' RETURNING varchar array)); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A17_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[5]' RETURNING varchar array)); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | +| | 4 | ++----+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A17_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[5]' RETURNING varchar array)); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | +| | 4 | ++----+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A17_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array) +HAVING json_value(a_nested, '$[5]' RETURNING varchar array)=ARRAY['A']; ++---+-----+ +| c | cnt | ++---+-----+ ++---+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A18_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A18_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[7][5]' RETURNING varchar array)); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A18_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[7][5]' RETURNING varchar array)); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | +| | 4 | ++----+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A18_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[7][5]' RETURNING varchar array)); ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | +| | 4 | ++----+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A18_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +HAVING json_value(a_nested, '$[7][5]' RETURNING varchar array)=ARRAY['A']; ++---+-----+ +| c | cnt | ++---+-----+ ++---+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A19_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c, + count(*) cnt +FROM test_array +GROUP BY a_mixed; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A19_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (a_mixed); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A19_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c, + count(*) cnt +FROM test_array +GROUP BY rollup(a_mixed); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | +| | 4 | ++--------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A19_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c, + count(*) cnt +FROM test_array +GROUP BY cube(a_mixed); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | +| | 4 | ++--------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A19_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c, + count(*) cnt +FROM test_array +GROUP BY a_mixed +HAVING a_mixed=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A20_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A20_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[6]' RETURNING varchar array)); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A20_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[6]' RETURNING varchar array)); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | +| | 4 | ++--------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A20_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[6]' RETURNING varchar array)); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | +| | 4 | ++--------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A20_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array) +HAVING json_value(a_nested, '$[6]' RETURNING varchar array)=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A21_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A21_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A21_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | +| | 4 | ++--------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A21_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY cube(json_value(a_nested, '$[7][6]' RETURNING varchar array)); ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | +| | 4 | ++--------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A21_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +HAVING json_value(a_nested, '$[7][6]' RETURNING varchar array)=ARRAY['true', + '1', + '0.1', + 'S1', + NULL]; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A22_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c, + count(*) cnt +FROM test_array +GROUP BY a_nested; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A22_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A22_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c, + count(*) cnt +FROM test_array +GROUP BY rollup(a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | +| | 4 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A22_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c, + count(*) cnt +FROM test_array +GROUP BY cube(a_nested); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | +| | 4 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A22_B9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c, + count(*) cnt +FROM test_array +GROUP BY a_nested +HAVING a_nested=ARRAY[NULL, + NULL, + NULL]; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A23_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7]') c, + count(*) cnt +FROM test_array +GROUP BY json_query(a_nested, '$[7]'); ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | 2 | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A23_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7]') c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_query(a_nested, '$[7]')); ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | 2 | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A23_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7]') c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_query(a_nested, '$[7]')); ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | 2 | +| | 4 | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A23_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7]') c, + count(*) cnt +FROM test_array +GROUP BY cube(json_query(a_nested, '$[7]')); ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | 2 | +| | 4 | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A23_B9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7]') c, + count(*) cnt +FROM test_array +GROUP BY json_query(a_nested, '$[7]') +HAVING json_query(a_nested, '$[7]')=ARRAY[NULL, + NULL, + NULL]; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A24_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7][7]') c, + count(*) cnt +FROM test_array +GROUP BY json_query(a_nested, '$[7][7]'); ++-----------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-----------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | 2 | ++-----------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A24_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7][7]') c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (json_query(a_nested, '$[7][7]')); ++-----------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-----------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | 2 | ++-----------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A24_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7][7]') c, + count(*) cnt +FROM test_array +GROUP BY rollup(json_query(a_nested, '$[7][7]')); ++-----------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-----------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | 2 | +| | 4 | ++-----------------------------------------------------------------------------------------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A24_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7][7]') c, + count(*) cnt +FROM test_array +GROUP BY cube(json_query(a_nested, '$[7][7]')); ++-----------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-----------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | 2 | +| | 4 | ++-----------------------------------------------------------------------------------------------------------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A24_B9 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7][7]') c, + count(*) cnt +FROM test_array +GROUP BY json_query(a_nested, '$[7][7]') +HAVING json_query(a_nested, '$[7][7]')=ARRAY[NULL, + NULL, + NULL]; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A25_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + json_value(a_nested, '$[2]' RETURNING decimal array), + json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY a_int, + json_value(a_nested, '$[2]' RETURNING decimal array), + json_value(a_nested, '$[7][3]' RETURNING varchar array); ++--------------+------------------+----------------+-----+ +| a_int | EXPR$1 | c | cnt | ++--------------+------------------+----------------+-----+ +| [1, 2, null] | [0.1, 0.2, null] | [S1, S2, null] | 2 | +| [null, 2, 1] | [null, 0.2, 0.1] | [null, S2, S1] | 2 | ++--------------+------------------+----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A25_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + json_value(a_nested, '$[2]' RETURNING decimal array), + json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY GROUPING +SETS (a_int, + json_value(a_nested, '$[2]' RETURNING decimal array), + json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++--------------+------------------+----------------+-----+ +| a_int | EXPR$1 | c | cnt | ++--------------+------------------+----------------+-----+ +| [1, 2, null] | | | 2 | +| [null, 2, 1] | | | 2 | +| | [0.1, 0.2, null] | | 2 | +| | [null, 0.2, 0.1] | | 2 | +| | | [S1, S2, null] | 2 | +| | | [null, S2, S1] | 2 | ++--------------+------------------+----------------+-----+ +(6 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A25_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + json_value(a_nested, '$[2]' RETURNING decimal array), + json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY rollup(a_int, json_value(a_nested, '$[2]' RETURNING decimal array), json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++--------------+------------------+----------------+-----+ +| a_int | EXPR$1 | c | cnt | ++--------------+------------------+----------------+-----+ +| [1, 2, null] | [0.1, 0.2, null] | [S1, S2, null] | 2 | +| [1, 2, null] | [0.1, 0.2, null] | | 2 | +| [1, 2, null] | | | 2 | +| [null, 2, 1] | [null, 0.2, 0.1] | [null, S2, S1] | 2 | +| [null, 2, 1] | [null, 0.2, 0.1] | | 2 | +| [null, 2, 1] | | | 2 | +| | | | 4 | ++--------------+------------------+----------------+-----+ +(7 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A25_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + json_value(a_nested, '$[2]' RETURNING decimal array), + json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY cube(a_int, json_value(a_nested, '$[2]' RETURNING decimal array), json_value(a_nested, '$[7][3]' RETURNING varchar array)); ++--------------+------------------+----------------+-----+ +| a_int | EXPR$1 | c | cnt | ++--------------+------------------+----------------+-----+ +| [1, 2, null] | [0.1, 0.2, null] | [S1, S2, null] | 2 | +| [1, 2, null] | [0.1, 0.2, null] | | 2 | +| [1, 2, null] | | [S1, S2, null] | 2 | +| [1, 2, null] | | | 2 | +| [null, 2, 1] | [null, 0.2, 0.1] | [null, S2, S1] | 2 | +| [null, 2, 1] | [null, 0.2, 0.1] | | 2 | +| [null, 2, 1] | | [null, S2, S1] | 2 | +| [null, 2, 1] | | | 2 | +| | [0.1, 0.2, null] | [S1, S2, null] | 2 | +| | [0.1, 0.2, null] | | 2 | +| | [null, 0.2, 0.1] | [null, S2, S1] | 2 | +| | [null, 0.2, 0.1] | | 2 | +| | | [S1, S2, null] | 2 | +| | | [null, S2, S1] | 2 | +| | | | 4 | ++--------------+------------------+----------------+-----+ +(15 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_group_by TEST_ID: A25_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int, + json_value(a_nested, '$[2]' RETURNING decimal array), + json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY a_int, + json_value(a_nested, '$[2]' RETURNING decimal array), + json_value(a_nested, '$[7][3]' RETURNING varchar array) +HAVING a_int=ARRAY[1, + 2, + NULL] +AND json_value(a_nested, '$[2]' RETURNING decimal array)=ARRAY[0.1, + 0.2, + NULL] +AND json_value(a_nested, '$[7][3]' RETURNING varchar array)=ARRAY['S1', + 'S2', + NULL]; ++--------------+------------------+----------------+-----+ +| a_int | EXPR$1 | c | cnt | ++--------------+------------------+----------------+-----+ +| [1, 2, null] | [0.1, 0.2, null] | [S1, S2, null] | 2 | ++--------------+------------------+----------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A1_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT __time, + count(*) cnt +FROM test_array +GROUP BY __time +ORDER BY __time ASC; ++-------------------------+-----+ +| __time | cnt | ++-------------------------+-----+ +| 2022-01-01 00:00:00.000 | 2 | +| 2022-02-01 00:00:00.000 | 2 | ++-------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A1_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT __time, + count(*) cnt +FROM test_array +GROUP BY __time +ORDER BY __time DESC; ++-------------------------+-----+ +| __time | cnt | ++-------------------------+-----+ +| 2022-02-01 00:00:00.000 | 2 | +| 2022-01-01 00:00:00.000 | 2 | ++-------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A1_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT __time +FROM test_array +ORDER BY __time ASC; ++-------------------------+ +| __time | ++-------------------------+ +| 2022-01-01 00:00:00.000 | +| 2022-01-01 00:00:00.000 | +| 2022-02-01 00:00:00.000 | +| 2022-02-01 00:00:00.000 | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A1_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT __time +FROM test_array +ORDER BY 1 DESC; ++-------------------------+ +| __time | ++-------------------------+ +| 2022-02-01 00:00:00.000 | +| 2022-02-01 00:00:00.000 | +| 2022-01-01 00:00:00.000 | +| 2022-01-01 00:00:00.000 | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A1_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT __time +FROM + (SELECT __time + FROM test_array + ORDER BY __time ASC); ++-------------------------+ +| __time | ++-------------------------+ +| 2022-01-01 00:00:00.000 | +| 2022-01-01 00:00:00.000 | +| 2022-02-01 00:00:00.000 | +| 2022-02-01 00:00:00.000 | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A1_B11 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT __time +FROM + (SELECT __time + FROM test_array + ORDER BY 1 DESC); ++-------------------------+ +| __time | ++-------------------------+ +| 2022-01-01 00:00:00.000 | +| 2022-01-01 00:00:00.000 | +| 2022-02-01 00:00:00.000 | +| 2022-02-01 00:00:00.000 | ++-------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A2_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c, + count(*) cnt +FROM test_array +GROUP BY a_bool +ORDER BY a_bool ASC; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [null, 0, 1] | 2 | +| [1, 0, null] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A2_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 0, null] | 2 | +| [null, 0, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A2_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A2_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A2_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_bool c + FROM test_array + ORDER BY c ASC); ++--------------+ +| c | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A2_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_bool c + FROM test_array + ORDER BY 1 DESC); ++--------------+ +| c | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A5_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c, + count(*) cnt +FROM test_array +GROUP BY a_int +ORDER BY a_int ASC; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [null, 2, 1] | 2 | +| [1, 2, null] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A5_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A5_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A5_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A5_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_int c + FROM test_array + ORDER BY c ASC); ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A5_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_int c + FROM test_array + ORDER BY 1 DESC); ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A6_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[1]' RETURNING bigint array) +ORDER BY json_value(a_nested, '$[1]' RETURNING bigint array) ASC; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [null, 2, 1] | 2 | +| [1, 2, null] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A6_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A6_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A6_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A6_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c + FROM test_array + ORDER BY c ASC); ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A6_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c + FROM test_array + ORDER BY 1 DESC); ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A7_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][1]' RETURNING bigint array) +ORDER BY json_value(a_nested, '$[7][1]' RETURNING bigint array) ASC; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [null, 2, 1] | 2 | +| [1, 2, null] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A7_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------+-----+ +| c | cnt | ++--------------+-----+ +| [1, 2, null] | 2 | +| [null, 2, 1] | 2 | ++--------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A7_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A7_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A7_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c + FROM test_array + ORDER BY c ASC); ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A7_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c + FROM test_array + ORDER BY 1 DESC); ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A8_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c, + count(*) cnt +FROM test_array +GROUP BY a_float +ORDER BY a_float ASC; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [null, 0.2, 0.1] | 2 | +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A8_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A8_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A8_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A8_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_float c + FROM test_array + ORDER BY c ASC); ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A8_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_float c + FROM test_array + ORDER BY 1 DESC); ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A9_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[2]' RETURNING decimal array) +ORDER BY json_value(a_nested, '$[2]' RETURNING decimal array) ASC; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [null, 0.2, 0.1] | 2 | +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A9_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A9_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A9_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A9_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c + FROM test_array + ORDER BY c ASC); ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A9_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c + FROM test_array + ORDER BY 1 DESC); ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A10_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][2]' RETURNING decimal array) +ORDER BY json_value(a_nested, '$[7][2]' RETURNING decimal array) ASC; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [null, 0.2, 0.1] | 2 | +| [0.1, 0.2, null] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A10_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++------------------+-----+ +| c | cnt | ++------------------+-----+ +| [0.1, 0.2, null] | 2 | +| [null, 0.2, 0.1] | 2 | ++------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A10_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A10_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A10_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c + FROM test_array + ORDER BY c ASC); ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A10_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c + FROM test_array + ORDER BY 1 DESC); ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A11_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c, + count(*) cnt +FROM test_array +GROUP BY a_str +ORDER BY a_str ASC; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [null, S2, S1] | 2 | +| [S1, S2, null] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A11_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A11_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A11_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A11_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_str c + FROM test_array + ORDER BY c ASC); ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A11_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_str c + FROM test_array + ORDER BY 1 DESC); ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A12_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[3]' RETURNING varchar array) +ORDER BY json_value(a_nested, '$[3]' RETURNING varchar array) ASC; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [null, S2, S1] | 2 | +| [S1, S2, null] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A12_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A12_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A12_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A12_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c + FROM test_array + ORDER BY c ASC); ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A12_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c + FROM test_array + ORDER BY 1 DESC); ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A13_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][3]' RETURNING varchar array) +ORDER BY json_value(a_nested, '$[7][3]' RETURNING varchar array) ASC; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [null, S2, S1] | 2 | +| [S1, S2, null] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A13_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++----------------+-----+ +| c | cnt | ++----------------+-----+ +| [S1, S2, null] | 2 | +| [null, S2, S1] | 2 | ++----------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A13_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A13_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A13_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c + FROM test_array + ORDER BY c ASC); ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A13_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c + FROM test_array + ORDER BY 1 DESC); ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A14_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c, + count(*) cnt +FROM test_array +GROUP BY a_null +ORDER BY a_null ASC; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A14_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A14_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A14_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A14_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_null c + FROM test_array + ORDER BY c ASC); ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A14_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_null c + FROM test_array + ORDER BY 1 DESC); ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A15_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[4]' RETURNING varchar array) +ORDER BY json_value(a_nested, '$[4]' RETURNING varchar array) ASC; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A15_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A15_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A15_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A15_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c + FROM test_array + ORDER BY c ASC); ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A15_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c + FROM test_array + ORDER BY 1 DESC); ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A16_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][4]' RETURNING varchar array) +ORDER BY json_value(a_nested, '$[7][4]' RETURNING varchar array) ASC; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A16_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------------+-----+ +| c | cnt | ++--------------------+-----+ +| [null, null, null] | 4 | ++--------------------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A16_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A16_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A16_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c + FROM test_array + ORDER BY c ASC); ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A16_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c + FROM test_array + ORDER BY 1 DESC); ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A17_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c, + count(*) cnt +FROM test_array +GROUP BY a_empty +ORDER BY a_empty ASC; ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A17_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A17_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A17_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A17_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_empty c + FROM test_array + ORDER BY c ASC); ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A17_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_empty c + FROM test_array + ORDER BY 1 DESC); ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A18_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[5]' RETURNING varchar array) +ORDER BY json_value(a_nested, '$[5]' RETURNING varchar array) ASC; ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A18_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A18_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A18_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A18_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c + FROM test_array + ORDER BY c ASC); ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A18_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c + FROM test_array + ORDER BY 1 DESC); ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A19_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][5]' RETURNING varchar array) +ORDER BY json_value(a_nested, '$[7][5]' RETURNING varchar array) ASC; ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A19_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++----+-----+ +| c | cnt | ++----+-----+ +| [] | 4 | ++----+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A19_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A19_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A19_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c + FROM test_array + ORDER BY c ASC); ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A19_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c + FROM test_array + ORDER BY 1 DESC); ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A20_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c, + count(*) cnt +FROM test_array +GROUP BY a_mixed +ORDER BY a_mixed ASC; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A20_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | +| [null, S1, 0.1, 1, true] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A20_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A20_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A20_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_mixed c + FROM test_array + ORDER BY c ASC); ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A20_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_mixed c + FROM test_array + ORDER BY 1 DESC); ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A21_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[6]' RETURNING varchar array) +ORDER BY json_value(a_nested, '$[6]' RETURNING varchar array) ASC; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A21_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | +| [null, S1, 0.1, 1, true] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A21_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A21_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A21_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c + FROM test_array + ORDER BY c ASC); ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A21_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c + FROM test_array + ORDER BY 1 DESC); ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A22_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY json_value(a_nested, '$[7][6]' RETURNING varchar array) +ORDER BY json_value(a_nested, '$[7][6]' RETURNING varchar array) ASC; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [null, S1, 0.1, 1, true] | 2 | +| [true, 1, 0.1, S1, null] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A22_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++--------------------------+-----+ +| c | cnt | ++--------------------------+-----+ +| [true, 1, 0.1, S1, null] | 2 | +| [null, S1, 0.1, 1, true] | 2 | ++--------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A22_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A22_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A22_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c + FROM test_array + ORDER BY c ASC); ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A22_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c + FROM test_array + ORDER BY 1 DESC); ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A23_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c, + count(*) cnt +FROM test_array +GROUP BY a_nested +ORDER BY a_nested ASC; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A23_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | 2 | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | 2 | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A23_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A23_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A23_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_nested c + FROM test_array + ORDER BY c ASC); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A23_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_nested c + FROM test_array + ORDER BY 1 DESC); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A24_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7]') c, + count(*) cnt +FROM test_array +GROUP BY json_query(a_nested, '$[7]') +ORDER BY json_query(a_nested, '$[7]') ASC; ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | 2 | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | 2 | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A24_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7]') c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | 2 | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A24_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7]') c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A24_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7]') c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A24_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_query(a_nested, '$[7]') c + FROM test_array + ORDER BY c ASC); ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A24_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_query(a_nested, '$[7]') c + FROM test_array + ORDER BY 1 DESC); ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]] | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A25_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7][7]') c, + count(*) cnt +FROM test_array +GROUP BY json_query(a_nested, '$[7][7]') +ORDER BY json_query(a_nested, '$[7][7]') ASC; ++-----------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-----------------------------------------------------------------------------------------------------------+-----+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | 2 | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | 2 | ++-----------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A25_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7][7]') c, + count(*) cnt +FROM test_array +GROUP BY 1 +ORDER BY 1 DESC; ++-----------------------------------------------------------------------------------------------------------+-----+ +| c | cnt | ++-----------------------------------------------------------------------------------------------------------+-----+ +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | 2 | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | 2 | ++-----------------------------------------------------------------------------------------------------------+-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A25_B5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7][7]') c +FROM test_array +ORDER BY c ASC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A25_B6 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(a_nested, '$[7][7]') c +FROM test_array +ORDER BY 1 DESC; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A25_B7 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_query(a_nested, '$[7][7]') c + FROM test_array + ORDER BY c ASC); ++-----------------------------------------------------------------------------------------------------------+ +| c | ++-----------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | ++-----------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_order_by TEST_ID: A25_B9 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_query(a_nested, '$[7][7]') c + FROM test_array + ORDER BY 1 DESC); ++-----------------------------------------------------------------------------------------------------------+ +| c | ++-----------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]] | ++-----------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A1_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c +FROM test_array +LIMIT 1; ++--------------+ +| c | ++--------------+ +| [1, 0, null] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A1_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c +FROM test_array +OFFSET 1; ++--------------+ +| c | ++--------------+ +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A1_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------+ +| c | ++--------------+ +| [1, 0, null] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A4_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c +FROM test_array +LIMIT 1; ++--------------+ +| c | ++--------------+ +| [1, 2, null] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A4_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c +FROM test_array +OFFSET 1; ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A4_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------+ +| c | ++--------------+ +| [1, 2, null] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A5_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c +FROM test_array +LIMIT 1; ++--------------+ +| c | ++--------------+ +| [1, 2, null] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A5_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c +FROM test_array +OFFSET 1; ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A5_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------+ +| c | ++--------------+ +| [1, 2, null] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A6_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c +FROM test_array +LIMIT 1; ++--------------+ +| c | ++--------------+ +| [1, 2, null] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A6_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c +FROM test_array +OFFSET 1; ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A6_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------+ +| c | ++--------------+ +| [1, 2, null] | ++--------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A7_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c +FROM test_array +LIMIT 1; ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | ++------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A7_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c +FROM test_array +OFFSET 1; ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A7_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float c +FROM test_array +LIMIT 1 +OFFSET 1; ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | ++------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A8_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c +FROM test_array +LIMIT 1; ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | ++------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A8_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c +FROM test_array +OFFSET 1; ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A8_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | ++------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A9_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c +FROM test_array +LIMIT 1; ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | ++------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A9_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c +FROM test_array +OFFSET 1; ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A9_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | ++------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A10_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c +FROM test_array +LIMIT 1; ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A10_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c +FROM test_array +OFFSET 1; ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A10_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str c +FROM test_array +LIMIT 1 +OFFSET 1; ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A11_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A11_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A11_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A12_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A12_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A12_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | ++----------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A13_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c +FROM test_array +LIMIT 1; ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A13_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c +FROM test_array +OFFSET 1; ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A13_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A14_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A14_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A14_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A15_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A15_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A15_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | ++--------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A16_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c +FROM test_array +LIMIT 1; ++----+ +| c | ++----+ +| [] | ++----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A16_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c +FROM test_array +OFFSET 1; ++----+ +| c | ++----+ +| [] | +| [] | +| [] | ++----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A16_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty c +FROM test_array +LIMIT 1 +OFFSET 1; ++----+ +| c | ++----+ +| [] | ++----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A17_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++----+ +| c | ++----+ +| [] | ++----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A17_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++----+ +| c | ++----+ +| [] | +| [] | +| [] | ++----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A17_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++----+ +| c | ++----+ +| [] | ++----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A18_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++----+ +| c | ++----+ +| [] | ++----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A18_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++----+ +| c | ++----+ +| [] | +| [] | +| [] | ++----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A18_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++----+ +| c | ++----+ +| [] | ++----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A19_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c +FROM test_array +LIMIT 1; ++--------------------------+ +| c | ++--------------------------+ +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A19_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c +FROM test_array +OFFSET 1; ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A19_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------------------+ +| c | ++--------------------------+ +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A20_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++--------------------------+ +| c | ++--------------------------+ +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A20_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A20_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------------------+ +| c | ++--------------------------+ +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A21_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++--------------------------+ +| c | ++--------------------------+ +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A21_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A21_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++--------------------------+ +| c | ++--------------------------+ +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A22_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c +FROM test_array +LIMIT 1; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A22_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c +FROM test_array +OFFSET 1; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A22_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested c +FROM test_array +LIMIT 1 +OFFSET 1; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A23_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A23_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++---+ +| c | ++---+ +| | +| | +| | ++---+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A23_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A24_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][7]' RETURNING varchar array) c +FROM test_array +LIMIT 1; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A24_B3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][7]' RETURNING varchar array) c +FROM test_array +OFFSET 1; ++---+ +| c | ++---+ +| | +| | +| | ++---+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_limit_offset TEST_ID: A24_B5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(a_nested, '$[7][7]' RETURNING varchar array) c +FROM test_array +LIMIT 1 +OFFSET 1; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B1_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_bool +FROM test_array t1 +INNER JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B1_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array t1 + INNER JOIN test_array t2 ON t1.a_bool=t2.a_bool); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B1_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_bool +FROM t1 +INNER JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B2_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_int +FROM test_array t1 +INNER JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B2_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array t1 + INNER JOIN test_array t2 ON t1.a_int=t2.a_int); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B2_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_int +FROM t1 +INNER JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B3_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_float +FROM test_array t1 +INNER JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B3_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array t1 + INNER JOIN test_array t2 ON t1.a_float=t2.a_float); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B3_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_float +FROM t1 +INNER JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B4_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_str +FROM test_array t1 +INNER JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B4_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array t1 + INNER JOIN test_array t2 ON t1.a_str=t2.a_str); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B4_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_str +FROM t1 +INNER JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B5_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_null +FROM test_array t1 +INNER JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B5_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_null +FROM + (SELECT * + FROM test_array t1 + INNER JOIN test_array t2 ON t1.a_null=t2.a_null); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B5_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_null +FROM t1 +INNER JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B6_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_empty +FROM test_array t1 +INNER JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B6_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty +FROM + (SELECT * + FROM test_array t1 + INNER JOIN test_array t2 ON t1.a_empty=t2.a_empty); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B6_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_empty +FROM t1 +INNER JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B7_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_mixed +FROM test_array t1 +INNER JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B7_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array t1 + INNER JOIN test_array t2 ON t1.a_mixed=t2.a_mixed); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B7_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_mixed +FROM t1 +INNER JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B8_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_nested +FROM test_array t1 +INNER JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B8_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array t1 + INNER JOIN test_array t2 ON t1.a_nested=t2.a_nested); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A1_B8_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_nested +FROM t1 +INNER JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B1_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_bool +FROM test_array t1 +JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B1_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array t1 + JOIN test_array t2 ON t1.a_bool=t2.a_bool); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B1_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_bool +FROM t1 +JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B2_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_int +FROM test_array t1 +JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B2_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array t1 + JOIN test_array t2 ON t1.a_int=t2.a_int); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B2_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_int +FROM t1 +JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B3_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_float +FROM test_array t1 +JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B3_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array t1 + JOIN test_array t2 ON t1.a_float=t2.a_float); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B3_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_float +FROM t1 +JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B4_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_str +FROM test_array t1 +JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B4_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array t1 + JOIN test_array t2 ON t1.a_str=t2.a_str); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B4_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_str +FROM t1 +JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B5_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_null +FROM test_array t1 +JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B5_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_null +FROM + (SELECT * + FROM test_array t1 + JOIN test_array t2 ON t1.a_null=t2.a_null); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B5_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_null +FROM t1 +JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B6_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_empty +FROM test_array t1 +JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B6_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty +FROM + (SELECT * + FROM test_array t1 + JOIN test_array t2 ON t1.a_empty=t2.a_empty); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B6_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_empty +FROM t1 +JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B7_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_mixed +FROM test_array t1 +JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B7_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array t1 + JOIN test_array t2 ON t1.a_mixed=t2.a_mixed); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B7_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_mixed +FROM t1 +JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B8_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_nested +FROM test_array t1 +JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B8_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array t1 + JOIN test_array t2 ON t1.a_nested=t2.a_nested); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A2_B8_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_nested +FROM t1 +JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B1_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_bool +FROM test_array t1 +LEFT JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B1_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array t1 + LEFT JOIN test_array t2 ON t1.a_bool=t2.a_bool); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B1_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_bool +FROM t1 +LEFT JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B2_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_int +FROM test_array t1 +LEFT JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B2_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array t1 + LEFT JOIN test_array t2 ON t1.a_int=t2.a_int); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B2_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_int +FROM t1 +LEFT JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B3_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_float +FROM test_array t1 +LEFT JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B3_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array t1 + LEFT JOIN test_array t2 ON t1.a_float=t2.a_float); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B3_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_float +FROM t1 +LEFT JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B4_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_str +FROM test_array t1 +LEFT JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B4_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array t1 + LEFT JOIN test_array t2 ON t1.a_str=t2.a_str); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B4_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_str +FROM t1 +LEFT JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B5_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_null +FROM test_array t1 +LEFT JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B5_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_null +FROM + (SELECT * + FROM test_array t1 + LEFT JOIN test_array t2 ON t1.a_null=t2.a_null); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B5_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_null +FROM t1 +LEFT JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B6_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_empty +FROM test_array t1 +LEFT JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B6_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty +FROM + (SELECT * + FROM test_array t1 + LEFT JOIN test_array t2 ON t1.a_empty=t2.a_empty); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B6_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_empty +FROM t1 +LEFT JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B7_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_mixed +FROM test_array t1 +LEFT JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B7_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array t1 + LEFT JOIN test_array t2 ON t1.a_mixed=t2.a_mixed); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B7_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_mixed +FROM t1 +LEFT JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B8_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_nested +FROM test_array t1 +LEFT JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B8_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array t1 + LEFT JOIN test_array t2 ON t1.a_nested=t2.a_nested); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A3_B8_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_nested +FROM t1 +LEFT JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B1_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_bool +FROM test_array t1 +RIGHT JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B1_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array t1 + RIGHT JOIN test_array t2 ON t1.a_bool=t2.a_bool); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B1_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_bool +FROM t1 +RIGHT JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B2_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_int +FROM test_array t1 +RIGHT JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B2_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array t1 + RIGHT JOIN test_array t2 ON t1.a_int=t2.a_int); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B2_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_int +FROM t1 +RIGHT JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B3_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_float +FROM test_array t1 +RIGHT JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B3_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array t1 + RIGHT JOIN test_array t2 ON t1.a_float=t2.a_float); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B3_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_float +FROM t1 +RIGHT JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B4_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_str +FROM test_array t1 +RIGHT JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B4_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array t1 + RIGHT JOIN test_array t2 ON t1.a_str=t2.a_str); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B4_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_str +FROM t1 +RIGHT JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B5_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_null +FROM test_array t1 +RIGHT JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B5_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_null +FROM + (SELECT * + FROM test_array t1 + RIGHT JOIN test_array t2 ON t1.a_null=t2.a_null); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B5_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_null +FROM t1 +RIGHT JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B6_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_empty +FROM test_array t1 +RIGHT JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B6_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty +FROM + (SELECT * + FROM test_array t1 + RIGHT JOIN test_array t2 ON t1.a_empty=t2.a_empty); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B6_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_empty +FROM t1 +RIGHT JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B7_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_mixed +FROM test_array t1 +RIGHT JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B7_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array t1 + RIGHT JOIN test_array t2 ON t1.a_mixed=t2.a_mixed); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B7_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_mixed +FROM t1 +RIGHT JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B8_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_nested +FROM test_array t1 +RIGHT JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B8_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array t1 + RIGHT JOIN test_array t2 ON t1.a_nested=t2.a_nested); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A4_B8_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_nested +FROM t1 +RIGHT JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B1_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_bool +FROM test_array t1 +FULL JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B1_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array t1 + FULL JOIN test_array t2 ON t1.a_bool=t2.a_bool); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B1_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_bool +FROM t1 +FULL JOIN test_array t2 ON t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B2_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_int +FROM test_array t1 +FULL JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B2_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array t1 + FULL JOIN test_array t2 ON t1.a_int=t2.a_int); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B2_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_int +FROM t1 +FULL JOIN test_array t2 ON t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B3_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_float +FROM test_array t1 +FULL JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B3_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array t1 + FULL JOIN test_array t2 ON t1.a_float=t2.a_float); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B3_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_float +FROM t1 +FULL JOIN test_array t2 ON t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B4_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_str +FROM test_array t1 +FULL JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B4_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array t1 + FULL JOIN test_array t2 ON t1.a_str=t2.a_str); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B4_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_str +FROM t1 +FULL JOIN test_array t2 ON t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B5_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_null +FROM test_array t1 +FULL JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B5_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_null +FROM + (SELECT * + FROM test_array t1 + FULL JOIN test_array t2 ON t1.a_null=t2.a_null); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B5_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_null +FROM t1 +FULL JOIN test_array t2 ON t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B6_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_empty +FROM test_array t1 +FULL JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B6_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty +FROM + (SELECT * + FROM test_array t1 + FULL JOIN test_array t2 ON t1.a_empty=t2.a_empty); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B6_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_empty +FROM t1 +FULL JOIN test_array t2 ON t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B7_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_mixed +FROM test_array t1 +FULL JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B7_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array t1 + FULL JOIN test_array t2 ON t1.a_mixed=t2.a_mixed); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B7_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_mixed +FROM t1 +FULL JOIN test_array t2 ON t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B8_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_nested +FROM test_array t1 +FULL JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B8_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array t1 + FULL JOIN test_array t2 ON t1.a_nested=t2.a_nested); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A5_B8_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_nested +FROM t1 +FULL JOIN test_array t2 ON t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B1_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_bool +FROM test_array t1, + test_array t2 +WHERE t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B1_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array t1, + test_array t2 + WHERE t1.a_bool=t2.a_bool); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B1_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_bool +FROM t1, + test_array t2 +WHERE t1.a_bool=t2.a_bool; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B2_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_int +FROM test_array t1, + test_array t2 +WHERE t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B2_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array t1, + test_array t2 + WHERE t1.a_int=t2.a_int); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B2_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_int +FROM t1, + test_array t2 +WHERE t1.a_int=t2.a_int; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B3_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_float +FROM test_array t1, + test_array t2 +WHERE t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B3_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array t1, + test_array t2 + WHERE t1.a_float=t2.a_float); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B3_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_float +FROM t1, + test_array t2 +WHERE t1.a_float=t2.a_float; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B4_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_str +FROM test_array t1, + test_array t2 +WHERE t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B4_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array t1, + test_array t2 + WHERE t1.a_str=t2.a_str); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B4_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_str +FROM t1, + test_array t2 +WHERE t1.a_str=t2.a_str; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B5_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_null +FROM test_array t1, + test_array t2 +WHERE t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B5_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_null +FROM + (SELECT * + FROM test_array t1, + test_array t2 + WHERE t1.a_null=t2.a_null); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B5_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_null +FROM t1, + test_array t2 +WHERE t1.a_null=t2.a_null; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B6_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_empty +FROM test_array t1, + test_array t2 +WHERE t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B6_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty +FROM + (SELECT * + FROM test_array t1, + test_array t2 + WHERE t1.a_empty=t2.a_empty); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B6_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_empty +FROM t1, + test_array t2 +WHERE t1.a_empty=t2.a_empty; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B7_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_mixed +FROM test_array t1, + test_array t2 +WHERE t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B7_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array t1, + test_array t2 + WHERE t1.a_mixed=t2.a_mixed); +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B7_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_mixed +FROM t1, + test_array t2 +WHERE t1.a_mixed=t2.a_mixed; +not support +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B8_C1 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_nested +FROM test_array t1, + test_array t2 +WHERE t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B8_C3 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array t1, + test_array t2 + WHERE t1.a_nested=t2.a_nested); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A6_B8_C5 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_nested +FROM t1, + test_array t2 +WHERE t1.a_nested=t2.a_nested; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B1_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_bool +FROM test_array t1 +CROSS JOIN test_array t2; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B1_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_bool +FROM + (SELECT * + FROM test_array t1 + CROSS JOIN test_array t2); ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B1_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_bool +FROM t1 +CROSS JOIN test_array t2; ++--------------+ +| a_bool | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B2_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_int +FROM test_array t1 +CROSS JOIN test_array t2; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B2_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_int +FROM + (SELECT * + FROM test_array t1 + CROSS JOIN test_array t2); ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B2_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_int +FROM t1 +CROSS JOIN test_array t2; ++--------------+ +| a_int | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B3_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_float +FROM test_array t1 +CROSS JOIN test_array t2; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B3_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_float +FROM + (SELECT * + FROM test_array t1 + CROSS JOIN test_array t2); ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B3_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_float +FROM t1 +CROSS JOIN test_array t2; ++------------------+ +| a_float | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B4_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_str +FROM test_array t1 +CROSS JOIN test_array t2; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B4_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_str +FROM + (SELECT * + FROM test_array t1 + CROSS JOIN test_array t2); ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B4_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_str +FROM t1 +CROSS JOIN test_array t2; ++----------------+ +| a_str | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B5_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_null +FROM test_array t1 +CROSS JOIN test_array t2; ++--------------------+ +| a_null | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B5_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_null +FROM + (SELECT * + FROM test_array t1 + CROSS JOIN test_array t2); ++--------------------+ +| a_null | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B5_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_null +FROM t1 +CROSS JOIN test_array t2; ++--------------------+ +| a_null | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B6_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_empty +FROM test_array t1 +CROSS JOIN test_array t2; ++---------+ +| a_empty | ++---------+ +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | ++---------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B6_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_empty +FROM + (SELECT * + FROM test_array t1 + CROSS JOIN test_array t2); ++---------+ +| a_empty | ++---------+ +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | ++---------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B6_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_empty +FROM t1 +CROSS JOIN test_array t2; ++---------+ +| a_empty | ++---------+ +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | ++---------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B7_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_mixed +FROM test_array t1 +CROSS JOIN test_array t2; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B7_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_mixed +FROM + (SELECT * + FROM test_array t1 + CROSS JOIN test_array t2); ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B7_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_mixed +FROM t1 +CROSS JOIN test_array t2; ++--------------------------+ +| a_mixed | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B8_C1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT t1.a_nested +FROM test_array t1 +CROSS JOIN test_array t2; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B8_C3 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT a_nested +FROM + (SELECT * + FROM test_array t1 + CROSS JOIN test_array t2); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_join TEST_ID: A7_B8_C5 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +WITH t1 AS + (SELECT * + FROM test_array) +SELECT t1.a_nested +FROM t1 +CROSS JOIN test_array t2; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| a_nested | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(16 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A1_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_bool c + FROM test_array + UNION ALL SELECT a_bool c + FROM test_array); ++--------------+ +| c | ++--------------+ +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [1, 0, null] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | +| [null, 0, 1] | ++--------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A4_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_int c + FROM test_array + UNION ALL SELECT a_int c + FROM test_array); ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A5_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[1]' RETURNING bigint array) c + FROM test_array); ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A6_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[7][1]' RETURNING bigint array) c + FROM test_array); ++--------------+ +| c | ++--------------+ +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [1, 2, null] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | +| [null, 2, 1] | ++--------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A7_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_float c + FROM test_array + UNION ALL SELECT a_float c + FROM test_array); ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A8_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[2]' RETURNING decimal array) c + FROM test_array); ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A9_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[7][2]' RETURNING decimal array) c + FROM test_array); ++------------------+ +| c | ++------------------+ +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [0.1, 0.2, null] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | +| [null, 0.2, 0.1] | ++------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A10_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_str c + FROM test_array + UNION ALL SELECT a_str c + FROM test_array); ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A11_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[3]' RETURNING varchar array) c + FROM test_array); ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A12_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[7][3]' RETURNING varchar array) c + FROM test_array); ++----------------+ +| c | ++----------------+ +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [S1, S2, null] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | +| [null, S2, S1] | ++----------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A13_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_null c + FROM test_array + UNION ALL SELECT a_null c + FROM test_array); ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A14_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[4]' RETURNING varchar array) c + FROM test_array); ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A15_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[7][4]' RETURNING varchar array) c + FROM test_array); ++--------------------+ +| c | ++--------------------+ +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | +| [null, null, null] | ++--------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A16_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_empty c + FROM test_array + UNION ALL SELECT a_empty c + FROM test_array); ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | ++----+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A17_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[5]' RETURNING varchar array) c + FROM test_array); ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | ++----+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A18_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[7][5]' RETURNING varchar array) c + FROM test_array); ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | +| [] | ++----+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A19_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_mixed c + FROM test_array + UNION ALL SELECT a_mixed c + FROM test_array); ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A20_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[6]' RETURNING varchar array) c + FROM test_array); ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A21_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[7][6]' RETURNING varchar array) c + FROM test_array); ++--------------------------+ +| c | ++--------------------------+ +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [null, S1, 0.1, 1, true] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | +| [true, 1, 0.1, S1, null] | ++--------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A22_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT a_nested c + FROM test_array + UNION ALL SELECT a_nested c + FROM test_array); ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,"S2","S1"],[null,null,null],[],[null,"S1",0.1,1,true]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | +| [[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null],[[true,false,null],[1,2,null],[0.1,0.2,null],["S1","S2",null],[null,null,null],[],[true,1,0.1,"S1",null]]]] | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A23_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[7]' RETURNING varchar array) c + FROM test_array); ++---+ +| c | ++---+ +| | +| | +| | +| | +| | +| | +| | +| | ++---+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_union_all TEST_ID: A24_B1 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT c +FROM + (SELECT json_value(a_nested, '$[7][7]' RETURNING varchar array) c + FROM test_array + UNION ALL SELECT json_value(a_nested, '$[7][7]' RETURNING varchar array) c + FROM test_array); ++---+ +| c | ++---+ +| | +| | +| | +| | +| | +| | +| | +| | ++---+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# Total query count 3400 Positive tests: 2939 Negative tests: 461 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaJsonCols_funcs_and_sql.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaJsonCols_funcs_and_sql.iq new file mode 100644 index 000000000000..7c532778b41d --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/qaJsonCols_funcs_and_sql.iq @@ -0,0 +1,15280 @@ +!set useApproximateCountDistinct false +!use druidtest://?componentSupplier=StandardComponentSupplier&datasets=sql/src/test/quidem/qatests/qaJsonCols/funcs_and_sql +!set outputformat mysql +SELECT count(*) cnt +FROM test_json_cols; ++-----+ +| cnt | ++-----+ +| 4 | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A001 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 = c1) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 = c1; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 <> c1) c +FROM test_json_cols; ++-------+ +| c | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 <> c1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A005 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 > c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A006 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 > c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A007 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 >= c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A008 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 >= c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A009 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 < c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A010 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 < c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A011 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 <= c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A012 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 <= c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A013 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 BETWEEN c1 AND c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A014 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 BETWEEN c1 AND c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A015 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 NOT BETWEEN c1 AND c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A016 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 NOT BETWEEN c1 AND c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A017 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 like c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A018 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 like c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A019 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 not like c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A020 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 not like c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A021 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 IS NULL) c +FROM test_json_cols; ++-------+ +| c | ++-------+ +| false | +| false | +| false | +| false | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A022 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A023 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 IS NOT NULL) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| true | +| true | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A024 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A025 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 IS TRUE) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A026 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IS TRUE; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A027 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 IS NOT TRUE) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A028 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IS NOT TRUE; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A029 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 IS FALSE) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A030 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IS FALSE; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A031 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 IS NOT FALSE) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A032 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IS NOT FALSE; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A033 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 IN (json_object(KEY 'a1' VALUE 'A', KEY 'a2' VALUE 1))) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A034 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IN (json_object(KEY 'a1' VALUE 'A', KEY 'a2' VALUE 1)); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A035 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 NOT IN (json_object(KEY 'a1' VALUE 'A', KEY 'a2' VALUE 1))) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A036 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 NOT IN (json_object(KEY 'a1' VALUE 'A', KEY 'a2' VALUE 1)); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A037 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 IN + (SELECT c1 + FROM test_json_cols)) c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A038 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IN + (SELECT c1 + FROM test_json_cols); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A039 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 NOT IN + (SELECT c1 + FROM test_json_cols)) c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A040 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 NOT IN + (SELECT c1 + FROM test_json_cols); +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A041 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 + AND c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A042 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 + AND c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A043 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (c1 + OR c2) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A044 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 + OR c2; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A045 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT (NOT c1) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_comp_ops TEST_ID: A046 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE NOT c1; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A001 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE c1 IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT c1 + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL c1 + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A005 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT * + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A006 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL * + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A007 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(c1) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A008 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT c1 + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A009 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(c1) c +FROM test_json_cols +GROUP BY c1; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A010 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(c1) c +FROM test_json_cols +GROUP BY c1 +HAVING count(c1) >= 2; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A011 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT * +FROM test_json_cols +WHERE c1 = c2; ++--------+-------+-----------+-------------+--------+--------+-------------+---------------+--------------------+----------------------+----+----+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| __time | s_str | s_num_int | s_num_float | s_bool | s_null | c_empty_obj | c_empty_array | c_empty_obj_nested | c_empty_array_nested | c1 | c2 | t_obj | t_array | t_str1 | t_num_int1 | t_num_float1 | t_bool1 | t_null1 | t_empty_obj | t_empty_array | t_str2 | t_num_int2 | t_num_float2 | t_bool2 | t_null2 | t_new | cnt | ++--------+-------+-----------+-------------+--------+--------+-------------+---------------+--------------------+----------------------+----+----+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ ++--------+-------+-----------+-------------+--------+--------+-------------+---------------+--------------------+----------------------+----+----+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +(0 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A012 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT * +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON t1.c1=t2.c1; +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A013 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT * +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON t1.c1=t2.c1; +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A014 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT * +FROM test_json_cols t1, + test_json_cols t2 +WHERE t1.c1=t2.c1; +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A015 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT * +FROM test_json_cols +ORDER BY __time; ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| __time | s_str | s_num_int | s_num_float | s_bool | s_null | c_empty_obj | c_empty_array | c_empty_obj_nested | c_empty_array_nested | c1 | c2 | t_obj | t_array | t_str1 | t_num_int1 | t_num_float1 | t_bool1 | t_null1 | t_empty_obj | t_empty_array | t_str2 | t_num_int2 | t_num_float2 | t_bool2 | t_null2 | t_new | cnt | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A016 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT * +FROM test_json_cols +LIMIT 1; ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| __time | s_str | s_num_int | s_num_float | s_bool | s_null | c_empty_obj | c_empty_array | c_empty_obj_nested | c_empty_array_nested | c1 | c2 | t_obj | t_array | t_str1 | t_num_int1 | t_num_float1 | t_bool1 | t_null1 | t_empty_obj | t_empty_array | t_str2 | t_num_int2 | t_num_float2 | t_bool2 | t_null2 | t_new | cnt | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A017 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT * +FROM test_json_cols +OFFSET 1; ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| __time | s_str | s_num_int | s_num_float | s_bool | s_null | c_empty_obj | c_empty_array | c_empty_obj_nested | c_empty_array_nested | c1 | c2 | t_obj | t_array | t_str1 | t_num_int1 | t_num_float1 | t_bool1 | t_null1 | t_empty_obj | t_empty_array | t_str2 | t_num_int2 | t_num_float2 | t_bool2 | t_null2 | t_new | cnt | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A018 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT * +FROM test_json_cols +UNION ALL +SELECT * +FROM test_json_cols; ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| __time | s_str | s_num_int | s_num_float | s_bool | s_null | c_empty_obj | c_empty_array | c_empty_obj_nested | c_empty_array_nested | c1 | c2 | t_obj | t_array | t_str1 | t_num_int1 | t_num_float1 | t_bool1 | t_null1 | t_empty_obj | t_empty_array | t_str2 | t_num_int2 | t_num_float2 | t_bool2 | t_null2 | t_new | cnt | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_datatype_sql TEST_ID: A019 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT * +FROM test_json_cols; ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| __time | s_str | s_num_int | s_num_float | s_bool | s_null | c_empty_obj | c_empty_array | c_empty_obj_nested | c_empty_array_nested | c1 | c2 | t_obj | t_array | t_str1 | t_num_int1 | t_num_float1 | t_bool1 | t_null1 | t_empty_obj | t_empty_array | t_str2 | t_num_int2 | t_num_float2 | t_bool2 | t_null2 | t_new | cnt | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-01-01 00:00:00.000 | A | 1 | 0.1 | 1 | | {} | [] | {"o1":{},"o2":[],"o3":null} | [{},[],null] | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | +| 2022-02-01 00:00:00.000 | | | | | | | | | | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | | | | | | | | | | | | | | | | 1 | ++-------------------------+-------+-----------+-------------+--------+--------+-------------+---------------+-----------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+---------+--------+------------+--------------+---------+---------+-------------+---------------+--------+------------+--------------+---------+---------+-------+-----+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "resultFormat" : "compactedList", + "columns" : [ "__time", "s_str", "s_num_int", "s_num_float", "s_bool", "s_null", "c_empty_obj", "c_empty_array", "c_empty_obj_nested", "c_empty_array_nested", "c1", "c2", "t_obj", "t_array", "t_str1", "t_num_int1", "t_num_float1", "t_bool1", "t_null1", "t_empty_obj", "t_empty_array", "t_str2", "t_num_int2", "t_num_float2", "t_bool2", "t_null2", "t_new", "cnt" ], + "columnTypes" : [ "LONG", "STRING", "LONG", "DOUBLE", "LONG", "STRING", "COMPLEX", "ARRAY", "COMPLEX", "COMPLEX", "COMPLEX", "COMPLEX", "STRING", "STRING", "STRING", "STRING", "STRING", "STRING", "STRING", "STRING", "STRING", "STRING", "LONG", "STRING", "STRING", "STRING", "STRING", "LONG" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A001 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(__time, '$') c +FROM test_json_cols; ++---------------+ +| c | ++---------------+ +| 1640995200000 | +| 1640995200000 | +| 1643673600000 | +| 1643673600000 | ++---------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(__time, '$' RETURNING bigint) = 1640995200000; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(__time, '$' RETURNING bigint) <> 1640995200000; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(__time, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A005 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(__time, '$') IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A006 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value('ABCD', '$' RETURNING CHAR) c +FROM test_json_cols; ++------+ +| c | ++------+ +| ABCD | +| ABCD | +| ABCD | +| ABCD | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A007 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value('ABCD', '$' RETURNING CHAR) = 'ABCD'; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A008 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value('ABCD', '$' RETURNING CHAR) <> 'ABCD'; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A009 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value('ABCD', '$' RETURNING CHAR) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A010 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value('ABCD', '$' RETURNING CHAR) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A011 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_str, '$' RETURNING CHAR) c +FROM test_json_cols; ++---+ +| c | ++---+ +| A | +| A | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A012 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_str, '$' RETURNING CHAR) = 'A'; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A013 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_str, '$' RETURNING CHAR) <> 'A'; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A014 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_str, '$' RETURNING CHAR) IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A015 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_str, '$' RETURNING CHAR) IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A016 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(1234, '$' RETURNING int) c +FROM test_json_cols; ++------+ +| c | ++------+ +| 1234 | +| 1234 | +| 1234 | +| 1234 | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A017 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(1234, '$') = 1234; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A018 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(1234, '$') <> 1234; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A019 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(1234, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A020 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(1234, '$') IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A021 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_num_int, '$' RETURNING int) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A022 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_num_int, '$' RETURNING int) = 1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A023 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_num_int, '$' RETURNING int) <> 1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A024 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_num_int, '$' RETURNING int) IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A025 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_num_int, '$' RETURNING int) IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A026 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(1234.5678, '$' RETURNING DOUBLE) c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| 1234.5678 | +| 1234.5678 | +| 1234.5678 | +| 1234.5678 | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A027 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(1234.5678, '$' RETURNING DOUBLE) = 1234.5678; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A028 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(1234.5678, '$' RETURNING DOUBLE) <> 1234.5678; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A029 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(1234.5678, '$' RETURNING DOUBLE) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A030 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(1234.5678, '$' RETURNING DOUBLE) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A031 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_num_float, '$' RETURNING DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A032 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_num_float, '$' RETURNING DOUBLE) = 0.1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A033 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_num_float, '$' RETURNING DOUBLE) <> 0.1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A034 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_num_float, '$' RETURNING DOUBLE) IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A035 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_num_float, '$' RETURNING DOUBLE) IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A036 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(NULL, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A037 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(NULL, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A038 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(NULL, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A039 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(s_null, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A040 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_null, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A041 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(s_null, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A042 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_obj, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A043 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_obj, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A044 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_obj, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A045 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_array, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A046 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_array, '$') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A047 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_array, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A048 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_obj_nested, '$.o1') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A049 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_obj_nested, '$.o1') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A050 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_obj_nested, '$.o1') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A051 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_obj_nested, '$.o2') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A052 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_obj_nested, '$.o2') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A053 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_obj_nested, '$.o2') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A054 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_obj_nested, '$.o2') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A055 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_obj_nested, '$.o3') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A056 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_obj_nested, '$.o3') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A057 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_obj_nested, '$.o3') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A058 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_array_nested, '$[0]') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A059 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_array_nested, '$[0]') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A060 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_array_nested, '$[0]') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A061 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_array_nested, '$[1]') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A062 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_array_nested, '$[1]') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A063 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_array_nested, '$[1]') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A064 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_array_nested, '$[1]') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A065 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c_empty_array_nested, '$[2]') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A066 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_array_nested, '$[2]') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A067 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_array_nested, '$[2]') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A068 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.does.not.exist') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A069 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_obj_nested, '$.') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A070 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c_empty_array_nested, '$.') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A071 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A072 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[0]') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A073 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[0,1]') IS NULL; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A074 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[0:2]') IS NULL; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A075 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[:2]') IS NULL; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A076 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[0:]') IS NULL; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A077 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[-1].a_str') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A078 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[-2].a_str') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A079 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[-1234567890].a_str') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A080 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[0].a_str.length()') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A081 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[0].a_str') = 'A'; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A082 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[1].a_str') = 'A'; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A083 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[2].a_str') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A084 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_array[1234567890].a_str') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A085 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_empty_obj') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A086 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_empty_array') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A087 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_empty_obj_nested.o1') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A088 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_empty_obj_nested.o2') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A089 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_empty_obj_nested.o3') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A090 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_empty_array_nested[0]') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A091 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_empty_array_nested[1]') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A092 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_empty_array_nested[2]') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A093 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_str') = 'A'; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A094 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_str, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| A | +| A | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A095 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| A | +| A | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A096 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| A | +| A | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A097 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| A | +| A | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A098 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_str, '$' RETURNING bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A099 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_str' RETURNING bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A100 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_str' RETURNING bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A101 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_str' RETURNING bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A102 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_num_int, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A103 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A104 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A105 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A106 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_num_int, '$' RETURNING bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A107 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_num_int' RETURNING bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A108 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_num_int' RETURNING bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A109 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_num_int' RETURNING bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A110 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(s_num_int, '$') AS bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A111 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(c1, '$.a_num_int') AS bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A112 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(c1, '$.a_obj.a_num_int') AS bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A113 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(c1, '$.a_array[0].a_num_int') AS bigint) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A114 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_num_float, '$') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A115 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_num_float') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A116 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_num_float') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A117 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_num_float') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A118 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_num_float, '$' RETURNING DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A119 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_num_float' RETURNING DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A120 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_num_float' RETURNING DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A121 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_num_float' RETURNING DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A122 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(s_num_float, '$') AS DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A123 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(c1, '$.a_num_float') AS DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A124 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(c1, '$.a_obj.a_num_float') AS DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A125 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(c1, '$.a_array[0].a_num_float') AS DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A126 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_bool, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A127 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_bool') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A128 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_bool') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A129 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_bool') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A130 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_bool, '$' RETURNING boolean) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A131 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_bool' RETURNING boolean) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A132 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_bool' RETURNING boolean) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A133 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_bool' RETURNING boolean) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A134 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(s_bool, '$') AS boolean) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A135 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(c1, '$.a_bool') AS boolean) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A136 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(c1, '$.a_obj.a_bool') AS boolean) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A137 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT cast(json_value(c1, '$.a_array[0].a_bool') AS boolean) c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A138 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_null, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A139 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A140 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A141 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A142 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(s_null, '$' RETURNING CHAR) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A143 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_null' RETURNING BIGINT) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A144 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_null' RETURNING DOUBLE) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A145 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_array[0].a_null' RETURNING BOOLEAN) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A146 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_str') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A147 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_num_int') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A148 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_num_float') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A149 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_null') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A150 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.doesntexist') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A151 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_str') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A152 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_num_int') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A153 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_num_float') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A154 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_null') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A155 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.doesntexist') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A156 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_value(c1, '$.a_obj.a_str') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A157 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL json_value(c1, '$.a_obj.a_str') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A158 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_value(c1, '$.a_obj.a_str') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A159 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_value(c1, '$.a_obj.a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| A | +| | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A160 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT json_value(c1, '$.a_obj.a_str') mycol + FROM test_json_cols) +GROUP BY mycol; ++-------+---+ +| mycol | c | ++-------+---+ +| A | 2 | +| | 2 | ++-------+---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A161 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT c1, + json_value(c1, '$.a_obj.a_str') mycol + FROM test_json_cols) +GROUP BY mycol +HAVING mycol = 'A'; ++-------+---+ +| mycol | c | ++-------+---+ +| A | 2 | ++-------+---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A162 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(c1, '$.a_obj.a_str') = json_value(c2, '$.a_obj.a_str'); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A163 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_value(t1.c1, '$.a_obj.a_str') = json_value(t2.c1, '$.a_obj.a_str'); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A164 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_value(t1.c1, '$.a_obj.a_str') = json_value(t2.c1, '$.a_obj.a_str'); ++---+ +| c | ++---+ +| 6 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A165 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_value(t1.c1, '$.a_obj.a_str') = json_value(t2.c1, '$.a_obj.a_str'); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A166 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_str') c +FROM test_json_cols +ORDER BY __time; ++---+ +| c | ++---+ +| A | +| A | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A167 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_str') c +FROM test_json_cols +LIMIT 1; ++---+ +| c | ++---+ +| A | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A168 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_str') c +FROM test_json_cols +OFFSET 1; ++---+ +| c | ++---+ +| A | +| | +| | ++---+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A169 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(c1, '$.a_obj.a_str') c +FROM test_json_cols +UNION ALL +SELECT json_value(c1, '$.a_obj.a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| A | +| A | +| A | +| A | +| | +| | +| | +| | ++---+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_value TEST_ID: A170 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_value(c1, '$.a_obj.a_str') +FROM test_json_cols; ++--------+ +| EXPR$0 | ++--------+ +| A | +| A | +| | +| | ++--------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "c1", + "outputName" : "v0", + "expectedType" : "STRING", + "pathParts" : [ { + "type" : "field", + "field" : "a_obj" + }, { + "type" : "field", + "field" : "a_str" + } ], + "processFromRaw" : false + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "STRING" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A001 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(__time, '$') c +FROM test_json_cols; ++---------------+ +| c | ++---------------+ +| 1640995200000 | +| 1640995200000 | +| 1643673600000 | +| 1643673600000 | ++---------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(__time, '$'), '$' RETURNING bigint) = 1640995200000; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(__time, '$'), '$' RETURNING bigint) <> 1640995200000; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(__time, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A005 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(__time, '$') IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A006 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query('ABCD', '$') c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| "ABCD" | +| "ABCD" | +| "ABCD" | +| "ABCD" | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A007 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query('ABCD', '$'), '$' RETURNING CHAR) = 'ABCD'; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A008 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query('ABCD', '$'), '$' RETURNING CHAR) <> 'ABCD'; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A009 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query('ABCD', '$') IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A010 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query('ABCD', '$') IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A011 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(s_str, '$') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "A" | +| "A" | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A012 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(s_str, '$'), '$' RETURNING CHAR) = 'A'; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A013 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(s_str, '$'), '$' RETURNING CHAR) <> 'A'; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A014 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(s_str, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A015 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(s_str, '$') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A016 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_query(1234, '$'), '$' RETURNING int) c +FROM test_json_cols; ++------+ +| c | ++------+ +| 1234 | +| 1234 | +| 1234 | +| 1234 | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A017 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(1234, '$'), '$' RETURNING int) = 1234; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A018 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(1234, '$'), '$' RETURNING int) <> 1234; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A019 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(1234, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A020 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(1234, '$') IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A021 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_query(s_num_int, '$'), '$' RETURNING int) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A022 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(s_num_int, '$'), '$' RETURNING int) = 1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A023 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(s_num_int, '$'), '$' RETURNING int) <> 1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A024 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(s_num_int, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A025 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(s_num_int, '$') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A026 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_query(1234.5678, '$'), '$' RETURNING DOUBLE) c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| 1234.5678 | +| 1234.5678 | +| 1234.5678 | +| 1234.5678 | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A027 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(1234.5678, '$'), '$' RETURNING DOUBLE) = 1234.5678; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A028 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(1234.5678, '$'), '$' RETURNING DOUBLE) <> 1234.5678; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A029 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(1234.5678, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A030 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(1234.5678, '$') IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A031 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_value(json_query(s_num_float, '$'), '$' RETURNING DOUBLE) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A032 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(s_num_float, '$'), '$' RETURNING DOUBLE) = 0.1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A033 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(s_num_float, '$'), '$' RETURNING DOUBLE) <> 0.1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A034 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(s_num_float, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A035 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(s_num_float, '$') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A036 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(NULL, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A037 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(NULL, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A038 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(NULL, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A039 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(s_null, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A040 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(s_null, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A041 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(s_null, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A042 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.does.not.exist') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A043 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.does.not.exist') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A044 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(s_str, '$') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "A" | +| "A" | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A045 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_str') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "A" | +| "A" | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A046 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_str') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "A" | +| "A" | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A047 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_array[0].a_str') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "A" | +| "A" | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A048 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_str') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A049 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_str') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A050 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(s_num_int, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A051 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A052 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A053 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_array[0].a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A054 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_num_int') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A055 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_num_int') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A056 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(s_num_float, '$') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A057 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_num_float') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A058 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_num_float') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A059 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_array[0].a_num_float') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A060 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_num_float') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A061 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_num_float') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A062 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(s_bool, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A063 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_bool') c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A064 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_bool') c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A065 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_array[0].a_bool') c +FROM test_json_cols; ++------+ +| c | ++------+ +| true | +| true | +| | +| | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A066 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_bool') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A067 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_bool') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A068 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(s_null, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A069 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A070 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A071 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_array[0].a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A072 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_null') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A073 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_null') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A074 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_obj, '$') c +FROM test_json_cols; ++----+ +| c | ++----+ +| {} | +| {} | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A075 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_obj, '$') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A076 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_obj, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A077 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_array, '$') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A078 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_array, '$') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A079 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_array, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A080 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_obj_nested, '$.o1') c +FROM test_json_cols; ++----+ +| c | ++----+ +| {} | +| {} | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A081 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_obj_nested, '$.o1') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A082 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_obj_nested, '$.o1') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A083 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_obj_nested, '$.o2') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A084 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_obj_nested, '$.o2') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A085 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_obj_nested, '$.o2') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A086 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_obj_nested, '$.o3') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A087 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_obj_nested, '$.o3') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A088 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_obj_nested, '$.o3') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A089 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_array_nested, '$[0]') c +FROM test_json_cols; ++----+ +| c | ++----+ +| {} | +| {} | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A090 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_array_nested, '$[0]') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A091 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_array_nested, '$[0]') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A092 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_array_nested, '$[1]') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A093 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_array_nested, '$[1]') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A094 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_array_nested, '$[1]') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A095 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_array_nested, '$[2]') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A096 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_array_nested, '$[2]') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A097 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_array_nested, '$[2]') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A098 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_obj_nested, '$.') c +FROM test_json_cols; ++-----------------------------+ +| c | ++-----------------------------+ +| {"o1":{},"o2":[],"o3":null} | +| {"o1":{},"o2":[],"o3":null} | +| | +| | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A099 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_obj_nested, '$.') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A100 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c_empty_array_nested, '$.') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [{},[],null] | +| [{},[],null] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A101 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c_empty_array_nested, '$.') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A102 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_obj') c +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| | +| | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A103 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj.a_obj') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A104 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_array[0]') c +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| | +| | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A105 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj.a_array[0]') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A106 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[0,1]') IS NULL; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A107 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[0:2]') IS NULL; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A108 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[:2]') IS NULL; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A109 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[0:]') IS NULL; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A110 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[-1].a_str') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A111 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[-2].a_str') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A112 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[-1234567890].a_str') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A113 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[0].a_str.length()') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A114 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[0].a_str') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A115 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[1].a_str') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A116 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[2].a_str') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A117 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_array[1234567890].a_str') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A118 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj.a_str') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A119 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[0].a_str'), '$') = 'A'; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A120 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[0].a_num_int'), '$') = 1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A121 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[0].a_num_float'), '$') = 0.1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A122 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[0].a_str') = 'A'; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A123 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[0].a_num_int') = 1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A124 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[0].a_num_float') = 0.1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A125 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[1].a_str'), '$') = 'A'; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A126 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[1].a_num_int'), '$') = 1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A127 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[1].a_num_float'), '$') = 0.1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A128 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[1].a_str') = 'A'; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A129 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[1].a_num_int') = 1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A130 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[1].a_num_float') = 0.1; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A131 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[2].a_str'), '$') = 'A'; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A132 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[2].a_num_int'), '$') = 1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A133 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[2].a_num_float'), '$') = 0.1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A134 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[2].a_str') = 'A'; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A135 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[2].a_num_int') = 1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A136 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[2].a_num_float') = 0.1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A137 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[1234567890].a_str'), '$') = 'A'; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A138 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[1234567890].a_num_int'), '$') = 1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A139 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_array[1234567890].a_num_float'), '$') = 0.1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A140 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[1234567890].a_str') = 'A'; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A141 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[1234567890].a_num_int') = 1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A142 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_value(json_query(c1, '$.a_obj'), '$.a_array[1234567890].a_num_float') = 0.1; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A143 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A144 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj.a_str') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A145 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj.a_num_int') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A146 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A147 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj.a_str') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A148 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj.a_num_int') IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A149 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_query(c1, '$.a_obj') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A150 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL json_query(c1, '$.a_array') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A151 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_query(c1, '$.a_obj.a_str') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A152 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL json_query(c1, '$.a_obj.a_num_int') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A153 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_query(c1, '$.a_obj') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A154 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_query(c1, '$.a_obj.a_str') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A155 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_query(c1, '$.a_obj.a_num_int') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A156 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT json_query(c1, '$.a_obj') c + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A157 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_query(c1, '$.a_obj.a_str') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "A" | +| | ++-----+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A158 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT json_query(c1, '$.a_obj.a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A159 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_query(c1, '$.a_obj') mycol + FROM test_json_cols) +GROUP BY mycol; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A160 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_str') mycol +FROM test_json_cols +GROUP BY json_query(c1, '$.a_obj.a_str'); ++-------+ +| mycol | ++-------+ +| "A" | +| | ++-------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A161 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_num_int') mycol +FROM test_json_cols +GROUP BY json_query(c1, '$.a_obj.a_num_int'); ++-------+ +| mycol | ++-------+ +| 1 | +| | ++-------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A162 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_query(c1, '$.a_obj') mycol + FROM test_json_cols) +GROUP BY mycol +HAVING mycol IS NOT NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A163 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT c1, + json_query(c1, '$.a_str') mycol + FROM test_json_cols) +GROUP BY mycol +HAVING mycol IS NOT NULL; ++-------+---+ +| mycol | c | ++-------+---+ +| "A" | 2 | ++-------+---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A164 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT c1, + json_query(c1, '$.a_num_int') mycol + FROM test_json_cols) +GROUP BY mycol +HAVING mycol IS NOT NULL; ++-------+---+ +| mycol | c | ++-------+---+ +| 1 | 2 | ++-------+---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A165 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj') = json_query(c2, '$.a_obj'); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A166 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj.a_str') = json_query(c2, '$.a_obj.a_str'); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A167 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_query(c1, '$.a_obj.a_num_int') = json_query(c2, '$.a_obj.a_num_int'); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A168 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_query(t1.c1, '$.a_obj')=json_query(t2.c1, '$.a_obj'); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A169 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_query(t1.c1, '$.a_obj.a_str')=json_query(t2.c1, '$.a_obj.a_str'); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A170 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_query(t1.c1, '$.a_obj.a_num_int')=json_query(t2.c1, '$.a_obj.a_num_int'); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A171 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_query(t1.c1, '$.a_obj')=json_query(t2.c1, '$.a_obj'); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A172 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_query(t1.c1, '$.a_obj.a_str')=json_query(t2.c1, '$.a_obj.a_str'); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A173 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_query(t1.c1, '$.a_obj.a_num_int')=json_query(t2.c1, '$.a_obj.a_num_int'); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A174 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_query(t1.c1, '$.a_obj')=json_query(t2.c1, '$.a_obj'); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A175 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_query(t1.c1, '$.a_obj.a_str')=json_query(t2.c1, '$.a_obj.a_str'); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A176 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_query(t1.c1, '$.a_obj.a_num_int')=json_query(t2.c1, '$.a_obj.a_num_int'); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A177 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_array[0]') c +FROM test_json_cols +ORDER BY __time; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| | +| | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A178 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_array[0].a_str') c +FROM test_json_cols +ORDER BY __time; ++-----+ +| c | ++-----+ +| "A" | +| "A" | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A179 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_array[0].a_num_int') c +FROM test_json_cols +ORDER BY __time; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A180 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj') c +FROM test_json_cols +LIMIT 1; ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]} | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A181 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_str') c +FROM test_json_cols +LIMIT 1; ++-----+ +| c | ++-----+ +| "A" | ++-----+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A182 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_num_int') c +FROM test_json_cols +LIMIT 1; ++---+ +| c | ++---+ +| 1 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A183 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj') c +FROM test_json_cols +OFFSET 1; ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]} | +| | +| | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A184 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_str') c +FROM test_json_cols +OFFSET 1; ++-----+ +| c | ++-----+ +| "A" | +| | +| | ++-----+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A185 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_num_int') c +FROM test_json_cols +OFFSET 1; ++---+ +| c | ++---+ +| 1 | +| | +| | ++---+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A186 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_array[0]') c +FROM test_json_cols +UNION ALL +SELECT json_query(c1, '$.a_obj.a_array[0]') c +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| | +| | +| | +| | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A187 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_array[0].a_str') c +FROM test_json_cols +UNION ALL +SELECT json_query(c1, '$.a_obj.a_array[0].a_str') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "A" | +| "A" | +| "A" | +| "A" | +| | +| | +| | +| | ++-----+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A188 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(c1, '$.a_obj.a_array[0].a_num_int') c +FROM test_json_cols +UNION ALL +SELECT json_query(c1, '$.a_obj.a_array[0].a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| 1 | +| 1 | +| | +| | +| | +| | ++---+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A189 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_query(c1, '$.a_obj') +FROM test_json_cols; ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]} | +| | +| | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "c1", + "outputName" : "v0", + "expectedType" : "COMPLEX", + "pathParts" : [ { + "type" : "field", + "field" : "a_obj" + } ], + "processFromRaw" : true + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "COMPLEX" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A190 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_query(c1, '$.a_obj.a_str') +FROM test_json_cols; ++--------+ +| EXPR$0 | ++--------+ +| "A" | +| "A" | +| | +| | ++--------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "c1", + "outputName" : "v0", + "expectedType" : "COMPLEX", + "pathParts" : [ { + "type" : "field", + "field" : "a_obj" + }, { + "type" : "field", + "field" : "a_str" + } ], + "processFromRaw" : true + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "COMPLEX" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_query TEST_ID: A191 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_query(c1, '$.a_obj.a_num_int') +FROM test_json_cols; ++--------+ +| EXPR$0 | ++--------+ +| 1 | +| 1 | +| | +| | ++--------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "nested-field", + "columnName" : "c1", + "outputName" : "v0", + "expectedType" : "COMPLEX", + "pathParts" : [ { + "type" : "field", + "field" : "a_obj" + }, { + "type" : "field", + "field" : "a_num_int" + } ], + "processFromRaw" : true + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "COMPLEX" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A001 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(value 'A' KEY 'a') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' vAlUe 'A') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 'A1', KEY 'b' value 'A2', KEY 'c' value 'A3') c +FROM test_json_cols; ++------------------------------+ +| c | ++------------------------------+ +| {"a":"A1","b":"A2","c":"A3"} | +| {"a":"A1","b":"A2","c":"A3"} | +| {"a":"A1","b":"A2","c":"A3"} | +| {"a":"A1","b":"A2","c":"A3"} | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'A1', 'b':'A2', 'c':'A3') c +FROM test_json_cols; ++------------------------------+ +| c | ++------------------------------+ +| {"a":"A1","b":"A2","c":"A3"} | +| {"a":"A1","b":"A2","c":"A3"} | +| {"a":"A1","b":"A2","c":"A3"} | +| {"a":"A1","b":"A2","c":"A3"} | ++------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A005 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'aAa' value 'A1', KEY 'AaA' value 'A2', KEY 'AAa' value 'A3') c +FROM test_json_cols; ++------------------------------------+ +| c | ++------------------------------------+ +| {"aAa":"A1","AaA":"A2","AAa":"A3"} | +| {"aAa":"A1","AaA":"A2","AAa":"A3"} | +| {"aAa":"A1","AaA":"A2","AAa":"A3"} | +| {"aAa":"A1","AaA":"A2","AAa":"A3"} | ++------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A006 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('aAa':'A1', 'AaA':'A2', 'AAa':'A3') c +FROM test_json_cols; ++------------------------------------+ +| c | ++------------------------------------+ +| {"aAa":"A1","AaA":"A2","AAa":"A3"} | +| {"aAa":"A1","AaA":"A2","AAa":"A3"} | +| {"aAa":"A1","AaA":"A2","AAa":"A3"} | +| {"aAa":"A1","AaA":"A2","AAa":"A3"} | ++------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A007 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'aaa' value 'A1', KEY 'aaa' value 'A2', KEY 'aaa' value 'A3') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| {"aaa":"A3"} | +| {"aaa":"A3"} | +| {"aaa":"A3"} | +| {"aaa":"A3"} | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A008 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('aaa':'A1', 'aaa':'A2', 'aaa':'A3') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| {"aaa":"A3"} | +| {"aaa":"A3"} | +| {"aaa":"A3"} | +| {"aaa":"A3"} | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A009 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 'A') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A010 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'A') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A011 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY '123' value 'A') c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"123":"A"} | +| {"123":"A"} | +| {"123":"A"} | +| {"123":"A"} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A012 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('123':'A') c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"123":"A"} | +| {"123":"A"} | +| {"123":"A"} | +| {"123":"A"} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A013 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY '日本' value 'A') c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"日本":"A"} | +| {"日本":"A"} | +| {"日本":"A"} | +| {"日本":"A"} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A014 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('日本':'A') c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"日本":"A"} | +| {"日本":"A"} | +| {"日本":"A"} | +| {"日本":"A"} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A015 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a'||'b'||'c' value 'A') c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"abc":"A"} | +| {"abc":"A"} | +| {"abc":"A"} | +| {"abc":"A"} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A016 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a'||'b'||'c':'A') c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"abc":"A"} | +| {"abc":"A"} | +| {"abc":"A"} | +| {"abc":"A"} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A017 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY '"This is My Key"' value 'A') c +FROM test_json_cols; ++----------------------------+ +| c | ++----------------------------+ +| {"\"This is My Key\"":"A"} | +| {"\"This is My Key\"":"A"} | +| {"\"This is My Key\"":"A"} | +| {"\"This is My Key\"":"A"} | ++----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A018 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('"This is My Key"':'A') c +FROM test_json_cols; ++----------------------------+ +| c | ++----------------------------+ +| {"\"This is My Key\"":"A"} | +| {"\"This is My Key\"":"A"} | +| {"\"This is My Key\"":"A"} | +| {"\"This is My Key\"":"A"} | ++----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A019 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY json_value(s_str, '$') value 'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A020 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(json_value(s_str, '$'):'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A021 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 123 value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A022 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(123:'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A023 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 1+1 value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A024 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(1+1:'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A025 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY json_value(s_num_int, '$' RETURNING bigint) value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A026 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(json_value(s_num_int, '$' RETURNING bigint):'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A027 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 0.123 value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A028 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(0.123:'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A029 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 0.1+0.1 value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A030 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(0.1+0.1:'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A031 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY json_value(s_num_float, '$' RETURNING DOUBLE) value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A032 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(json_value(s_num_float, '$' RETURNING DOUBLE):'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A033 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY TRUE value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A034 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(TRUE:'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A035 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY (1=2) value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A036 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object((1=2):'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A037 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY json_value(s_bool, '$' RETURNING boolean) value 'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A038 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(json_value(s_bool, '$' RETURNING boolean):'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A039 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY NULL value 'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A040 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(NULL:'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A041 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY json_value(s_null, '$') value 'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A042 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(json_value(s_null, '$'):'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A043 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY json_value(c1, '$.doesnotexist') value 'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A044 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(json_value(c1, '$.doesnotexist'):'A') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A045 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY __time value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A046 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(__time:'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A047 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY CURRENT_TIMESTAMP value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A048 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(CURRENT_TIMESTAMP:'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A049 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY c1 value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A050 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(c1:'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A051 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY json_query(c1, '$.a_array[0].a_obj') value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A052 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(json_query(c1, '$.a_array[0].a_obj'):'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A053 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY json_object(KEY c2 value 'B') value 'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A054 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(json_object(KEY c2 value 'B'):'A') c +FROM test_json_cols; +field name must be a STRING +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A055 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 'A') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A056 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'A') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | +| {"a":"A"} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A057 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value '123') c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"a":"123"} | +| {"a":"123"} | +| {"a":"123"} | +| {"a":"123"} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A058 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'123') c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"a":"123"} | +| {"a":"123"} | +| {"a":"123"} | +| {"a":"123"} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A059 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value '日本') c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":"日本"} | +| {"a":"日本"} | +| {"a":"日本"} | +| {"a":"日本"} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A060 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'日本') c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":"日本"} | +| {"a":"日本"} | +| {"a":"日本"} | +| {"a":"日本"} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A061 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 'a'||'b'||'c') c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"a":"abc"} | +| {"a":"abc"} | +| {"a":"abc"} | +| {"a":"abc"} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A062 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'a'||'b'||'c') c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"a":"abc"} | +| {"a":"abc"} | +| {"a":"abc"} | +| {"a":"abc"} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A063 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value '"This is My Key"') c +FROM test_json_cols; ++----------------------------+ +| c | ++----------------------------+ +| {"a":"\"This is My Key\""} | +| {"a":"\"This is My Key\""} | +| {"a":"\"This is My Key\""} | +| {"a":"\"This is My Key\""} | ++----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A064 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'"This is My Key"') c +FROM test_json_cols; ++----------------------------+ +| c | ++----------------------------+ +| {"a":"\"This is My Key\""} | +| {"a":"\"This is My Key\""} | +| {"a":"\"This is My Key\""} | +| {"a":"\"This is My Key\""} | ++----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A065 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value json_value(s_str, '$')) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":"A"} | +| {"a":"A"} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A066 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':json_value(s_str, '$')) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":"A"} | +| {"a":"A"} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A067 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 123) c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":123} | +| {"a":123} | +| {"a":123} | +| {"a":123} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A068 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':123) c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":123} | +| {"a":123} | +| {"a":123} | +| {"a":123} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A069 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 1+1) c +FROM test_json_cols; ++---------+ +| c | ++---------+ +| {"a":2} | +| {"a":2} | +| {"a":2} | +| {"a":2} | ++---------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A070 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':1+1) c +FROM test_json_cols; ++---------+ +| c | ++---------+ +| {"a":2} | +| {"a":2} | +| {"a":2} | +| {"a":2} | ++---------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A071 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value json_value(s_num_int, '$' RETURNING bigint)) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":1} | +| {"a":1} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A072 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':json_value(s_num_int, '$' RETURNING bigint)) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":1} | +| {"a":1} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A073 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 0.123) c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"a":0.123} | +| {"a":0.123} | +| {"a":0.123} | +| {"a":0.123} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A074 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':0.123) c +FROM test_json_cols; ++-------------+ +| c | ++-------------+ +| {"a":0.123} | +| {"a":0.123} | +| {"a":0.123} | +| {"a":0.123} | ++-------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A075 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 0.1+0.1) c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":0.2} | +| {"a":0.2} | +| {"a":0.2} | +| {"a":0.2} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A076 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':0.1+0.1) c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":0.2} | +| {"a":0.2} | +| {"a":0.2} | +| {"a":0.2} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A077 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value json_value(s_num_float, '$' RETURNING DOUBLE)) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":0.1} | +| {"a":0.1} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A078 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':json_value(s_num_float, '$' RETURNING DOUBLE)) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":0.1} | +| {"a":0.1} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A079 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value TRUE) c +FROM test_json_cols; ++---------+ +| c | ++---------+ +| {"a":1} | +| {"a":1} | +| {"a":1} | +| {"a":1} | ++---------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A080 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':true) c +FROM test_json_cols; ++---------+ +| c | ++---------+ +| {"a":1} | +| {"a":1} | +| {"a":1} | +| {"a":1} | ++---------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A081 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value (1=2)) c +FROM test_json_cols; ++---------+ +| c | ++---------+ +| {"a":0} | +| {"a":0} | +| {"a":0} | +| {"a":0} | ++---------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A082 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':(1=2)) c +FROM test_json_cols; ++---------+ +| c | ++---------+ +| {"a":0} | +| {"a":0} | +| {"a":0} | +| {"a":0} | ++---------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A083 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value json_value(s_bool, '$' RETURNING boolean)) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":1} | +| {"a":1} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A084 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':json_value(s_bool, '$' RETURNING boolean)) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":1} | +| {"a":1} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A085 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value NULL) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":null} | +| {"a":null} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A086 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':null) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":null} | +| {"a":null} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A087 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value json_value(s_null, '$')) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":null} | +| {"a":null} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A088 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':json_value(s_null, '$')) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":null} | +| {"a":null} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A089 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value json_value(c1, '$.doesnotexist')) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":null} | +| {"a":null} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A090 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':json_value(c1, '$.doesnotexist')) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":null} | +| {"a":null} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A091 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value __time) c +FROM test_json_cols; ++---------------------+ +| c | ++---------------------+ +| {"a":1640995200000} | +| {"a":1640995200000} | +| {"a":1643673600000} | +| {"a":1643673600000} | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A092 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':__time) c +FROM test_json_cols; ++---------------------+ +| c | ++---------------------+ +| {"a":1640995200000} | +| {"a":1640995200000} | +| {"a":1643673600000} | +| {"a":1643673600000} | ++---------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A093 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT json_object(KEY 'a' value CURRENT_TIMESTAMP) c + FROM test_json_cols); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A094 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT json_object('a':current_timestamp) c + FROM test_json_cols); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A095 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value c_empty_obj) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":null} | +| {"a":null} | +| {"a":{}} | +| {"a":{}} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A096 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':c_empty_obj) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":null} | +| {"a":null} | +| {"a":{}} | +| {"a":{}} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A097 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value c_empty_array) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":[]} | +| {"a":[]} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A098 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':c_empty_array) c +FROM test_json_cols; ++------------+ +| c | ++------------+ +| {"a":[]} | +| {"a":[]} | +| {"a":null} | +| {"a":null} | ++------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A099 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value c_empty_obj_nested) c +FROM test_json_cols; ++-----------------------------------+ +| c | ++-----------------------------------+ +| {"a":null} | +| {"a":null} | +| {"a":{"o1":{},"o2":[],"o3":null}} | +| {"a":{"o1":{},"o2":[],"o3":null}} | ++-----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A100 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':c_empty_obj_nested) c +FROM test_json_cols; ++-----------------------------------+ +| c | ++-----------------------------------+ +| {"a":null} | +| {"a":null} | +| {"a":{"o1":{},"o2":[],"o3":null}} | +| {"a":{"o1":{},"o2":[],"o3":null}} | ++-----------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A101 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value c_empty_array_nested) c +FROM test_json_cols; ++--------------------+ +| c | ++--------------------+ +| {"a":[{},[],null]} | +| {"a":[{},[],null]} | +| {"a":null} | +| {"a":null} | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A102 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':c_empty_array_nested) c +FROM test_json_cols; ++--------------------+ +| c | ++--------------------+ +| {"a":[{},[],null]} | +| {"a":[{},[],null]} | +| {"a":null} | +| {"a":null} | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A103 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value c1) c +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A104 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':c1) c +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A105 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value json_query(c1, '$.a_array[0].a_obj')) c +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a":null} | +| {"a":null} | +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}} | +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}} | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A106 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':json_query(c1, '$.a_array[0].a_obj')) c +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a":null} | +| {"a":null} | +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}} | +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}} | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A107 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value json_object(KEY 'b' value 'B')) c +FROM test_json_cols; ++-----------------+ +| c | ++-----------------+ +| {"a":{"b":"B"}} | +| {"a":{"b":"B"}} | +| {"a":{"b":"B"}} | +| {"a":{"b":"B"}} | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A108 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':json_object(KEY 'b' value 'B')) c +FROM test_json_cols; ++-----------------+ +| c | ++-----------------+ +| {"a":{"b":"B"}} | +| {"a":{"b":"B"}} | +| {"a":{"b":"B"}} | +| {"a":{"b":"B"}} | ++-----------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A109 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_object(KEY 'a' value c1) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A110 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_object('a':c1) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A111 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_object(KEY 'a' value c1) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A112 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_object('a':c1) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A113 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_object(KEY 'a' value c1) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A114 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_object('a':c1) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A115 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL json_object(KEY 'a' value c1) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A116 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL json_object('a':c1) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A117 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_object(KEY 'a' value c1) mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A118 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_object('a':c1) mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A119 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT json_object(KEY 'a' value c1) c + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A120 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT json_object('a':c1) c + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A121 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_object(KEY 'a' value c1) mycol + FROM test_json_cols) +GROUP BY mycol; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A122 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_object('a':c1) mycol + FROM test_json_cols) +GROUP BY mycol; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A123 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT c1, + json_object(KEY 'a' value c1) mycol + FROM test_json_cols) +GROUP BY mycol +HAVING mycol IS NOT NULL; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A124 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT c1, + json_object('a':c1) mycol + FROM test_json_cols) +GROUP BY mycol +HAVING mycol IS NOT NULL; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A125 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_object(KEY 'a' value c1) = json_object(KEY 'a' value c1); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A126 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_object('a':c1) = json_object('a':c1); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A127 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_object(KEY 'a' value t1.c1)=json_object(KEY 'a' value t2.c1); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A128 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_object('a':t1.c1)=json_object('a':t2.c1); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A129 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_object(KEY 'a' value t1.c1)=json_object(KEY 'a' value t2.c1); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A130 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_object('a':t1.c1)=json_object('a':t2.c1); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A131 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_object(KEY 'a' value t1.c1)=json_object(KEY 'a' value t2.c1); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A132 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_object('a':t1.c1)=json_object('a':t2.c1); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A133 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 'b') c +FROM test_json_cols +ORDER BY __time; ++-----------+ +| c | ++-----------+ +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A134 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'b') c +FROM test_json_cols +ORDER BY __time; ++-----------+ +| c | ++-----------+ +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A135 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 'b') c +FROM test_json_cols +LIMIT 1; ++-----------+ +| c | ++-----------+ +| {"a":"b"} | ++-----------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A136 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'b') c +FROM test_json_cols +LIMIT 1; ++-----------+ +| c | ++-----------+ +| {"a":"b"} | ++-----------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A137 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 'b') c +FROM test_json_cols +OFFSET 1; ++-----------+ +| c | ++-----------+ +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | ++-----------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A138 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'b') c +FROM test_json_cols +OFFSET 1; ++-----------+ +| c | ++-----------+ +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | ++-----------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A139 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object(KEY 'a' value 'b') c +FROM test_json_cols +UNION ALL +SELECT json_object(KEY 'a' value 'b') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | ++-----------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A140 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_object('a':'b') c +FROM test_json_cols +UNION ALL +SELECT json_object('a':'b') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | +| {"a":"b"} | ++-----------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A141 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_object(KEY 'a' value c1) +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "expression", + "name" : "v0", + "expression" : "json_object('a',\"c1\")", + "outputType" : "COMPLEX" + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "COMPLEX" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_object TEST_ID: A142 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_object('a':c1) +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | +| {"a":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "expression", + "name" : "v0", + "expression" : "json_object('a',\"c1\")", + "outputType" : "COMPLEX" + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "COMPLEX" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A001 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('1234') c +FROM test_json_cols; ++------+ +| c | ++------+ +| 1234 | +| 1234 | +| 1234 | +| 1234 | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('"日本"') c +FROM test_json_cols; ++------+ +| c | ++------+ +| "日本" | +| "日本" | +| "日本" | +| "日本" | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('"abc"') c +FROM test_json_cols; ++-------+ +| c | ++-------+ +| "abc" | +| "abc" | +| "abc" | +| "abc" | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('"'||'a'||'b'||'c'||'"') c +FROM test_json_cols; ++-------+ +| c | ++-------+ +| "abc" | +| "abc" | +| "abc" | +| "abc" | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A005 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('"This is My Key"') c +FROM test_json_cols; ++------------------+ +| c | ++------------------+ +| "This is My Key" | +| "This is My Key" | +| "This is My Key" | +| "This is My Key" | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A006 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(parse_json('"AbCd"'), '$') c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| "AbCd" | +| "AbCd" | +| "AbCd" | +| "AbCd" | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A007 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(s_str, '$')) c +FROM test_json_cols; +ExpressionProcessingException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A008 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(1234) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A009 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(1+1) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A010 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(parse_json(1234), '$') c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A011 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(s_num_int, '$' RETURNING bigint)) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A012 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(0.1234) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A013 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(0.1+0.1) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A014 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(parse_json(0.1234), '$') c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A015 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(s_num_float, '$' RETURNING DOUBLE)) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A016 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(TRUE) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A017 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json((1=2)) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A018 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(parse_json(TRUE), '$') c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A019 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(s_bool, '$' RETURNING boolean)) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A020 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(NULL) c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A021 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(parse_json(NULL), '$') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A022 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_value(s_null, '$')) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A023 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(__time) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A024 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(CURRENT_TIMESTAMP) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A025 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{}') c +FROM test_json_cols; ++----+ +| c | ++----+ +| {} | +| {} | +| {} | +| {} | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A026 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": "A", "b": {}}') c +FROM test_json_cols; ++------------------+ +| c | ++------------------+ +| {"a":"A","b":{}} | +| {"a":"A","b":{}} | +| {"a":"A","b":{}} | +| {"a":"A","b":{}} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A027 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('[]') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A028 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": "A", "b": []}') c +FROM test_json_cols; ++------------------+ +| c | ++------------------+ +| {"a":"A","b":[]} | +| {"a":"A","b":[]} | +| {"a":"A","b":[]} | +| {"a":"A","b":[]} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A029 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": "A", "b": 1, "c": 0.1, "d": true, "e": null}') c +FROM test_json_cols; ++-------------------------------------------+ +| c | ++-------------------------------------------+ +| {"a":"A","b":1,"c":0.1,"d":true,"e":null} | +| {"a":"A","b":1,"c":0.1,"d":true,"e":null} | +| {"a":"A","b":1,"c":0.1,"d":true,"e":null} | +| {"a":"A","b":1,"c":0.1,"d":true,"e":null} | ++-------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A030 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": "A", "b": [{"c": 123}, {"d": null, "e": [1, 2, 3]}]}') c +FROM test_json_cols; ++--------------------------------------------------+ +| c | ++--------------------------------------------------+ +| {"a":"A","b":[{"c":123},{"d":null,"e":[1,2,3]}]} | +| {"a":"A","b":[{"c":123},{"d":null,"e":[1,2,3]}]} | +| {"a":"A","b":[{"c":123},{"d":null,"e":[1,2,3]}]} | +| {"a":"A","b":[{"c":123},{"d":null,"e":[1,2,3]}]} | ++--------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A031 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(c1) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A032 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(json_query(c1, '$.a_array[0].a_obj')) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A033 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{'a': 123}') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A034 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('"a": 123') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "a" | +| "a" | +| "a" | +| "a" | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A035 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": 123; "b": 456}') c +FROM test_json_cols; +ExpressionProcessingException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A036 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": 123 456}') c +FROM test_json_cols; +ExpressionProcessingException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A037 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": "A", "b": ["c": {}, "d": {}]}') c +FROM test_json_cols; +ExpressionProcessingException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A038 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE parse_json(to_json_string(c1)) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A039 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE parse_json(to_json_string(c1)) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A040 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT parse_json(to_json_string(c1)) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A041 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL parse_json(to_json_string(c1)) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A042 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT parse_json(to_json_string(c1)) mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A043 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT parse_json(to_json_string(c1)) c + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A044 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT parse_json(to_json_string(c1)) mycol + FROM test_json_cols) +GROUP BY mycol; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A045 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT c1, + parse_json(to_json_string(c1)) mycol + FROM test_json_cols) +GROUP BY mycol +HAVING mycol IS NOT NULL; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A046 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE parse_json(to_json_string(c1)) = parse_json(to_json_string(c1)); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A047 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON parse_json(to_json_string(t1.c1))=parse_json(to_json_string(t2.c1)); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A048 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON parse_json(to_json_string(t1.c1))=parse_json(to_json_string(t2.c1)); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A049 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE parse_json(to_json_string(t1.c1))=parse_json(to_json_string(t2.c1)); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A050 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +ORDER BY __time; ++-------------------------------------+ +| c | ++-------------------------------------+ +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | ++-------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A051 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +LIMIT 1; ++-------------------------------------+ +| c | ++-------------------------------------+ +| {"a":"A","b":123,"c":true,"d":null} | ++-------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A052 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +OFFSET 1; ++-------------------------------------+ +| c | ++-------------------------------------+ +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | ++-------------------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A053 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +UNION ALL +SELECT parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols; ++-------------------------------------+ +| c | ++-------------------------------------+ +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | ++-------------------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_parse_json TEST_ID: A054 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT parse_json(to_json_string(c1)) +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | +| {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | +| {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "expression", + "name" : "v0", + "expression" : "parse_json(to_json_string(\"c1\"))", + "outputType" : "COMPLEX" + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "COMPLEX" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A001 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('1234') c +FROM test_json_cols; ++------+ +| c | ++------+ +| 1234 | +| 1234 | +| 1234 | +| 1234 | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('"日本"') c +FROM test_json_cols; ++------+ +| c | ++------+ +| "日本" | +| "日本" | +| "日本" | +| "日本" | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('"abc"') c +FROM test_json_cols; ++-------+ +| c | ++-------+ +| "abc" | +| "abc" | +| "abc" | +| "abc" | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('"'||'a'||'b'||'c'||'"') c +FROM test_json_cols; ++-------+ +| c | ++-------+ +| "abc" | +| "abc" | +| "abc" | +| "abc" | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A005 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('"This is My Key"') c +FROM test_json_cols; ++------------------+ +| c | ++------------------+ +| "This is My Key" | +| "This is My Key" | +| "This is My Key" | +| "This is My Key" | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A006 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(try_parse_json('"AbCd"'), '$') c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| "AbCd" | +| "AbCd" | +| "AbCd" | +| "AbCd" | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A007 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(s_str, '$')) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A008 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(1234) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A009 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(1+1) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A010 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(try_parse_json(1234), '$') c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A011 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(s_num_int, '$' RETURNING bigint)) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A012 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(0.1234) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A013 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(0.1+0.1) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A014 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(try_parse_json(0.1234), '$') c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A015 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(s_num_float, '$' RETURNING DOUBLE)) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A016 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(TRUE) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A017 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json((1=2)) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A018 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(try_parse_json(TRUE), '$') c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A019 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(s_bool, '$' RETURNING boolean)) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A020 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(NULL) c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A021 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_query(try_parse_json(NULL), '$') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A022 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_value(s_null, '$')) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A023 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(__time) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A024 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(CURRENT_TIMESTAMP) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A025 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{}') c +FROM test_json_cols; ++----+ +| c | ++----+ +| {} | +| {} | +| {} | +| {} | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A026 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": "A", "b": {}}') c +FROM test_json_cols; ++------------------+ +| c | ++------------------+ +| {"a":"A","b":{}} | +| {"a":"A","b":{}} | +| {"a":"A","b":{}} | +| {"a":"A","b":{}} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A027 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('[]') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| [] | +| [] | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A028 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": "A", "b": []}') c +FROM test_json_cols; ++------------------+ +| c | ++------------------+ +| {"a":"A","b":[]} | +| {"a":"A","b":[]} | +| {"a":"A","b":[]} | +| {"a":"A","b":[]} | ++------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A029 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": "A", "b": 1, "c": 0.1, "d": true, "e": null}') c +FROM test_json_cols; ++-------------------------------------------+ +| c | ++-------------------------------------------+ +| {"a":"A","b":1,"c":0.1,"d":true,"e":null} | +| {"a":"A","b":1,"c":0.1,"d":true,"e":null} | +| {"a":"A","b":1,"c":0.1,"d":true,"e":null} | +| {"a":"A","b":1,"c":0.1,"d":true,"e":null} | ++-------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A030 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": "A", "b": [{"c": 123}, {"d": null, "e": [1, 2, 3]}]}') c +FROM test_json_cols; ++--------------------------------------------------+ +| c | ++--------------------------------------------------+ +| {"a":"A","b":[{"c":123},{"d":null,"e":[1,2,3]}]} | +| {"a":"A","b":[{"c":123},{"d":null,"e":[1,2,3]}]} | +| {"a":"A","b":[{"c":123},{"d":null,"e":[1,2,3]}]} | +| {"a":"A","b":[{"c":123},{"d":null,"e":[1,2,3]}]} | ++--------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A031 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(c1) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A032 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(json_query(c1, '$.a_array[0].a_obj')) c +FROM test_json_cols; +Cannot apply +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A033 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{'a': 123}') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A034 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('"a": 123') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "a" | +| "a" | +| "a" | +| "a" | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A035 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": 123; "b": 456}') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A036 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": 123 456}') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A037 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": "A", "b": ["c": {}, "d": {}]}') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A038 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(to_json_string(c_empty_obj)) c +FROM test_json_cols; ++----+ +| c | ++----+ +| {} | +| {} | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A039 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(to_json_string(c_empty_array)) c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A040 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(to_json_string(c_empty_obj_nested)) c +FROM test_json_cols; ++-----------------------------+ +| c | ++-----------------------------+ +| {"o1":{},"o2":[],"o3":null} | +| {"o1":{},"o2":[],"o3":null} | +| | +| | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A041 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json(to_json_string(c_empty_array_nested)) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [{},[],null] | +| [{},[],null] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A042 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE try_parse_json(to_json_string(c1)) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A043 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE try_parse_json(to_json_string(c1)) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A044 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT try_parse_json(to_json_string(c1)) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A045 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL try_parse_json(to_json_string(c1)) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A046 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT try_parse_json(to_json_string(c1)) mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A047 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT try_parse_json(to_json_string(c1)) c + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A048 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT try_parse_json(to_json_string(c1)) mycol + FROM test_json_cols) +GROUP BY mycol; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A049 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT c1, + try_parse_json(to_json_string(c1)) mycol + FROM test_json_cols) +GROUP BY mycol +HAVING mycol IS NOT NULL; ++---+ +| c | ++---+ +| 2 | +| 2 | ++---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A050 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE try_parse_json(to_json_string(c1)) = try_parse_json(to_json_string(c1)); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A051 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON try_parse_json(to_json_string(t1.c1))=try_parse_json(to_json_string(t2.c1)); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A052 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON try_parse_json(to_json_string(t1.c1))=try_parse_json(to_json_string(t2.c1)); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A053 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE try_parse_json(to_json_string(t1.c1))=try_parse_json(to_json_string(t2.c1)); +Cannot join +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A054 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +ORDER BY __time; ++-------------------------------------+ +| c | ++-------------------------------------+ +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | ++-------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A055 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +LIMIT 1; ++-------------------------------------+ +| c | ++-------------------------------------+ +| {"a":"A","b":123,"c":true,"d":null} | ++-------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A056 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +OFFSET 1; ++-------------------------------------+ +| c | ++-------------------------------------+ +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | ++-------------------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A057 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT try_parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +UNION ALL +SELECT parse_json('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols; ++-------------------------------------+ +| c | ++-------------------------------------+ +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | +| {"a":"A","b":123,"c":true,"d":null} | ++-------------------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_try_parse_json TEST_ID: A058 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT try_parse_json(to_json_string(c1)) +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | +| {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | +| {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "expression", + "name" : "v0", + "expression" : "try_parse_json(to_json_string(\"c1\"))", + "outputType" : "COMPLEX" + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "COMPLEX" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A001 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('1234') c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| "1234" | +| "1234" | +| "1234" | +| "1234" | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('日本') c +FROM test_json_cols; ++------+ +| c | ++------+ +| "日本" | +| "日本" | +| "日本" | +| "日本" | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('abc') c +FROM test_json_cols; ++-------+ +| c | ++-------+ +| "abc" | +| "abc" | +| "abc" | +| "abc" | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('a'||'b'||'c') c +FROM test_json_cols; ++-------+ +| c | ++-------+ +| "abc" | +| "abc" | +| "abc" | +| "abc" | ++-------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A005 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('"This is My Key"') c +FROM test_json_cols; ++----------------------+ +| c | ++----------------------+ +| "\"This is My Key\"" | +| "\"This is My Key\"" | +| "\"This is My Key\"" | +| "\"This is My Key\"" | ++----------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A006 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(to_json_string('AbCd')) c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| "AbCd" | +| "AbCd" | +| "AbCd" | +| "AbCd" | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A007 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(s_str, '$')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| "A" | +| "A" | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A008 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(1234) c +FROM test_json_cols; ++------+ +| c | ++------+ +| 1234 | +| 1234 | +| 1234 | +| 1234 | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A009 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(1+1) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 2 | +| 2 | +| 2 | +| 2 | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A010 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(to_json_string(1234)) c +FROM test_json_cols; ++------+ +| c | ++------+ +| 1234 | +| 1234 | +| 1234 | +| 1234 | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A011 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(s_num_int, '$' RETURNING bigint)) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A012 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(0.1234) c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| 0.1234 | +| 0.1234 | +| 0.1234 | +| 0.1234 | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A013 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(0.1+0.1) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.2 | +| 0.2 | +| 0.2 | +| 0.2 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A014 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(to_json_string(0.1234)) c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| 0.1234 | +| 0.1234 | +| 0.1234 | +| 0.1234 | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A015 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(s_num_float, '$' RETURNING DOUBLE)) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 0.1 | +| 0.1 | +| | +| | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A016 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(TRUE) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| 1 | +| 1 | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A017 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string((1=2)) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 0 | +| 0 | +| 0 | +| 0 | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A018 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(to_json_string(TRUE)) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| 1 | +| 1 | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A019 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(s_bool, '$' RETURNING boolean)) c +FROM test_json_cols; ++---+ +| c | ++---+ +| 1 | +| 1 | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A020 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(NULL) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A021 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT parse_json(to_json_string(NULL)) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A022 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_value(s_null, '$')) c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A023 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(__time) c +FROM test_json_cols; ++---------------+ +| c | ++---------------+ +| 1640995200000 | +| 1640995200000 | +| 1643673600000 | +| 1643673600000 | ++---------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A024 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) +FROM + (SELECT to_json_string(CURRENT_TIMESTAMP) c + FROM test_json_cols); ++--------+ +| EXPR$0 | ++--------+ +| 4 | ++--------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A025 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{}') c +FROM test_json_cols; ++------+ +| c | ++------+ +| "{}" | +| "{}" | +| "{}" | +| "{}" | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A026 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": "A", "b": {}}') c +FROM test_json_cols; ++-----------------------------+ +| c | ++-----------------------------+ +| "{\"a\": \"A\", \"b\": {}}" | +| "{\"a\": \"A\", \"b\": {}}" | +| "{\"a\": \"A\", \"b\": {}}" | +| "{\"a\": \"A\", \"b\": {}}" | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A027 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('[]') c +FROM test_json_cols; ++------+ +| c | ++------+ +| "[]" | +| "[]" | +| "[]" | +| "[]" | ++------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A028 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": "A", "b": []}') c +FROM test_json_cols; ++-----------------------------+ +| c | ++-----------------------------+ +| "{\"a\": \"A\", \"b\": []}" | +| "{\"a\": \"A\", \"b\": []}" | +| "{\"a\": \"A\", \"b\": []}" | +| "{\"a\": \"A\", \"b\": []}" | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A029 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": "A", "b": 1, "c": 0.1, "d": true, "e": null}') c +FROM test_json_cols; ++------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------+ +| "{\"a\": \"A\", \"b\": 1, \"c\": 0.1, \"d\": true, \"e\": null}" | +| "{\"a\": \"A\", \"b\": 1, \"c\": 0.1, \"d\": true, \"e\": null}" | +| "{\"a\": \"A\", \"b\": 1, \"c\": 0.1, \"d\": true, \"e\": null}" | +| "{\"a\": \"A\", \"b\": 1, \"c\": 0.1, \"d\": true, \"e\": null}" | ++------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A030 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": "A", "b": [{"c": 123}, {"d": null, "e": [1, 2, 3]}]}') c +FROM test_json_cols; ++--------------------------------------------------------------------------+ +| c | ++--------------------------------------------------------------------------+ +| "{\"a\": \"A\", \"b\": [{\"c\": 123}, {\"d\": null, \"e\": [1, 2, 3]}]}" | +| "{\"a\": \"A\", \"b\": [{\"c\": 123}, {\"d\": null, \"e\": [1, 2, 3]}]}" | +| "{\"a\": \"A\", \"b\": [{\"c\": 123}, {\"d\": null, \"e\": [1, 2, 3]}]}" | +| "{\"a\": \"A\", \"b\": [{\"c\": 123}, {\"d\": null, \"e\": [1, 2, 3]}]}" | ++--------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A031 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(c1) c +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | +| {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | +| {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A032 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_query(c1, '$.a_array[0].a_obj')) c +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| | +| | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A033 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(json_object('c1': c1, 'c2': c2)) c +FROM test_json_cols; ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"c1":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]},"c2":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"c1":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]},"c2":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]}} | +| {"c1":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]},"c2":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | +| {"c1":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]},"c2":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]}} | ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A034 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(c_empty_obj) c +FROM test_json_cols; ++----+ +| c | ++----+ +| {} | +| {} | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A035 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(c_empty_array) c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A036 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(c_empty_obj_nested) c +FROM test_json_cols; ++-----------------------------+ +| c | ++-----------------------------+ +| {"o1":{},"o2":[],"o3":null} | +| {"o1":{},"o2":[],"o3":null} | +| | +| | ++-----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A037 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string(c_empty_array_nested) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [{},[],null] | +| [{},[],null] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A038 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{'a': 123}') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A039 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('"a": 123') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| "\"a\": 123" | +| "\"a\": 123" | +| "\"a\": 123" | +| "\"a\": 123" | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A040 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": 123; "b": 456}') c +FROM test_json_cols; ++----------------------------+ +| c | ++----------------------------+ +| "{\"a\": 123; \"b\": 456}" | +| "{\"a\": 123; \"b\": 456}" | +| "{\"a\": 123; \"b\": 456}" | +| "{\"a\": 123; \"b\": 456}" | ++----------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A041 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": 123 456}') c +FROM test_json_cols; ++--------------------+ +| c | ++--------------------+ +| "{\"a\": 123 456}" | +| "{\"a\": 123 456}" | +| "{\"a\": 123 456}" | +| "{\"a\": 123 456}" | ++--------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A042 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": "A", "b": ["c": {}, "d": {}]}') c +FROM test_json_cols; ++-------------------------------------------------+ +| c | ++-------------------------------------------------+ +| "{\"a\": \"A\", \"b\": [\"c\": {}, \"d\": {}]}" | +| "{\"a\": \"A\", \"b\": [\"c\": {}, \"d\": {}]}" | +| "{\"a\": \"A\", \"b\": [\"c\": {}, \"d\": {}]}" | +| "{\"a\": \"A\", \"b\": [\"c\": {}, \"d\": {}]}" | ++-------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A043 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE to_json_string(c1) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A044 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE to_json_string(c1) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A045 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT to_json_string(c1) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A046 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL to_json_string(c1) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A047 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT to_json_string(c1) mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A048 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT DISTINCT to_json_string(json_query(c1, '$.a_array[0].a_obj')) c +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | +| | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A049 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT to_json_string(json_query(c1, '$.a_array[0].a_obj')) mycol + FROM test_json_cols) +GROUP BY mycol; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +| mycol | c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | 2 | +| | 2 | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A050 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT c1, + to_json_string(json_query(c1, '$.a_array[0].a_obj')) mycol + FROM test_json_cols) +GROUP BY mycol +HAVING mycol IS NOT NULL; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +| mycol | c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]} | 2 | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A051 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE to_json_string(c1) = to_json_string(c1); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A052 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON to_json_string(t1.c1)=to_json_string(t2.c1); ++---+ +| c | ++---+ +| 8 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A053 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON to_json_string(t1.c1)=to_json_string(t2.c1); ++---+ +| c | ++---+ +| 8 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A054 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE to_json_string(t1.c1)=to_json_string(t2.c1); ++---+ +| c | ++---+ +| 8 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A055 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +ORDER BY __time; ++--------------------------------------------------------+ +| c | ++--------------------------------------------------------+ +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | ++--------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A056 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +LIMIT 1; ++--------------------------------------------------------+ +| c | ++--------------------------------------------------------+ +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | ++--------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A057 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +OFFSET 1; ++--------------------------------------------------------+ +| c | ++--------------------------------------------------------+ +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | ++--------------------------------------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A058 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT to_json_string('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols +UNION ALL +SELECT to_json_string('{"a": "A", "b": 123, "c": true, "d": null}') c +FROM test_json_cols; ++--------------------------------------------------------+ +| c | ++--------------------------------------------------------+ +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | +| "{\"a\": \"A\", \"b\": 123, \"c\": true, \"d\": null}" | ++--------------------------------------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_to_json_string TEST_ID: A059 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT to_json_string(c1) +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | +| {"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null],"a_obj":{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},"a_array":[{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]},{"a_str":"A","a_num_int":1,"a_num_float":0.1,"a_bool":true,"a_null":null,"a_empty_obj":{},"a_empty_array":[],"a_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"a_empty_array_nested":[{},[],null]}]}]} | +| {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | +| {"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null],"b_obj":{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},"b_array":[{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]},{"b_str":"A","b_num_int":1,"b_num_float":0.1,"b_bool":true,"b_null":null,"b_empty_obj":{},"b_empty_array":[],"b_empty_obj_nested":{"o1":{},"o2":[],"o3":null},"b_empty_array_nested":[{},[],null]}]}]} | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "expression", + "name" : "v0", + "expression" : "to_json_string(\"c1\")", + "outputType" : "STRING" + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "STRING" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A001 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(__time, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(__time, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(__time, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys('ABCD', '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A005 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys('ABCD', '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A006 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys('ABCD', '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A007 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(s_str, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A008 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(s_str, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A009 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(s_str, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A010 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(1234, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A011 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(1234, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A012 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(1234, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A013 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(s_num_int, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A014 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(s_num_int, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A015 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(s_num_int, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A016 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(1234.5678, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A017 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(1234.5678, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A018 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(1234.5678, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A019 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(s_num_float, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A020 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(s_num_float, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A021 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(s_num_float, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A022 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(NULL, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A023 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(NULL, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A024 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(NULL, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A025 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(s_null, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A026 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(s_null, '$') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A027 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(s_null, '$') IS NOT NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A028 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.does.not.exist') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A029 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(c1, '$.does.not.exist') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A030 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0,1]') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A031 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0:2]') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A032 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[:2]') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A033 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0:]') c +FROM test_json_cols; +QueryInterruptedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A034 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[-1].a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A035 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[-2].a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A036 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[-1234567890].a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A037 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_str.length()') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A038 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(s_str, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A039 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(s_num_int, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A040 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(s_num_float, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A041 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(s_null, '$') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A042 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c_empty_obj, '$') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A043 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c_empty_array, '$') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A044 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c_empty_obj_nested, '$') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [o1, o2, o3] | +| [o1, o2, o3] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A045 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c_empty_array_nested, '$') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| | +| | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A046 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$') c +FROM test_json_cols; ++---------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++---------------------------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | +| [b_str, b_num_int, b_num_float, b_bool, b_null, b_empty_obj, b_empty_array, b_empty_obj_nested, b_empty_array_nested, b_obj, b_array] | +| [b_str, b_num_int, b_num_float, b_bool, b_null, b_empty_obj, b_empty_array, b_empty_obj_nested, b_empty_array_nested, b_obj, b_array] | ++---------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A047 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj') c +FROM test_json_cols; ++---------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++---------------------------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | +| | +| | ++---------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A048 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A049 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A050 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_num_float') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A051 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A052 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_empty_obj') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A053 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_empty_array') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A054 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_empty_obj_nested') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [o1, o2, o3] | +| [o1, o2, o3] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A055 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_empty_array_nested') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| | +| | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A056 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_obj') c +FROM test_json_cols; ++-----------------------------------------------------------------------------------------------------------------------+ +| c | ++-----------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| | +| | ++-----------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A057 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array') c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| [0, 1] | +| [0, 1] | +| | +| | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A058 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0]') c +FROM test_json_cols; ++-----------------------------------------------------------------------------------------------------------------------+ +| c | ++-----------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| | +| | ++-----------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A059 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A060 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A061 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_num_float') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A062 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A063 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_empty_obj') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A064 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_empty_array') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A065 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_empty_obj_nested') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [o1, o2, o3] | +| [o1, o2, o3] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A066 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_empty_array_nested') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| | +| | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A067 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array') c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| [0, 1] | +| [0, 1] | +| | +| | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A068 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0]') c +FROM test_json_cols; ++---------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++---------------------------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | +| | +| | ++---------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A069 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A070 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A071 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_num_float') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A072 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A073 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_empty_obj') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A074 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_empty_array') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A075 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_empty_obj_nested') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [o1, o2, o3] | +| [o1, o2, o3] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A076 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_empty_array_nested') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| | +| | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A077 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_obj') c +FROM test_json_cols; ++-----------------------------------------------------------------------------------------------------------------------+ +| c | ++-----------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| | +| | ++-----------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A078 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_obj.a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A079 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_obj.a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A080 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_obj.a_num_float') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A081 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_obj.a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A082 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_obj.a_empty_obj') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A083 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_obj.a_empty_array') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A084 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_obj.a_empty_obj_nested') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [o1, o2, o3] | +| [o1, o2, o3] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A085 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[0].a_obj.a_empty_array_nested') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| | +| | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A086 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array') c +FROM test_json_cols; ++--------+ +| c | ++--------+ +| [0, 1] | +| [0, 1] | +| | +| | ++--------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A087 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array[1]') c +FROM test_json_cols; ++-----------------------------------------------------------------------------------------------------------------------+ +| c | ++-----------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| | +| | ++-----------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A088 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array[1].a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A089 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array[1].a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A090 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array[1].a_num_float') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A091 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array[1].a_null') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A092 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array[1].a_empty_obj') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A093 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array[1].a_empty_array') c +FROM test_json_cols; ++----+ +| c | ++----+ +| [] | +| [] | +| | +| | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A094 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array[1].a_empty_obj_nested') c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [o1, o2, o3] | +| [o1, o2, o3] | +| | +| | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A095 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_array[1].a_array[1].a_empty_array_nested') c +FROM test_json_cols; ++-----------+ +| c | ++-----------+ +| [0, 1, 2] | +| [0, 1, 2] | +| | +| | ++-----------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A096 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(c1, '$.a_obj') IS NULL; ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A097 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(c1, '$.a_obj.a_str') IS NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A098 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_keys(c1, '$.a_obj') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A099 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL json_keys(c1, '$.a_array') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A100 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_keys(c1, '$.a_obj.a_str') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A101 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL json_keys(c1, '$.a_obj.a_num_int') + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A102 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_keys(c1, '$') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A103 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_keys(c1, '$.a_obj') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A104 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_keys(c1, '$.a_array') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A105 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_keys(c1, '$.a_array[0]') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A106 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_keys(c1, '$.a_obj.a_str') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A107 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_keys(c1, '$.a_obj.a_num_int') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A108 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_keys(c1, '$.a_obj.a_num_float') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A109 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_keys(c1, '$.a_obj.a_str') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A110 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_keys(c1, '$.a_obj.a_null') mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A111 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT json_keys(c1, '$.a_obj') + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A112 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT json_keys(c1, '$.a_obj.a_str') + FROM test_json_cols); ++---+ +| c | ++---+ +| 1 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A113 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT json_keys(c1, '$.a_obj.a_num_int') + FROM test_json_cols); ++---+ +| c | ++---+ +| 1 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A114 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT json_keys(c1, '$.a_obj') mycol + FROM test_json_cols) +GROUP BY mycol; ++---------------------------------------------------------------------------------------------------------------------------------------+---+ +| mycol | c | ++---------------------------------------------------------------------------------------------------------------------------------------+---+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | 2 | +| | 2 | ++---------------------------------------------------------------------------------------------------------------------------------------+---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A115 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT json_keys(c1, '$.a_obj.a_str') mycol + FROM test_json_cols) +GROUP BY mycol; ++-------+---+ +| mycol | c | ++-------+---+ +| | 4 | ++-------+---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A116 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT json_keys(c1, '$.a_obj.a_num_int') mycol + FROM test_json_cols) +GROUP BY mycol; ++-------+---+ +| mycol | c | ++-------+---+ +| | 4 | ++-------+---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A117 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT c1, + json_keys(c1, '$.') mycol + FROM test_json_cols) +GROUP BY mycol +HAVING array_contains(mycol, 'a_str'); ++---------------------------------------------------------------------------------------------------------------------------------------+---+ +| mycol | c | ++---------------------------------------------------------------------------------------------------------------------------------------+---+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | 2 | ++---------------------------------------------------------------------------------------------------------------------------------------+---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A118 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT c1, + json_keys(c1, '$.') mycol + FROM test_json_cols) +GROUP BY mycol +HAVING NOT array_contains(mycol, 'a_str'); ++---------------------------------------------------------------------------------------------------------------------------------------+---+ +| mycol | c | ++---------------------------------------------------------------------------------------------------------------------------------------+---+ +| [b_str, b_num_int, b_num_float, b_bool, b_null, b_empty_obj, b_empty_array, b_empty_obj_nested, b_empty_array_nested, b_obj, b_array] | 2 | ++---------------------------------------------------------------------------------------------------------------------------------------+---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A119 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(c1, '$.a_obj') = json_keys(c2, '$.a_obj'); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A120 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(c1, '$.a_obj.a_str') = json_keys(c2, '$.a_obj.a_str'); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A121 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_keys(c1, '$.a_obj.a_num_int') = json_keys(c2, '$.a_obj.a_num_int'); ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A122 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_keys(t1.c1, '$.a_obj')=json_keys(t2.c1, '$.a_obj'); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A123 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_keys(t1.c1, '$.a_obj.a_str')=json_keys(t2.c1, '$.a_obj.a_str'); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A124 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_keys(t1.c1, '$.a_obj.a_num_int')=json_keys(t2.c1, '$.a_obj.a_num_int'); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A125 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_keys(t1.c1, '$.a_obj')=json_keys(t2.c1, '$.a_obj'); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A126 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_keys(t1.c1, '$.a_obj.a_str')=json_keys(t2.c1, '$.a_obj.a_str'); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A127 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_keys(t1.c1, '$.a_obj.a_num_int')=json_keys(t2.c1, '$.a_obj.a_num_int'); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A128 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_keys(t1.c1, '$.a_obj')=json_keys(t2.c1, '$.a_obj'); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A129 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_keys(t1.c1, '$.a_obj.a_str')=json_keys(t2.c1, '$.a_obj.a_str'); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A130 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_keys(t1.c1, '$.a_obj.a_num_int')=json_keys(t2.c1, '$.a_obj.a_num_int'); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A131 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0]') c +FROM test_json_cols +ORDER BY __time; ++-----------------------------------------------------------------------------------------------------------------------+ +| c | ++-----------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| | +| | ++-----------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A132 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_str') c +FROM test_json_cols +ORDER BY __time; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A133 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_num_int') c +FROM test_json_cols +ORDER BY __time; ++---+ +| c | ++---+ +| | +| | +| | +| | ++---+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A134 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj') c +FROM test_json_cols +LIMIT 1; ++---------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++---------------------------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | ++---------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A135 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_str') c +FROM test_json_cols +LIMIT 1; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A136 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_num_int') c +FROM test_json_cols +LIMIT 1; ++---+ +| c | ++---+ +| | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A137 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj') c +FROM test_json_cols +OFFSET 1; ++---------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++---------------------------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | +| | +| | ++---------------------------------------------------------------------------------------------------------------------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A138 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_str') c +FROM test_json_cols +OFFSET 1; ++---+ +| c | ++---+ +| | +| | +| | ++---+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A139 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_num_int') c +FROM test_json_cols +OFFSET 1; ++---+ +| c | ++---+ +| | +| | +| | ++---+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A140 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0]') c +FROM test_json_cols +UNION ALL +SELECT json_keys(c1, '$.a_obj.a_array[0]') c +FROM test_json_cols; ++-----------------------------------------------------------------------------------------------------------------------+ +| c | ++-----------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested] | +| | +| | +| | +| | ++-----------------------------------------------------------------------------------------------------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A141 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_str') c +FROM test_json_cols +UNION ALL +SELECT json_keys(c1, '$.a_obj.a_array[0].a_str') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | +| | +| | +| | +| | ++---+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A142 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_keys(c1, '$.a_obj.a_array[0].a_num_int') c +FROM test_json_cols +UNION ALL +SELECT json_keys(c1, '$.a_obj.a_array[0].a_num_int') c +FROM test_json_cols; ++---+ +| c | ++---+ +| | +| | +| | +| | +| | +| | +| | +| | ++---+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A143 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_keys(c1, '$.a_obj') +FROM test_json_cols; ++---------------------------------------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++---------------------------------------------------------------------------------------------------------------------------------------+ +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | +| [a_str, a_num_int, a_num_float, a_bool, a_null, a_empty_obj, a_empty_array, a_empty_obj_nested, a_empty_array_nested, a_obj, a_array] | +| | +| | ++---------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "expression", + "name" : "v0", + "expression" : "json_keys(\"c1\",'$.a_obj')", + "outputType" : "ARRAY" + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A144 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_keys(c1, '$.a_obj.a_str') +FROM test_json_cols; ++--------+ +| EXPR$0 | ++--------+ +| | +| | +| | +| | ++--------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "expression", + "name" : "v0", + "expression" : "json_keys(\"c1\",'$.a_obj.a_str')", + "outputType" : "ARRAY" + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_keys TEST_ID: A145 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_keys(c1, '$.a_obj.a_num_int') +FROM test_json_cols; ++--------+ +| EXPR$0 | ++--------+ +| | +| | +| | +| | ++--------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "expression", + "name" : "v0", + "expression" : "json_keys(\"c1\",'$.a_obj.a_num_int')", + "outputType" : "ARRAY" + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A001 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(__time) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A002 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(__time) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A003 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(__time) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A004 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths('ABCD') c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A005 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths('ABCD') IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A006 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths('ABCD') IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A007 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(s_str) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A008 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(s_str) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A009 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(s_str) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A010 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(1234) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A011 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(1234) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A012 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(1234) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A013 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(s_num_int) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A014 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(s_num_int) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A015 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(s_num_int) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A016 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(1234.5678) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A017 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(1234.5678) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A018 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(1234.5678) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A019 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(s_num_float) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A020 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(s_num_float) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A021 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(s_num_float) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A022 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(NULL) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A023 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(NULL) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A024 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(NULL) IS NOT NULL; ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A025 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(s_str, '$')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A026 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(s_num_int, '$')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A027 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(s_num_float, '$')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A028 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(s_null, '$')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A029 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c_empty_obj, '$')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A030 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c_empty_array, '$')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A031 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c_empty_obj_nested, '$')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$.o2, $.o3] | +| [$.o2, $.o3] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A032 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c_empty_array_nested, '$')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$[2], $[1]] | +| [$[2], $[1]] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A033 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_paths(c1)) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| 130 | +| 130 | +| 130 | +| 130 | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A034 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_paths(json_query(c1, '$.a_obj'))) c +FROM test_json_cols; ++----+ +| c | ++----+ +| 1 | +| 1 | +| 40 | +| 40 | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A035 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_str')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A036 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_num_int')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A037 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_num_float')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A038 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_null')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A039 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_empty_obj')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A040 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_empty_array')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A041 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_empty_obj_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$.o2, $.o3] | +| [$.o2, $.o3] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A042 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_empty_array_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$[2], $[1]] | +| [$[2], $[1]] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A043 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_obj')) c +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$] | +| [$] | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A044 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array')) c +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$[0].a_bool, $[1].a_num_int, $[0].a_num_int, $[1].a_bool, $[1].a_num_float, $[0].a_num_float, $[1].a_empty_array, $[0].a_empty_array, $[1].a_str, $[1].a_null, $[0].a_null, $[0].a_str, $[1].a_empty_array_nested[2], $[0].a_empty_obj_nested.o3, $[1].a_empty_obj_nested.o2, $[0].a_empty_obj_nested.o2, $[1].a_empty_obj_nested.o3, $[0].a_empty_array_nested[2], $[1].a_empty_array_nested[1], $[0].a_empty_array_nested[1]] | +| [$[0].a_bool, $[1].a_num_int, $[0].a_num_int, $[1].a_bool, $[1].a_num_float, $[0].a_num_float, $[1].a_empty_array, $[0].a_empty_array, $[1].a_str, $[1].a_null, $[0].a_null, $[0].a_str, $[1].a_empty_array_nested[2], $[0].a_empty_obj_nested.o3, $[1].a_empty_obj_nested.o2, $[0].a_empty_obj_nested.o2, $[1].a_empty_obj_nested.o3, $[0].a_empty_array_nested[2], $[1].a_empty_array_nested[1], $[0].a_empty_array_nested[1]] | +| [$] | +| [$] | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A045 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array[0]')) c +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$] | +| [$] | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A046 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array[0].a_str')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A047 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array[0].a_num_int')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A048 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array[0].a_num_float')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A049 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array[0].a_null')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A050 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array[0].a_empty_obj')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A051 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array[0].a_empty_array')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A052 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array[0].a_empty_obj_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$.o2, $.o3] | +| [$.o2, $.o3] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A053 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_array[0].a_empty_array_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$[2], $[1]] | +| [$[2], $[1]] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A054 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_paths(json_query(c1, '$.a_array'))) c +FROM test_json_cols; ++----+ +| c | ++----+ +| 1 | +| 1 | +| 80 | +| 80 | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A055 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT array_length(json_paths(json_query(c1, '$.a_array[0]'))) c +FROM test_json_cols; ++----+ +| c | ++----+ +| 1 | +| 1 | +| 40 | +| 40 | ++----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A056 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_str')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A057 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_num_int')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A058 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_num_float')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A059 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_null')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A060 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_empty_obj')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A061 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_empty_array')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A062 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_empty_obj_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$.o2, $.o3] | +| [$.o2, $.o3] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A063 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_empty_array_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$[2], $[1]] | +| [$[2], $[1]] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A064 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_obj')) c +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$] | +| [$] | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A065 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_obj.a_str')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A066 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_obj.a_num_int')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A067 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_obj.a_num_float')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A068 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_obj.a_null')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A069 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_obj.a_empty_obj')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A070 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_obj.a_empty_array')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A071 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_obj.a_empty_obj_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$.o2, $.o3] | +| [$.o2, $.o3] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A072 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[0].a_obj.a_empty_array_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$[2], $[1]] | +| [$[2], $[1]] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A073 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array')) c +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$[0].a_bool, $[1].a_num_int, $[0].a_num_int, $[1].a_bool, $[1].a_num_float, $[0].a_num_float, $[1].a_empty_array, $[0].a_empty_array, $[1].a_str, $[1].a_null, $[0].a_null, $[0].a_str, $[1].a_empty_array_nested[2], $[0].a_empty_obj_nested.o3, $[1].a_empty_obj_nested.o2, $[0].a_empty_obj_nested.o2, $[1].a_empty_obj_nested.o3, $[0].a_empty_array_nested[2], $[1].a_empty_array_nested[1], $[0].a_empty_array_nested[1]] | +| [$[0].a_bool, $[1].a_num_int, $[0].a_num_int, $[1].a_bool, $[1].a_num_float, $[0].a_num_float, $[1].a_empty_array, $[0].a_empty_array, $[1].a_str, $[1].a_null, $[0].a_null, $[0].a_str, $[1].a_empty_array_nested[2], $[0].a_empty_obj_nested.o3, $[1].a_empty_obj_nested.o2, $[0].a_empty_obj_nested.o2, $[1].a_empty_obj_nested.o3, $[0].a_empty_array_nested[2], $[1].a_empty_array_nested[1], $[0].a_empty_array_nested[1]] | +| [$] | +| [$] | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A074 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array[1]')) c +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$] | +| [$] | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A075 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array[1].a_str')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A076 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array[1].a_num_int')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A077 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array[1].a_num_float')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A078 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array[1].a_null')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A079 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array[1].a_empty_obj')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [] | +| [] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A080 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array[1].a_empty_array')) c +FROM test_json_cols; ++-----+ +| c | ++-----+ +| [$] | +| [$] | +| [$] | +| [$] | ++-----+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A081 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array[1].a_empty_obj_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$.o2, $.o3] | +| [$.o2, $.o3] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A082 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_array[1].a_array[1].a_empty_array_nested')) c +FROM test_json_cols; ++--------------+ +| c | ++--------------+ +| [$[2], $[1]] | +| [$[2], $[1]] | +| [$] | +| [$] | ++--------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A083 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(c1) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A084 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(c1) IS NULL; ++---+ +| c | ++---+ +| 0 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A085 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT json_paths(c1) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A086 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT ALL json_paths(c1) + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A087 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_paths(c1) mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A088 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(mycol) c +FROM + (SELECT json_paths(c1) mycol + FROM test_json_cols); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A089 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM + (SELECT DISTINCT json_paths(c1) + FROM test_json_cols); ++---+ +| c | ++---+ +| 2 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A090 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT json_paths(json_query(c1, '$.a_obj.a_obj')) mycol + FROM test_json_cols) +GROUP BY mycol; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +| mycol | c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | 2 | +| [$] | 2 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +(2 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A091 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT mycol, + count(*) c +FROM + (SELECT c1, + json_paths(json_query(c1, '$.a_obj.a_obj')) mycol + FROM test_json_cols) +GROUP BY mycol +HAVING array_contains(mycol, '$.a_str'); ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +| mycol | c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | 2 | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A092 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols +WHERE json_paths(c1) = json_paths(c2); ++---+ +| c | ++---+ +| 4 | ++---+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A093 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +INNER JOIN test_json_cols t2 ON json_paths(t1.c1)=json_paths(t2.c1); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A094 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1 +LEFT JOIN test_json_cols t2 ON json_paths(t1.c1)=json_paths(t2.c1); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A095 TYPE: NEGATIVE TEST +#------------------------------------------------------------------------- +SELECT count(*) c +FROM test_json_cols t1, + test_json_cols t2 +WHERE json_paths(t1.c1)=json_paths(t2.c1); +QueryUnsupportedException +!error + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A096 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_obj')) c +FROM test_json_cols +ORDER BY __time; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$] | +| [$] | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A097 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(c1) c +FROM test_json_cols +LIMIT 1; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$.a_array[1].a_array[1].a_str, $.a_obj.a_obj.a_bool, $.a_array[1].a_array[0].a_empty_obj_nested.o2, $.a_array[1].a_array[0].a_empty_obj_nested.o3, $.a_obj.a_array[0].a_num_float, $.a_array[1].a_array[0].a_empty_array_nested[1], $.a_array[1].a_array[0].a_empty_array_nested[2], $.a_obj.a_array[0].a_str, $.a_obj.a_array[1].a_null, $.a_str, $.a_array[0].a_obj.a_num_float, $.a_null, $.a_array[0].a_str, $.a_array[1].a_num_float, $.a_array[1].a_array[1].a_num_float, $.a_array[1].a_obj.a_bool, $.a_array[1].a_array[1].a_null, $.a_obj.a_array[1].a_num_float, $.a_array[1].a_num_int, $.a_num_int, $.a_array[0].a_empty_array_nested[2], $.a_array[0].a_empty_array_nested[1], $.a_array[0].a_array[1].a_bool, $.a_obj.a_array[1].a_str, $.a_array[1].a_null, $.a_array[0].a_empty_obj_nested.o2, $.a_array[0].a_empty_obj_nested.o3, $.a_array[1].a_array[0].a_num_float, $.a_array[0].a_num_float, $.a_array[0].a_array[0].a_empty_array, $.a_array[1].a_empty_array, $.a_array[1].a_obj.a_str, $.a_array[0].a_obj.a_num_int, $.a_array[0].a_obj.a_null, $.a_array[1].a_array[1].a_empty_obj_nested.o3, $.a_obj.a_obj.a_num_float, $.a_array[0].a_num_int, $.a_array[0].a_bool, $.a_array[1].a_array[1].a_empty_obj_nested.o2, $.a_obj.a_array[0].a_num_int, $.a_obj.a_array[0].a_bool, $.a_array[1].a_array[1].a_num_int, $.a_array[0].a_array[0].a_bool, $.a_array[1].a_array[0].a_null, $.a_array[0].a_obj.a_empty_obj_nested.o2, $.a_array[0].a_obj.a_empty_obj_nested.o3, $.a_obj.a_bool, $.a_array[1].a_obj.a_num_float, $.a_obj.a_array[1].a_empty_obj_nested.o3, $.a_array[0].a_array[1].a_empty_array, $.a_obj.a_array[1].a_empty_obj_nested.o2, $.a_array[0].a_obj.a_bool, $.a_obj.a_array[1].a_num_int, $.a_obj.a_array[1].a_bool, $.a_num_float, $.a_array[1].a_str, $.a_array[1].a_empty_obj_nested.o3, $.a_array[1].a_empty_obj_nested.o2, $.a_obj.a_obj.a_empty_array_nested[1], $.a_obj.a_obj.a_empty_array_nested[2], $.a_array[0].a_array[1].a_empty_array_nested[1], $.a_array[0].a_obj.a_str, $.a_array[0].a_array[1].a_empty_array_nested[2], $.a_array[1].a_obj.a_num_int, $.a_obj.a_obj.a_num_int, $.a_array[0].a_array[0].a_str, $.a_obj.a_str, $.a_array[0].a_array[0].a_empty_array_nested[1], $.a_array[0].a_array[0].a_empty_obj_nested.o2, $.a_array[1].a_obj.a_empty_array, $.a_array[0].a_array[1].a_null, $.a_obj.a_num_float, $.a_array[0].a_array[0].a_num_float, $.a_obj.a_obj.a_empty_array, $.a_obj.a_array[0].a_empty_obj_nested.o2, $.a_obj.a_array[0].a_empty_obj_nested.o3, $.a_array[1].a_array[0].a_empty_array, $.a_obj.a_array[0].a_empty_array_nested[1], $.a_obj.a_array[0].a_empty_array_nested[2], $.a_obj.a_empty_obj_nested.o3, $.a_array[0].a_array[1].a_str, $.a_obj.a_null, $.a_array[1].a_bool, $.a_obj.a_empty_obj_nested.o2, $.a_bool, $.a_array[1].a_array[0].a_num_int, $.a_obj.a_obj.a_null, $.a_array[0].a_array[0].a_null, $.a_array[1].a_obj.a_empty_obj_nested.o3, $.a_obj.a_num_int, $.a_array[1].a_obj.a_empty_obj_nested.o2, $.a_array[0].a_array[0].a_empty_obj_nested.o3, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_obj.a_empty_array_nested[1], $.a_obj.a_empty_array_nested[2], $.a_array[1].a_obj.a_empty_array_nested[2], $.a_array[0].a_array[0].a_empty_array_nested[2], $.a_array[1].a_array[1].a_empty_array, $.a_empty_obj_nested.o2, $.a_empty_obj_nested.o3, $.a_array[1].a_obj.a_empty_array_nested[1], $.a_empty_array, $.a_array[0].a_obj.a_empty_array, $.a_array[1].a_array[1].a_empty_array_nested[2], $.a_obj.a_empty_array, $.a_array[1].a_array[1].a_bool, $.a_array[1].a_array[1].a_empty_array_nested[1], $.a_array[0].a_array[0].a_num_int, $.a_obj.a_obj.a_str, $.a_array[0].a_null, $.a_obj.a_array[0].a_empty_array, $.a_obj.a_array[1].a_empty_array_nested[2], $.a_array[0].a_obj.a_empty_array_nested[1], $.a_array[0].a_obj.a_empty_array_nested[2], $.a_array[0].a_empty_array, $.a_obj.a_array[1].a_empty_array_nested[1], $.a_obj.a_array[0].a_null, $.a_array[1].a_array[0].a_str, $.a_array[1].a_empty_array_nested[1], $.a_array[1].a_array[0].a_bool, $.a_array[0].a_array[1].a_num_int, $.a_array[1].a_empty_array_nested[2], $.a_obj.a_array[1].a_empty_array, $.a_array[0].a_array[1].a_num_float, $.a_array[0].a_array[1].a_empty_obj_nested.o2, $.a_array[0].a_array[1].a_empty_obj_nested.o3, $.a_obj.a_obj.a_empty_obj_nested.o2, $.a_array[1].a_obj.a_null, $.a_obj.a_obj.a_empty_obj_nested.o3] | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(1 row) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A098 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(c1) c +FROM test_json_cols +OFFSET 1; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$.a_array[1].a_array[1].a_str, $.a_obj.a_obj.a_bool, $.a_array[1].a_array[0].a_empty_obj_nested.o2, $.a_array[1].a_array[0].a_empty_obj_nested.o3, $.a_obj.a_array[0].a_num_float, $.a_array[1].a_array[0].a_empty_array_nested[1], $.a_array[1].a_array[0].a_empty_array_nested[2], $.a_obj.a_array[0].a_str, $.a_obj.a_array[1].a_null, $.a_str, $.a_array[0].a_obj.a_num_float, $.a_null, $.a_array[0].a_str, $.a_array[1].a_num_float, $.a_array[1].a_array[1].a_num_float, $.a_array[1].a_obj.a_bool, $.a_array[1].a_array[1].a_null, $.a_obj.a_array[1].a_num_float, $.a_array[1].a_num_int, $.a_num_int, $.a_array[0].a_empty_array_nested[2], $.a_array[0].a_empty_array_nested[1], $.a_array[0].a_array[1].a_bool, $.a_obj.a_array[1].a_str, $.a_array[1].a_null, $.a_array[0].a_empty_obj_nested.o2, $.a_array[0].a_empty_obj_nested.o3, $.a_array[1].a_array[0].a_num_float, $.a_array[0].a_num_float, $.a_array[0].a_array[0].a_empty_array, $.a_array[1].a_empty_array, $.a_array[1].a_obj.a_str, $.a_array[0].a_obj.a_num_int, $.a_array[0].a_obj.a_null, $.a_array[1].a_array[1].a_empty_obj_nested.o3, $.a_obj.a_obj.a_num_float, $.a_array[0].a_num_int, $.a_array[0].a_bool, $.a_array[1].a_array[1].a_empty_obj_nested.o2, $.a_obj.a_array[0].a_num_int, $.a_obj.a_array[0].a_bool, $.a_array[1].a_array[1].a_num_int, $.a_array[0].a_array[0].a_bool, $.a_array[1].a_array[0].a_null, $.a_array[0].a_obj.a_empty_obj_nested.o2, $.a_array[0].a_obj.a_empty_obj_nested.o3, $.a_obj.a_bool, $.a_array[1].a_obj.a_num_float, $.a_obj.a_array[1].a_empty_obj_nested.o3, $.a_array[0].a_array[1].a_empty_array, $.a_obj.a_array[1].a_empty_obj_nested.o2, $.a_array[0].a_obj.a_bool, $.a_obj.a_array[1].a_num_int, $.a_obj.a_array[1].a_bool, $.a_num_float, $.a_array[1].a_str, $.a_array[1].a_empty_obj_nested.o3, $.a_array[1].a_empty_obj_nested.o2, $.a_obj.a_obj.a_empty_array_nested[1], $.a_obj.a_obj.a_empty_array_nested[2], $.a_array[0].a_array[1].a_empty_array_nested[1], $.a_array[0].a_obj.a_str, $.a_array[0].a_array[1].a_empty_array_nested[2], $.a_array[1].a_obj.a_num_int, $.a_obj.a_obj.a_num_int, $.a_array[0].a_array[0].a_str, $.a_obj.a_str, $.a_array[0].a_array[0].a_empty_array_nested[1], $.a_array[0].a_array[0].a_empty_obj_nested.o2, $.a_array[1].a_obj.a_empty_array, $.a_array[0].a_array[1].a_null, $.a_obj.a_num_float, $.a_array[0].a_array[0].a_num_float, $.a_obj.a_obj.a_empty_array, $.a_obj.a_array[0].a_empty_obj_nested.o2, $.a_obj.a_array[0].a_empty_obj_nested.o3, $.a_array[1].a_array[0].a_empty_array, $.a_obj.a_array[0].a_empty_array_nested[1], $.a_obj.a_array[0].a_empty_array_nested[2], $.a_obj.a_empty_obj_nested.o3, $.a_array[0].a_array[1].a_str, $.a_obj.a_null, $.a_array[1].a_bool, $.a_obj.a_empty_obj_nested.o2, $.a_bool, $.a_array[1].a_array[0].a_num_int, $.a_obj.a_obj.a_null, $.a_array[0].a_array[0].a_null, $.a_array[1].a_obj.a_empty_obj_nested.o3, $.a_obj.a_num_int, $.a_array[1].a_obj.a_empty_obj_nested.o2, $.a_array[0].a_array[0].a_empty_obj_nested.o3, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_obj.a_empty_array_nested[1], $.a_obj.a_empty_array_nested[2], $.a_array[1].a_obj.a_empty_array_nested[2], $.a_array[0].a_array[0].a_empty_array_nested[2], $.a_array[1].a_array[1].a_empty_array, $.a_empty_obj_nested.o2, $.a_empty_obj_nested.o3, $.a_array[1].a_obj.a_empty_array_nested[1], $.a_empty_array, $.a_array[0].a_obj.a_empty_array, $.a_array[1].a_array[1].a_empty_array_nested[2], $.a_obj.a_empty_array, $.a_array[1].a_array[1].a_bool, $.a_array[1].a_array[1].a_empty_array_nested[1], $.a_array[0].a_array[0].a_num_int, $.a_obj.a_obj.a_str, $.a_array[0].a_null, $.a_obj.a_array[0].a_empty_array, $.a_obj.a_array[1].a_empty_array_nested[2], $.a_array[0].a_obj.a_empty_array_nested[1], $.a_array[0].a_obj.a_empty_array_nested[2], $.a_array[0].a_empty_array, $.a_obj.a_array[1].a_empty_array_nested[1], $.a_obj.a_array[0].a_null, $.a_array[1].a_array[0].a_str, $.a_array[1].a_empty_array_nested[1], $.a_array[1].a_array[0].a_bool, $.a_array[0].a_array[1].a_num_int, $.a_array[1].a_empty_array_nested[2], $.a_obj.a_array[1].a_empty_array, $.a_array[0].a_array[1].a_num_float, $.a_array[0].a_array[1].a_empty_obj_nested.o2, $.a_array[0].a_array[1].a_empty_obj_nested.o3, $.a_obj.a_obj.a_empty_obj_nested.o2, $.a_array[1].a_obj.a_null, $.a_obj.a_obj.a_empty_obj_nested.o3] | +| [$.b_array[1].b_bool, $.b_array[1].b_array[0].b_num_int, $.b_array[0].b_array[0].b_num_float, $.b_obj.b_array[0].b_empty_array_nested[1], $.b_obj.b_array[0].b_empty_array_nested[2], $.b_array[0].b_obj.b_bool, $.b_array[1].b_obj.b_str, $.b_obj.b_num_int, $.b_array[0].b_array[1].b_null, $.b_obj.b_array[0].b_bool, $.b_array[1].b_array[0].b_str, $.b_num_float, $.b_array[0].b_array[1].b_empty_obj_nested.o3, $.b_obj.b_str, $.b_array[0].b_str, $.b_array[0].b_bool, $.b_array[0].b_array[1].b_empty_obj_nested.o2, $.b_null, $.b_obj.b_obj.b_empty_obj_nested.o3, $.b_obj.b_obj.b_empty_obj_nested.o2, $.b_array[0].b_array[1].b_empty_array, $.b_array[0].b_array[0].b_empty_array_nested[1], $.b_array[0].b_array[0].b_empty_array_nested[2], $.b_obj.b_empty_obj_nested.o2, $.b_obj.b_array[1].b_empty_obj_nested.o2, $.b_obj.b_array[1].b_empty_obj_nested.o3, $.b_array[0].b_array[0].b_empty_array, $.b_obj.b_empty_obj_nested.o3, $.b_array[0].b_obj.b_str, $.b_obj.b_array[1].b_bool, $.b_obj.b_array[0].b_str, $.b_obj.b_array[0].b_num_int, $.b_array[1].b_str, $.b_obj.b_array[1].b_num_float, $.b_bool, $.b_array[1].b_obj.b_bool, $.b_array[1].b_obj.b_empty_array, $.b_array[1].b_array[1].b_empty_array, $.b_empty_array_nested[2], $.b_empty_array_nested[1], $.b_array[1].b_array[1].b_bool, $.b_array[0].b_empty_obj_nested.o2, $.b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_array[1].b_empty_array_nested[1], $.b_array[1].b_array[1].b_empty_array_nested[2], $.b_obj.b_empty_array, $.b_array[0].b_empty_array, $.b_obj.b_obj.b_num_float, $.b_array[1].b_array[1].b_num_int, $.b_obj.b_array[1].b_null, $.b_array[0].b_array[1].b_num_float, $.b_array[1].b_empty_array_nested[1], $.b_array[1].b_array[1].b_empty_obj_nested.o3, $.b_array[1].b_array[1].b_empty_obj_nested.o2, $.b_array[1].b_array[0].b_empty_array, $.b_array[0].b_array[0].b_null, $.b_array[1].b_empty_array_nested[2], $.b_array[1].b_array[1].b_str, $.b_obj.b_obj.b_empty_array_nested[2], $.b_obj.b_obj.b_empty_array_nested[1], $.b_obj.b_obj.b_null, $.b_array[1].b_obj.b_num_int, $.b_obj.b_obj.b_num_int, $.b_array[0].b_obj.b_empty_obj_nested.o3, $.b_array[0].b_obj.b_empty_obj_nested.o2, $.b_str, $.b_empty_obj_nested.o2, $.b_obj.b_array[0].b_null, $.b_empty_obj_nested.o3, $.b_array[1].b_empty_array, $.b_array[1].b_array[1].b_num_float, $.b_array[0].b_obj.b_empty_array, $.b_obj.b_array[1].b_empty_array, $.b_array[0].b_obj.b_null, $.b_num_int, $.b_array[1].b_array[0].b_empty_obj_nested.o2, $.b_array[1].b_null, $.b_array[1].b_empty_obj_nested.o2, $.b_array[1].b_empty_obj_nested.o3, $.b_array[1].b_array[0].b_empty_array_nested[2], $.b_array[1].b_array[0].b_empty_array_nested[1], $.b_obj.b_bool, $.b_obj.b_array[0].b_num_float, $.b_obj.b_array[1].b_num_int, $.b_array[1].b_array[0].b_num_float, $.b_array[0].b_empty_array_nested[2], $.b_array[0].b_empty_array_nested[1], $.b_array[1].b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_num_int, $.b_array[0].b_num_float, $.b_array[1].b_num_float, $.b_array[1].b_array[0].b_bool, $.b_array[0].b_obj.b_empty_array_nested[2], $.b_obj.b_num_float, $.b_array[0].b_obj.b_empty_array_nested[1], $.b_array[0].b_obj.b_num_float, $.b_array[0].b_null, $.b_array[0].b_obj.b_num_int, $.b_empty_array, $.b_array[0].b_array[1].b_num_int, $.b_obj.b_array[1].b_empty_array_nested[2], $.b_obj.b_array[1].b_empty_array_nested[1], $.b_array[0].b_num_int, $.b_array[1].b_array[0].b_null, $.b_array[1].b_obj.b_null, $.b_array[0].b_array[1].b_empty_array_nested[2], $.b_obj.b_obj.b_bool, $.b_array[0].b_array[0].b_bool, $.b_obj.b_obj.b_empty_array, $.b_array[0].b_array[1].b_str, $.b_array[1].b_obj.b_empty_array_nested[1], $.b_array[1].b_obj.b_empty_array_nested[2], $.b_obj.b_null, $.b_obj.b_array[1].b_str, $.b_obj.b_empty_array_nested[2], $.b_array[0].b_array[0].b_num_int, $.b_obj.b_empty_array_nested[1], $.b_array[1].b_obj.b_empty_obj_nested.o3, $.b_array[0].b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_obj.b_empty_obj_nested.o2, $.b_array[0].b_array[0].b_empty_obj_nested.o2, $.b_array[1].b_array[1].b_null, $.b_obj.b_array[0].b_empty_array, $.b_array[0].b_array[1].b_empty_array_nested[1], $.b_obj.b_array[0].b_empty_obj_nested.o3, $.b_array[0].b_array[1].b_bool, $.b_obj.b_array[0].b_empty_obj_nested.o2, $.b_array[0].b_array[0].b_str, $.b_obj.b_obj.b_str, $.b_array[1].b_obj.b_num_float] | +| [$.b_array[1].b_bool, $.b_array[1].b_array[0].b_num_int, $.b_array[0].b_array[0].b_num_float, $.b_obj.b_array[0].b_empty_array_nested[1], $.b_obj.b_array[0].b_empty_array_nested[2], $.b_array[0].b_obj.b_bool, $.b_array[1].b_obj.b_str, $.b_obj.b_num_int, $.b_array[0].b_array[1].b_null, $.b_obj.b_array[0].b_bool, $.b_array[1].b_array[0].b_str, $.b_num_float, $.b_array[0].b_array[1].b_empty_obj_nested.o3, $.b_obj.b_str, $.b_array[0].b_str, $.b_array[0].b_bool, $.b_array[0].b_array[1].b_empty_obj_nested.o2, $.b_null, $.b_obj.b_obj.b_empty_obj_nested.o3, $.b_obj.b_obj.b_empty_obj_nested.o2, $.b_array[0].b_array[1].b_empty_array, $.b_array[0].b_array[0].b_empty_array_nested[1], $.b_array[0].b_array[0].b_empty_array_nested[2], $.b_obj.b_empty_obj_nested.o2, $.b_obj.b_array[1].b_empty_obj_nested.o2, $.b_obj.b_array[1].b_empty_obj_nested.o3, $.b_array[0].b_array[0].b_empty_array, $.b_obj.b_empty_obj_nested.o3, $.b_array[0].b_obj.b_str, $.b_obj.b_array[1].b_bool, $.b_obj.b_array[0].b_str, $.b_obj.b_array[0].b_num_int, $.b_array[1].b_str, $.b_obj.b_array[1].b_num_float, $.b_bool, $.b_array[1].b_obj.b_bool, $.b_array[1].b_obj.b_empty_array, $.b_array[1].b_array[1].b_empty_array, $.b_empty_array_nested[2], $.b_empty_array_nested[1], $.b_array[1].b_array[1].b_bool, $.b_array[0].b_empty_obj_nested.o2, $.b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_array[1].b_empty_array_nested[1], $.b_array[1].b_array[1].b_empty_array_nested[2], $.b_obj.b_empty_array, $.b_array[0].b_empty_array, $.b_obj.b_obj.b_num_float, $.b_array[1].b_array[1].b_num_int, $.b_obj.b_array[1].b_null, $.b_array[0].b_array[1].b_num_float, $.b_array[1].b_empty_array_nested[1], $.b_array[1].b_array[1].b_empty_obj_nested.o3, $.b_array[1].b_array[1].b_empty_obj_nested.o2, $.b_array[1].b_array[0].b_empty_array, $.b_array[0].b_array[0].b_null, $.b_array[1].b_empty_array_nested[2], $.b_array[1].b_array[1].b_str, $.b_obj.b_obj.b_empty_array_nested[2], $.b_obj.b_obj.b_empty_array_nested[1], $.b_obj.b_obj.b_null, $.b_array[1].b_obj.b_num_int, $.b_obj.b_obj.b_num_int, $.b_array[0].b_obj.b_empty_obj_nested.o3, $.b_array[0].b_obj.b_empty_obj_nested.o2, $.b_str, $.b_empty_obj_nested.o2, $.b_obj.b_array[0].b_null, $.b_empty_obj_nested.o3, $.b_array[1].b_empty_array, $.b_array[1].b_array[1].b_num_float, $.b_array[0].b_obj.b_empty_array, $.b_obj.b_array[1].b_empty_array, $.b_array[0].b_obj.b_null, $.b_num_int, $.b_array[1].b_array[0].b_empty_obj_nested.o2, $.b_array[1].b_null, $.b_array[1].b_empty_obj_nested.o2, $.b_array[1].b_empty_obj_nested.o3, $.b_array[1].b_array[0].b_empty_array_nested[2], $.b_array[1].b_array[0].b_empty_array_nested[1], $.b_obj.b_bool, $.b_obj.b_array[0].b_num_float, $.b_obj.b_array[1].b_num_int, $.b_array[1].b_array[0].b_num_float, $.b_array[0].b_empty_array_nested[2], $.b_array[0].b_empty_array_nested[1], $.b_array[1].b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_num_int, $.b_array[0].b_num_float, $.b_array[1].b_num_float, $.b_array[1].b_array[0].b_bool, $.b_array[0].b_obj.b_empty_array_nested[2], $.b_obj.b_num_float, $.b_array[0].b_obj.b_empty_array_nested[1], $.b_array[0].b_obj.b_num_float, $.b_array[0].b_null, $.b_array[0].b_obj.b_num_int, $.b_empty_array, $.b_array[0].b_array[1].b_num_int, $.b_obj.b_array[1].b_empty_array_nested[2], $.b_obj.b_array[1].b_empty_array_nested[1], $.b_array[0].b_num_int, $.b_array[1].b_array[0].b_null, $.b_array[1].b_obj.b_null, $.b_array[0].b_array[1].b_empty_array_nested[2], $.b_obj.b_obj.b_bool, $.b_array[0].b_array[0].b_bool, $.b_obj.b_obj.b_empty_array, $.b_array[0].b_array[1].b_str, $.b_array[1].b_obj.b_empty_array_nested[1], $.b_array[1].b_obj.b_empty_array_nested[2], $.b_obj.b_null, $.b_obj.b_array[1].b_str, $.b_obj.b_empty_array_nested[2], $.b_array[0].b_array[0].b_num_int, $.b_obj.b_empty_array_nested[1], $.b_array[1].b_obj.b_empty_obj_nested.o3, $.b_array[0].b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_obj.b_empty_obj_nested.o2, $.b_array[0].b_array[0].b_empty_obj_nested.o2, $.b_array[1].b_array[1].b_null, $.b_obj.b_array[0].b_empty_array, $.b_array[0].b_array[1].b_empty_array_nested[1], $.b_obj.b_array[0].b_empty_obj_nested.o3, $.b_array[0].b_array[1].b_bool, $.b_obj.b_array[0].b_empty_obj_nested.o2, $.b_array[0].b_array[0].b_str, $.b_obj.b_obj.b_str, $.b_array[1].b_obj.b_num_float] | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(3 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A099 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- +SELECT json_paths(json_query(c1, '$.a_obj.a_obj')) c +FROM test_json_cols +UNION ALL +SELECT json_paths(json_query(c1, '$.a_obj.a_obj')) c +FROM test_json_cols; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| c | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$.a_str, $.a_empty_array, $.a_null, $.a_num_int, $.a_bool, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_empty_obj_nested.o2, $.a_num_float, $.a_empty_obj_nested.o3] | +| [$] | +| [$] | +| [$] | +| [$] | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(8 rows) + +!ok + +#------------------------------------------------------------------------- +# TESTCASE: test_func_json_paths TEST_ID: A100 TYPE: POSITIVE TEST +#------------------------------------------------------------------------- + +SELECT json_paths(c1) +FROM test_json_cols; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPR$0 | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| [$.a_array[1].a_array[1].a_str, $.a_obj.a_obj.a_bool, $.a_array[1].a_array[0].a_empty_obj_nested.o2, $.a_array[1].a_array[0].a_empty_obj_nested.o3, $.a_obj.a_array[0].a_num_float, $.a_array[1].a_array[0].a_empty_array_nested[1], $.a_array[1].a_array[0].a_empty_array_nested[2], $.a_obj.a_array[0].a_str, $.a_obj.a_array[1].a_null, $.a_str, $.a_array[0].a_obj.a_num_float, $.a_null, $.a_array[0].a_str, $.a_array[1].a_num_float, $.a_array[1].a_array[1].a_num_float, $.a_array[1].a_obj.a_bool, $.a_array[1].a_array[1].a_null, $.a_obj.a_array[1].a_num_float, $.a_array[1].a_num_int, $.a_num_int, $.a_array[0].a_empty_array_nested[2], $.a_array[0].a_empty_array_nested[1], $.a_array[0].a_array[1].a_bool, $.a_obj.a_array[1].a_str, $.a_array[1].a_null, $.a_array[0].a_empty_obj_nested.o2, $.a_array[0].a_empty_obj_nested.o3, $.a_array[1].a_array[0].a_num_float, $.a_array[0].a_num_float, $.a_array[0].a_array[0].a_empty_array, $.a_array[1].a_empty_array, $.a_array[1].a_obj.a_str, $.a_array[0].a_obj.a_num_int, $.a_array[0].a_obj.a_null, $.a_array[1].a_array[1].a_empty_obj_nested.o3, $.a_obj.a_obj.a_num_float, $.a_array[0].a_num_int, $.a_array[0].a_bool, $.a_array[1].a_array[1].a_empty_obj_nested.o2, $.a_obj.a_array[0].a_num_int, $.a_obj.a_array[0].a_bool, $.a_array[1].a_array[1].a_num_int, $.a_array[0].a_array[0].a_bool, $.a_array[1].a_array[0].a_null, $.a_array[0].a_obj.a_empty_obj_nested.o2, $.a_array[0].a_obj.a_empty_obj_nested.o3, $.a_obj.a_bool, $.a_array[1].a_obj.a_num_float, $.a_obj.a_array[1].a_empty_obj_nested.o3, $.a_array[0].a_array[1].a_empty_array, $.a_obj.a_array[1].a_empty_obj_nested.o2, $.a_array[0].a_obj.a_bool, $.a_obj.a_array[1].a_num_int, $.a_obj.a_array[1].a_bool, $.a_num_float, $.a_array[1].a_str, $.a_array[1].a_empty_obj_nested.o3, $.a_array[1].a_empty_obj_nested.o2, $.a_obj.a_obj.a_empty_array_nested[1], $.a_obj.a_obj.a_empty_array_nested[2], $.a_array[0].a_array[1].a_empty_array_nested[1], $.a_array[0].a_obj.a_str, $.a_array[0].a_array[1].a_empty_array_nested[2], $.a_array[1].a_obj.a_num_int, $.a_obj.a_obj.a_num_int, $.a_array[0].a_array[0].a_str, $.a_obj.a_str, $.a_array[0].a_array[0].a_empty_array_nested[1], $.a_array[0].a_array[0].a_empty_obj_nested.o2, $.a_array[1].a_obj.a_empty_array, $.a_array[0].a_array[1].a_null, $.a_obj.a_num_float, $.a_array[0].a_array[0].a_num_float, $.a_obj.a_obj.a_empty_array, $.a_obj.a_array[0].a_empty_obj_nested.o2, $.a_obj.a_array[0].a_empty_obj_nested.o3, $.a_array[1].a_array[0].a_empty_array, $.a_obj.a_array[0].a_empty_array_nested[1], $.a_obj.a_array[0].a_empty_array_nested[2], $.a_obj.a_empty_obj_nested.o3, $.a_array[0].a_array[1].a_str, $.a_obj.a_null, $.a_array[1].a_bool, $.a_obj.a_empty_obj_nested.o2, $.a_bool, $.a_array[1].a_array[0].a_num_int, $.a_obj.a_obj.a_null, $.a_array[0].a_array[0].a_null, $.a_array[1].a_obj.a_empty_obj_nested.o3, $.a_obj.a_num_int, $.a_array[1].a_obj.a_empty_obj_nested.o2, $.a_array[0].a_array[0].a_empty_obj_nested.o3, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_obj.a_empty_array_nested[1], $.a_obj.a_empty_array_nested[2], $.a_array[1].a_obj.a_empty_array_nested[2], $.a_array[0].a_array[0].a_empty_array_nested[2], $.a_array[1].a_array[1].a_empty_array, $.a_empty_obj_nested.o2, $.a_empty_obj_nested.o3, $.a_array[1].a_obj.a_empty_array_nested[1], $.a_empty_array, $.a_array[0].a_obj.a_empty_array, $.a_array[1].a_array[1].a_empty_array_nested[2], $.a_obj.a_empty_array, $.a_array[1].a_array[1].a_bool, $.a_array[1].a_array[1].a_empty_array_nested[1], $.a_array[0].a_array[0].a_num_int, $.a_obj.a_obj.a_str, $.a_array[0].a_null, $.a_obj.a_array[0].a_empty_array, $.a_obj.a_array[1].a_empty_array_nested[2], $.a_array[0].a_obj.a_empty_array_nested[1], $.a_array[0].a_obj.a_empty_array_nested[2], $.a_array[0].a_empty_array, $.a_obj.a_array[1].a_empty_array_nested[1], $.a_obj.a_array[0].a_null, $.a_array[1].a_array[0].a_str, $.a_array[1].a_empty_array_nested[1], $.a_array[1].a_array[0].a_bool, $.a_array[0].a_array[1].a_num_int, $.a_array[1].a_empty_array_nested[2], $.a_obj.a_array[1].a_empty_array, $.a_array[0].a_array[1].a_num_float, $.a_array[0].a_array[1].a_empty_obj_nested.o2, $.a_array[0].a_array[1].a_empty_obj_nested.o3, $.a_obj.a_obj.a_empty_obj_nested.o2, $.a_array[1].a_obj.a_null, $.a_obj.a_obj.a_empty_obj_nested.o3] | +| [$.a_array[1].a_array[1].a_str, $.a_obj.a_obj.a_bool, $.a_array[1].a_array[0].a_empty_obj_nested.o2, $.a_array[1].a_array[0].a_empty_obj_nested.o3, $.a_obj.a_array[0].a_num_float, $.a_array[1].a_array[0].a_empty_array_nested[1], $.a_array[1].a_array[0].a_empty_array_nested[2], $.a_obj.a_array[0].a_str, $.a_obj.a_array[1].a_null, $.a_str, $.a_array[0].a_obj.a_num_float, $.a_null, $.a_array[0].a_str, $.a_array[1].a_num_float, $.a_array[1].a_array[1].a_num_float, $.a_array[1].a_obj.a_bool, $.a_array[1].a_array[1].a_null, $.a_obj.a_array[1].a_num_float, $.a_array[1].a_num_int, $.a_num_int, $.a_array[0].a_empty_array_nested[2], $.a_array[0].a_empty_array_nested[1], $.a_array[0].a_array[1].a_bool, $.a_obj.a_array[1].a_str, $.a_array[1].a_null, $.a_array[0].a_empty_obj_nested.o2, $.a_array[0].a_empty_obj_nested.o3, $.a_array[1].a_array[0].a_num_float, $.a_array[0].a_num_float, $.a_array[0].a_array[0].a_empty_array, $.a_array[1].a_empty_array, $.a_array[1].a_obj.a_str, $.a_array[0].a_obj.a_num_int, $.a_array[0].a_obj.a_null, $.a_array[1].a_array[1].a_empty_obj_nested.o3, $.a_obj.a_obj.a_num_float, $.a_array[0].a_num_int, $.a_array[0].a_bool, $.a_array[1].a_array[1].a_empty_obj_nested.o2, $.a_obj.a_array[0].a_num_int, $.a_obj.a_array[0].a_bool, $.a_array[1].a_array[1].a_num_int, $.a_array[0].a_array[0].a_bool, $.a_array[1].a_array[0].a_null, $.a_array[0].a_obj.a_empty_obj_nested.o2, $.a_array[0].a_obj.a_empty_obj_nested.o3, $.a_obj.a_bool, $.a_array[1].a_obj.a_num_float, $.a_obj.a_array[1].a_empty_obj_nested.o3, $.a_array[0].a_array[1].a_empty_array, $.a_obj.a_array[1].a_empty_obj_nested.o2, $.a_array[0].a_obj.a_bool, $.a_obj.a_array[1].a_num_int, $.a_obj.a_array[1].a_bool, $.a_num_float, $.a_array[1].a_str, $.a_array[1].a_empty_obj_nested.o3, $.a_array[1].a_empty_obj_nested.o2, $.a_obj.a_obj.a_empty_array_nested[1], $.a_obj.a_obj.a_empty_array_nested[2], $.a_array[0].a_array[1].a_empty_array_nested[1], $.a_array[0].a_obj.a_str, $.a_array[0].a_array[1].a_empty_array_nested[2], $.a_array[1].a_obj.a_num_int, $.a_obj.a_obj.a_num_int, $.a_array[0].a_array[0].a_str, $.a_obj.a_str, $.a_array[0].a_array[0].a_empty_array_nested[1], $.a_array[0].a_array[0].a_empty_obj_nested.o2, $.a_array[1].a_obj.a_empty_array, $.a_array[0].a_array[1].a_null, $.a_obj.a_num_float, $.a_array[0].a_array[0].a_num_float, $.a_obj.a_obj.a_empty_array, $.a_obj.a_array[0].a_empty_obj_nested.o2, $.a_obj.a_array[0].a_empty_obj_nested.o3, $.a_array[1].a_array[0].a_empty_array, $.a_obj.a_array[0].a_empty_array_nested[1], $.a_obj.a_array[0].a_empty_array_nested[2], $.a_obj.a_empty_obj_nested.o3, $.a_array[0].a_array[1].a_str, $.a_obj.a_null, $.a_array[1].a_bool, $.a_obj.a_empty_obj_nested.o2, $.a_bool, $.a_array[1].a_array[0].a_num_int, $.a_obj.a_obj.a_null, $.a_array[0].a_array[0].a_null, $.a_array[1].a_obj.a_empty_obj_nested.o3, $.a_obj.a_num_int, $.a_array[1].a_obj.a_empty_obj_nested.o2, $.a_array[0].a_array[0].a_empty_obj_nested.o3, $.a_empty_array_nested[1], $.a_empty_array_nested[2], $.a_obj.a_empty_array_nested[1], $.a_obj.a_empty_array_nested[2], $.a_array[1].a_obj.a_empty_array_nested[2], $.a_array[0].a_array[0].a_empty_array_nested[2], $.a_array[1].a_array[1].a_empty_array, $.a_empty_obj_nested.o2, $.a_empty_obj_nested.o3, $.a_array[1].a_obj.a_empty_array_nested[1], $.a_empty_array, $.a_array[0].a_obj.a_empty_array, $.a_array[1].a_array[1].a_empty_array_nested[2], $.a_obj.a_empty_array, $.a_array[1].a_array[1].a_bool, $.a_array[1].a_array[1].a_empty_array_nested[1], $.a_array[0].a_array[0].a_num_int, $.a_obj.a_obj.a_str, $.a_array[0].a_null, $.a_obj.a_array[0].a_empty_array, $.a_obj.a_array[1].a_empty_array_nested[2], $.a_array[0].a_obj.a_empty_array_nested[1], $.a_array[0].a_obj.a_empty_array_nested[2], $.a_array[0].a_empty_array, $.a_obj.a_array[1].a_empty_array_nested[1], $.a_obj.a_array[0].a_null, $.a_array[1].a_array[0].a_str, $.a_array[1].a_empty_array_nested[1], $.a_array[1].a_array[0].a_bool, $.a_array[0].a_array[1].a_num_int, $.a_array[1].a_empty_array_nested[2], $.a_obj.a_array[1].a_empty_array, $.a_array[0].a_array[1].a_num_float, $.a_array[0].a_array[1].a_empty_obj_nested.o2, $.a_array[0].a_array[1].a_empty_obj_nested.o3, $.a_obj.a_obj.a_empty_obj_nested.o2, $.a_array[1].a_obj.a_null, $.a_obj.a_obj.a_empty_obj_nested.o3] | +| [$.b_array[1].b_bool, $.b_array[1].b_array[0].b_num_int, $.b_array[0].b_array[0].b_num_float, $.b_obj.b_array[0].b_empty_array_nested[1], $.b_obj.b_array[0].b_empty_array_nested[2], $.b_array[0].b_obj.b_bool, $.b_array[1].b_obj.b_str, $.b_obj.b_num_int, $.b_array[0].b_array[1].b_null, $.b_obj.b_array[0].b_bool, $.b_array[1].b_array[0].b_str, $.b_num_float, $.b_array[0].b_array[1].b_empty_obj_nested.o3, $.b_obj.b_str, $.b_array[0].b_str, $.b_array[0].b_bool, $.b_array[0].b_array[1].b_empty_obj_nested.o2, $.b_null, $.b_obj.b_obj.b_empty_obj_nested.o3, $.b_obj.b_obj.b_empty_obj_nested.o2, $.b_array[0].b_array[1].b_empty_array, $.b_array[0].b_array[0].b_empty_array_nested[1], $.b_array[0].b_array[0].b_empty_array_nested[2], $.b_obj.b_empty_obj_nested.o2, $.b_obj.b_array[1].b_empty_obj_nested.o2, $.b_obj.b_array[1].b_empty_obj_nested.o3, $.b_array[0].b_array[0].b_empty_array, $.b_obj.b_empty_obj_nested.o3, $.b_array[0].b_obj.b_str, $.b_obj.b_array[1].b_bool, $.b_obj.b_array[0].b_str, $.b_obj.b_array[0].b_num_int, $.b_array[1].b_str, $.b_obj.b_array[1].b_num_float, $.b_bool, $.b_array[1].b_obj.b_bool, $.b_array[1].b_obj.b_empty_array, $.b_array[1].b_array[1].b_empty_array, $.b_empty_array_nested[2], $.b_empty_array_nested[1], $.b_array[1].b_array[1].b_bool, $.b_array[0].b_empty_obj_nested.o2, $.b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_array[1].b_empty_array_nested[1], $.b_array[1].b_array[1].b_empty_array_nested[2], $.b_obj.b_empty_array, $.b_array[0].b_empty_array, $.b_obj.b_obj.b_num_float, $.b_array[1].b_array[1].b_num_int, $.b_obj.b_array[1].b_null, $.b_array[0].b_array[1].b_num_float, $.b_array[1].b_empty_array_nested[1], $.b_array[1].b_array[1].b_empty_obj_nested.o3, $.b_array[1].b_array[1].b_empty_obj_nested.o2, $.b_array[1].b_array[0].b_empty_array, $.b_array[0].b_array[0].b_null, $.b_array[1].b_empty_array_nested[2], $.b_array[1].b_array[1].b_str, $.b_obj.b_obj.b_empty_array_nested[2], $.b_obj.b_obj.b_empty_array_nested[1], $.b_obj.b_obj.b_null, $.b_array[1].b_obj.b_num_int, $.b_obj.b_obj.b_num_int, $.b_array[0].b_obj.b_empty_obj_nested.o3, $.b_array[0].b_obj.b_empty_obj_nested.o2, $.b_str, $.b_empty_obj_nested.o2, $.b_obj.b_array[0].b_null, $.b_empty_obj_nested.o3, $.b_array[1].b_empty_array, $.b_array[1].b_array[1].b_num_float, $.b_array[0].b_obj.b_empty_array, $.b_obj.b_array[1].b_empty_array, $.b_array[0].b_obj.b_null, $.b_num_int, $.b_array[1].b_array[0].b_empty_obj_nested.o2, $.b_array[1].b_null, $.b_array[1].b_empty_obj_nested.o2, $.b_array[1].b_empty_obj_nested.o3, $.b_array[1].b_array[0].b_empty_array_nested[2], $.b_array[1].b_array[0].b_empty_array_nested[1], $.b_obj.b_bool, $.b_obj.b_array[0].b_num_float, $.b_obj.b_array[1].b_num_int, $.b_array[1].b_array[0].b_num_float, $.b_array[0].b_empty_array_nested[2], $.b_array[0].b_empty_array_nested[1], $.b_array[1].b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_num_int, $.b_array[0].b_num_float, $.b_array[1].b_num_float, $.b_array[1].b_array[0].b_bool, $.b_array[0].b_obj.b_empty_array_nested[2], $.b_obj.b_num_float, $.b_array[0].b_obj.b_empty_array_nested[1], $.b_array[0].b_obj.b_num_float, $.b_array[0].b_null, $.b_array[0].b_obj.b_num_int, $.b_empty_array, $.b_array[0].b_array[1].b_num_int, $.b_obj.b_array[1].b_empty_array_nested[2], $.b_obj.b_array[1].b_empty_array_nested[1], $.b_array[0].b_num_int, $.b_array[1].b_array[0].b_null, $.b_array[1].b_obj.b_null, $.b_array[0].b_array[1].b_empty_array_nested[2], $.b_obj.b_obj.b_bool, $.b_array[0].b_array[0].b_bool, $.b_obj.b_obj.b_empty_array, $.b_array[0].b_array[1].b_str, $.b_array[1].b_obj.b_empty_array_nested[1], $.b_array[1].b_obj.b_empty_array_nested[2], $.b_obj.b_null, $.b_obj.b_array[1].b_str, $.b_obj.b_empty_array_nested[2], $.b_array[0].b_array[0].b_num_int, $.b_obj.b_empty_array_nested[1], $.b_array[1].b_obj.b_empty_obj_nested.o3, $.b_array[0].b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_obj.b_empty_obj_nested.o2, $.b_array[0].b_array[0].b_empty_obj_nested.o2, $.b_array[1].b_array[1].b_null, $.b_obj.b_array[0].b_empty_array, $.b_array[0].b_array[1].b_empty_array_nested[1], $.b_obj.b_array[0].b_empty_obj_nested.o3, $.b_array[0].b_array[1].b_bool, $.b_obj.b_array[0].b_empty_obj_nested.o2, $.b_array[0].b_array[0].b_str, $.b_obj.b_obj.b_str, $.b_array[1].b_obj.b_num_float] | +| [$.b_array[1].b_bool, $.b_array[1].b_array[0].b_num_int, $.b_array[0].b_array[0].b_num_float, $.b_obj.b_array[0].b_empty_array_nested[1], $.b_obj.b_array[0].b_empty_array_nested[2], $.b_array[0].b_obj.b_bool, $.b_array[1].b_obj.b_str, $.b_obj.b_num_int, $.b_array[0].b_array[1].b_null, $.b_obj.b_array[0].b_bool, $.b_array[1].b_array[0].b_str, $.b_num_float, $.b_array[0].b_array[1].b_empty_obj_nested.o3, $.b_obj.b_str, $.b_array[0].b_str, $.b_array[0].b_bool, $.b_array[0].b_array[1].b_empty_obj_nested.o2, $.b_null, $.b_obj.b_obj.b_empty_obj_nested.o3, $.b_obj.b_obj.b_empty_obj_nested.o2, $.b_array[0].b_array[1].b_empty_array, $.b_array[0].b_array[0].b_empty_array_nested[1], $.b_array[0].b_array[0].b_empty_array_nested[2], $.b_obj.b_empty_obj_nested.o2, $.b_obj.b_array[1].b_empty_obj_nested.o2, $.b_obj.b_array[1].b_empty_obj_nested.o3, $.b_array[0].b_array[0].b_empty_array, $.b_obj.b_empty_obj_nested.o3, $.b_array[0].b_obj.b_str, $.b_obj.b_array[1].b_bool, $.b_obj.b_array[0].b_str, $.b_obj.b_array[0].b_num_int, $.b_array[1].b_str, $.b_obj.b_array[1].b_num_float, $.b_bool, $.b_array[1].b_obj.b_bool, $.b_array[1].b_obj.b_empty_array, $.b_array[1].b_array[1].b_empty_array, $.b_empty_array_nested[2], $.b_empty_array_nested[1], $.b_array[1].b_array[1].b_bool, $.b_array[0].b_empty_obj_nested.o2, $.b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_array[1].b_empty_array_nested[1], $.b_array[1].b_array[1].b_empty_array_nested[2], $.b_obj.b_empty_array, $.b_array[0].b_empty_array, $.b_obj.b_obj.b_num_float, $.b_array[1].b_array[1].b_num_int, $.b_obj.b_array[1].b_null, $.b_array[0].b_array[1].b_num_float, $.b_array[1].b_empty_array_nested[1], $.b_array[1].b_array[1].b_empty_obj_nested.o3, $.b_array[1].b_array[1].b_empty_obj_nested.o2, $.b_array[1].b_array[0].b_empty_array, $.b_array[0].b_array[0].b_null, $.b_array[1].b_empty_array_nested[2], $.b_array[1].b_array[1].b_str, $.b_obj.b_obj.b_empty_array_nested[2], $.b_obj.b_obj.b_empty_array_nested[1], $.b_obj.b_obj.b_null, $.b_array[1].b_obj.b_num_int, $.b_obj.b_obj.b_num_int, $.b_array[0].b_obj.b_empty_obj_nested.o3, $.b_array[0].b_obj.b_empty_obj_nested.o2, $.b_str, $.b_empty_obj_nested.o2, $.b_obj.b_array[0].b_null, $.b_empty_obj_nested.o3, $.b_array[1].b_empty_array, $.b_array[1].b_array[1].b_num_float, $.b_array[0].b_obj.b_empty_array, $.b_obj.b_array[1].b_empty_array, $.b_array[0].b_obj.b_null, $.b_num_int, $.b_array[1].b_array[0].b_empty_obj_nested.o2, $.b_array[1].b_null, $.b_array[1].b_empty_obj_nested.o2, $.b_array[1].b_empty_obj_nested.o3, $.b_array[1].b_array[0].b_empty_array_nested[2], $.b_array[1].b_array[0].b_empty_array_nested[1], $.b_obj.b_bool, $.b_obj.b_array[0].b_num_float, $.b_obj.b_array[1].b_num_int, $.b_array[1].b_array[0].b_num_float, $.b_array[0].b_empty_array_nested[2], $.b_array[0].b_empty_array_nested[1], $.b_array[1].b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_num_int, $.b_array[0].b_num_float, $.b_array[1].b_num_float, $.b_array[1].b_array[0].b_bool, $.b_array[0].b_obj.b_empty_array_nested[2], $.b_obj.b_num_float, $.b_array[0].b_obj.b_empty_array_nested[1], $.b_array[0].b_obj.b_num_float, $.b_array[0].b_null, $.b_array[0].b_obj.b_num_int, $.b_empty_array, $.b_array[0].b_array[1].b_num_int, $.b_obj.b_array[1].b_empty_array_nested[2], $.b_obj.b_array[1].b_empty_array_nested[1], $.b_array[0].b_num_int, $.b_array[1].b_array[0].b_null, $.b_array[1].b_obj.b_null, $.b_array[0].b_array[1].b_empty_array_nested[2], $.b_obj.b_obj.b_bool, $.b_array[0].b_array[0].b_bool, $.b_obj.b_obj.b_empty_array, $.b_array[0].b_array[1].b_str, $.b_array[1].b_obj.b_empty_array_nested[1], $.b_array[1].b_obj.b_empty_array_nested[2], $.b_obj.b_null, $.b_obj.b_array[1].b_str, $.b_obj.b_empty_array_nested[2], $.b_array[0].b_array[0].b_num_int, $.b_obj.b_empty_array_nested[1], $.b_array[1].b_obj.b_empty_obj_nested.o3, $.b_array[0].b_array[0].b_empty_obj_nested.o3, $.b_array[1].b_obj.b_empty_obj_nested.o2, $.b_array[0].b_array[0].b_empty_obj_nested.o2, $.b_array[1].b_array[1].b_null, $.b_obj.b_array[0].b_empty_array, $.b_array[0].b_array[1].b_empty_array_nested[1], $.b_obj.b_array[0].b_empty_obj_nested.o3, $.b_array[0].b_array[1].b_bool, $.b_obj.b_array[0].b_empty_obj_nested.o2, $.b_array[0].b_array[0].b_str, $.b_obj.b_obj.b_str, $.b_array[1].b_obj.b_num_float] | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +(4 rows) + +!ok + +{ + "queryType" : "scan", + "dataSource" : { + "type" : "table", + "name" : "test_json_cols" + }, + "intervals" : { + "type" : "intervals", + "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] + }, + "virtualColumns" : [ { + "type" : "expression", + "name" : "v0", + "expression" : "json_paths(\"c1\")", + "outputType" : "ARRAY" + } ], + "resultFormat" : "compactedList", + "columns" : [ "v0" ], + "columnTypes" : [ "ARRAY" ], + "granularity" : { + "type" : "all" + }, + "legacy" : false +} +!nativePlan + +#------------------------------------------------------------------------- +# Total query count 985 Positive tests: 823 Negative tests: 162 +#------------------------------------------------------------------------- diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_all_engines_dataset.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_all_engines_dataset.iq new file mode 100644 index 000000000000..dd085251ceec --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_all_engines_dataset.iq @@ -0,0 +1,17 @@ +!set dartQueryId 00000000-0000-0000-0000-000000000000 +!use druidtest://?componentSupplier=AllDruidEnginesComponentSupplier&datasets=sql/src/test/quidem/sampledataset +!set outputformat mysql + +select * from "rollup-tutorial"; ++-------------------------+---------+---------+--------+-------+---------+ +| __time | srcIP | dstIP | bytes | count | packets | ++-------------------------+---------+---------+--------+-------+---------+ +| 2018-01-01 01:01:00.000 | 1.1.1.1 | 2.2.2.2 | 35937 | 3 | 286 | +| 2018-01-01 01:02:00.000 | 1.1.1.1 | 2.2.2.2 | 366260 | 2 | 415 | +| 2018-01-01 01:03:00.000 | 1.1.1.1 | 2.2.2.2 | 10204 | 1 | 49 | +| 2018-01-02 21:33:00.000 | 7.7.7.7 | 8.8.8.8 | 100288 | 2 | 161 | +| 2018-01-02 21:35:00.000 | 7.7.7.7 | 8.8.8.8 | 2818 | 1 | 12 | ++-------------------------+---------+---------+--------+-------+---------+ +(5 rows) + +!ok diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_all_engines_disabled.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_all_engines_disabled.iq new file mode 100644 index 000000000000..c9c6a633dee4 --- /dev/null +++ b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_all_engines_disabled.iq @@ -0,0 +1,20 @@ +!set dartQueryId 00000000-0000-0000-0000-000000000000 +!use druidtest://?componentSupplier=AllDruidEnginesComponentSupplier +!set outputformat mysql + +!disabled StandardComponentSupplier not supported on native engine: scan with order-by + +select dim1 from foo order by dim1; ++------+ +| dim1 | ++------+ +| | +| 1 | +| 10.1 | +| 2 | +| abc | +| def | ++------+ +(6 rows) + +!ok diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/dart1.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_dart.iq similarity index 100% rename from quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/dart1.iq rename to quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_dart.iq diff --git a/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/example.iq b/quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_example.iq similarity index 100% rename from quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/example.iq rename to quidem-ut/src/test/quidem/org.apache.druid.quidem.QTest/testframework_example.iq diff --git a/server/src/main/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageCoordinator.java b/server/src/main/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageCoordinator.java index eb2ee13e3aaa..473e462dd518 100644 --- a/server/src/main/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageCoordinator.java +++ b/server/src/main/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageCoordinator.java @@ -25,6 +25,7 @@ import org.apache.druid.segment.SegmentSchemaMapping; import org.apache.druid.segment.realtime.appenderator.SegmentIdWithShardSpec; import org.apache.druid.timeline.DataSegment; +import org.apache.druid.timeline.SegmentId; import org.apache.druid.timeline.SegmentTimeline; import org.joda.time.DateTime; import org.joda.time.Interval; @@ -148,14 +149,39 @@ List retrieveUnusedSegmentsForInterval( Set retrieveSegmentsById(String dataSource, Set segmentIds); /** - * Mark as unused segments which include ONLY data within the given interval. + * Marks the segment as unused. * - * @param dataSource The data source the segments belong to - * @param interval Filter the data segments to ones that include data in this interval exclusively. + * @return true if the segment was updated, false otherwise + */ + boolean markSegmentAsUnused(SegmentId segmentId); + + /** + * Marks the given segments as unused. + * + * @return Number of segments updated + */ + int markSegmentsAsUnused(String dataSource, Set segmentIds); + + /** + * Marks all the segments in given datasource as unused. * - * @return number of segments marked unused + * @return Number of updated segments */ - int markSegmentsAsUnusedWithinInterval(String dataSource, Interval interval); + int markAllSegmentsAsUnused(String dataSource); + + /** + * Marks segments that are fully contained in the given interval as unused. + * + * @param versions Optional list of segment versions eligible for update. + * If this list is passed as null, all segment versions are + * eligible for updated. If passed as empty, no segment is updated. + * @return Number of segments updated + */ + int markSegmentsWithinIntervalAsUnused( + String dataSource, + Interval interval, + @Nullable List versions + ); /** * Attempts to insert a set of segments and corresponding schema to the metadata storage. diff --git a/server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java b/server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java index 9a0f91d6afd6..2f35c9f45d47 100644 --- a/server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java +++ b/server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java @@ -174,7 +174,7 @@ private Set doRetrieveUsedSegments( final Segments visibility ) { - return inReadWriteDatasourceTransaction( + return inReadOnlyDatasourceTransaction( dataSource, transaction -> { if (visibility == Segments.ONLY_VISIBLE) { @@ -235,7 +235,7 @@ public Set retrieveSegmentsById(String dataSource, Set segm return inReadOnlyDatasourceTransaction( dataSource, transaction -> - retrieveSegmentsById(transaction, segmentIds) + retrieveSegmentsById(dataSource, transaction, segmentIds) .stream() .map(DataSegmentPlus::getDataSegment) .collect(Collectors.toSet()) @@ -243,22 +243,47 @@ public Set retrieveSegmentsById(String dataSource, Set segm } @Override - public int markSegmentsAsUnusedWithinInterval(String dataSource, Interval interval) + public int markSegmentsWithinIntervalAsUnused( + String dataSource, + Interval interval, + @Nullable List versions + ) { - final Integer numSegmentsMarkedUnused = inReadWriteDatasourceTransaction( + return inReadWriteDatasourceTransaction( dataSource, - transaction -> transaction.markSegmentsWithinIntervalAsUnused(interval, DateTimes.nowUtc()) + transaction -> transaction.markSegmentsWithinIntervalAsUnused(interval, versions, DateTimes.nowUtc()) ); + } - log.info( - "Marked [%,d] segments unused for datasource[%s], interval[%s].", - numSegmentsMarkedUnused, dataSource, interval + @Override + public boolean markSegmentAsUnused(SegmentId segmentId) + { + return inReadWriteDatasourceTransaction( + segmentId.getDataSource(), + transaction -> transaction.markSegmentAsUnused(segmentId, DateTimes.nowUtc()) + ); + } + + @Override + public int markSegmentsAsUnused(String dataSource, Set segmentIds) + { + return inReadWriteDatasourceTransaction( + dataSource, + transaction -> transaction.markSegmentsAsUnused(segmentIds, DateTimes.nowUtc()) + ); + } + + @Override + public int markAllSegmentsAsUnused(String dataSource) + { + return inReadWriteDatasourceTransaction( + dataSource, + transaction -> transaction.markAllSegmentsAsUnused(DateTimes.nowUtc()) ); - return numSegmentsMarkedUnused; } private SegmentTimeline getTimelineForIntervals( - final SegmentMetadataTransaction transaction, + final SegmentMetadataReadTransaction transaction, final List intervals ) { @@ -355,6 +380,7 @@ public SegmentPublishResult commitReplaceSegments( final Set segmentsToInsert = new HashSet<>(replaceSegments); Set upgradedSegments = createNewIdsOfAppendSegmentsAfterReplace( + dataSource, transaction, replaceSegments, locksHeldByReplaceTask @@ -553,7 +579,7 @@ public SegmentIdWithShardSpec allocatePendingSegment( * those versions. * * - * @param replaceSegments Segments being committed by a REPLACE task + * @param replaceSegments Segments being committed by a "REPLACE" task * @return List of inserted pending segment records */ private List upgradePendingSegmentsOverlappingWith( @@ -1139,7 +1165,7 @@ private Map createNewSegments( return Collections.emptyMap(); } - // Shard spec of any of the requests (as they are all compatible) can be used to + // Shard spec of one of the requests (as they are all compatible) can be used to // identify existing shard specs that share partition space with the requested ones. final PartialShardSpec partialShardSpec = requests.get(0).getPartialShardSpec(); @@ -1465,7 +1491,7 @@ private SegmentIdWithShardSpec getTrueAllocatedId( ) { // Check if there is a conflict with an existing entry in the segments table - if (transaction.findSegment(allocatedId.asSegmentId()) == null) { + if (transaction.findExistingSegmentIds(Set.of(allocatedId.asSegmentId())).isEmpty()) { return allocatedId; } @@ -1474,6 +1500,11 @@ private SegmentIdWithShardSpec getTrueAllocatedId( allocatedId.getInterval(), allocatedId.getVersion() ); + log.info( + "Allocated SegmentId[%s] is already in use. Using next ID after max[%s].", + allocatedId.asSegmentId(), unusedMaxId + ); + // No unused segment. Just return the allocated id if (unusedMaxId == null) { return allocatedId; @@ -1559,7 +1590,8 @@ private Set insertSegments( persistSchema(transaction, segments, segmentSchemaMapping); } - Set existedSegments = transaction.findExistingSegmentIds(segments); + final Set segmentIds = segments.stream().map(DataSegment::getId).collect(Collectors.toSet()); + Set existedSegments = transaction.findExistingSegmentIds(segmentIds); log.info("Found these segments already exist in DB: %s", existedSegments); for (DataSegment segment : segments) { @@ -1603,15 +1635,16 @@ private Set insertSegments( } /** - * Creates new versions of segments appended while a REPLACE task was in progress. + * Creates new versions of segments appended while a "REPLACE" task was in progress. */ private Set createNewIdsOfAppendSegmentsAfterReplace( + final String dataSource, final SegmentMetadataTransaction transaction, final Set replaceSegments, final Set locksHeldByReplaceTask ) { - // If a REPLACE task has locked an interval, it would commit some segments + // If a "REPLACE" task has locked an interval, it would commit some segments // (or at least tombstones) in that interval (except in LEGACY_REPLACE ingestion mode) if (replaceSegments.isEmpty() || locksHeldByReplaceTask.isEmpty()) { return Collections.emptySet(); @@ -1638,7 +1671,7 @@ private Set createNewIdsOfAppendSegmentsAfterReplace( = getAppendSegmentsCommittedDuringTask(transaction, taskId); final List segmentsToUpgrade - = retrieveSegmentsById(transaction, upgradeSegmentToLockVersion.keySet()); + = retrieveSegmentsById(dataSource, transaction, upgradeSegmentToLockVersion.keySet()); if (segmentsToUpgrade.isEmpty()) { return Collections.emptySet(); @@ -1775,7 +1808,8 @@ private Set insertSegments( } // Do not insert segment IDs which already exist - Set existingSegmentIds = transaction.findExistingSegmentIds(segments); + final Set segmentIds = segments.stream().map(DataSegment::getId).collect(Collectors.toSet()); + Set existingSegmentIds = transaction.findExistingSegmentIds(segmentIds); final Set segmentsToInsert = segments.stream().filter( s -> !existingSegmentIds.contains(s.getId().toString()) ).collect(Collectors.toSet()); @@ -1896,6 +1930,7 @@ private void insertIntoUpgradeSegmentsTable( } private List retrieveSegmentsById( + String dataSource, SegmentMetadataReadTransaction transaction, Set segmentIds ) @@ -1904,10 +1939,13 @@ private List retrieveSegmentsById( return Collections.emptyList(); } + // Validate segment IDs + final Set validSegmentIds = IdUtils.getValidSegmentIds(dataSource, segmentIds); + if (schemaPersistEnabled) { - return transaction.findSegmentsWithSchema(segmentIds); + return transaction.findSegmentsWithSchema(validSegmentIds); } else { - return transaction.findSegments(segmentIds); + return transaction.findSegments(validSegmentIds); } } @@ -2280,10 +2318,11 @@ Set retrieveUsedSegmentsForAllocation( for (Map itvlMap : versionIntervalToSmallestSegmentId.values()) { segmentIdsToRetrieve.addAll(itvlMap.values()); } - final List dataSegments = transaction.findUsedSegments(segmentIdsToRetrieve); + final List dataSegments = transaction.findUsedSegments(segmentIdsToRetrieve); final Set retrievedIds = new HashSet<>(); final Map> versionIntervalToNumCorePartitions = new HashMap<>(); - for (DataSegment segment : dataSegments) { + for (DataSegmentPlus segmentPlus : dataSegments) { + final DataSegment segment = segmentPlus.getDataSegment(); versionIntervalToNumCorePartitions.computeIfAbsent(segment.getVersion(), v -> new HashMap<>()) .put(segment.getInterval(), segment.getShardSpec().getNumCorePartitions()); retrievedIds.add(segment.getId()); diff --git a/server/src/main/java/org/apache/druid/metadata/SegmentsMetadataManager.java b/server/src/main/java/org/apache/druid/metadata/SegmentsMetadataManager.java index 330822067ad4..97a77d5208ab 100644 --- a/server/src/main/java/org/apache/druid/metadata/SegmentsMetadataManager.java +++ b/server/src/main/java/org/apache/druid/metadata/SegmentsMetadataManager.java @@ -70,7 +70,7 @@ public interface SegmentsMetadataManager * any of the given segment IDs * do not exist in the metadata store. */ - int markAsUsedNonOvershadowedSegments(String dataSource, Set segmentIds); + int markAsUsedNonOvershadowedSegments(String dataSource, Set segmentIds); /** * Returns true if the state of the segment entry is changed in the database as the result of this call (that is, the diff --git a/server/src/main/java/org/apache/druid/metadata/SegmentsMetadataManagerConfig.java b/server/src/main/java/org/apache/druid/metadata/SegmentsMetadataManagerConfig.java index fc65de4af532..033a703247fa 100644 --- a/server/src/main/java/org/apache/druid/metadata/SegmentsMetadataManagerConfig.java +++ b/server/src/main/java/org/apache/druid/metadata/SegmentsMetadataManagerConfig.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.druid.common.config.Configs; +import org.apache.druid.metadata.segment.cache.SegmentMetadataCache; import org.joda.time.Period; /** @@ -36,19 +37,19 @@ public class SegmentsMetadataManagerConfig private final Period pollDuration; @JsonProperty - private final boolean useCache; + private final SegmentMetadataCache.UsageMode useCache; @JsonCreator public SegmentsMetadataManagerConfig( @JsonProperty("pollDuration") Period pollDuration, - @JsonProperty("useCache") Boolean useCache + @JsonProperty("useCache") SegmentMetadataCache.UsageMode useCache ) { this.pollDuration = Configs.valueOrDefault(pollDuration, Period.minutes(1)); - this.useCache = Configs.valueOrDefault(useCache, false); + this.useCache = Configs.valueOrDefault(useCache, SegmentMetadataCache.UsageMode.NEVER); } - public boolean isUseCache() + public SegmentMetadataCache.UsageMode getCacheMode() { return useCache; } diff --git a/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataManager.java b/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataManager.java index 6cf7e21605a4..11b00742bc8e 100644 --- a/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataManager.java +++ b/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataManager.java @@ -739,7 +739,7 @@ private int markNonOvershadowedSegmentsAsUsed( } @Override - public int markAsUsedNonOvershadowedSegments(final String dataSource, final Set segmentIds) + public int markAsUsedNonOvershadowedSegments(final String dataSource, final Set segmentIds) { try { Pair, SegmentTimeline> unusedSegmentsAndTimeline = connector @@ -775,7 +775,7 @@ public int markAsUsedNonOvershadowedSegments(final String dataSource, final Set< private List retrieveUnusedSegments( final String dataSource, - final Set segmentIds, + final Set segmentIds, final Handle handle ) { @@ -783,11 +783,11 @@ private List retrieveUnusedSegments( .forHandle(handle, connector, dbTables.get(), jsonMapper) .retrieveSegmentsById(dataSource, segmentIds); - final Set unknownSegmentIds = new HashSet<>(segmentIds); + final Set unknownSegmentIds = new HashSet<>(segmentIds); final List unusedSegments = new ArrayList<>(); for (DataSegmentPlus entry : retrievedSegments) { final DataSegment segment = entry.getDataSegment(); - unknownSegmentIds.remove(segment.getId().toString()); + unknownSegmentIds.remove(segment.getId()); if (Boolean.FALSE.equals(entry.getUsed())) { unusedSegments.add(segment); } @@ -823,7 +823,7 @@ private int markSegmentsAsUsed(final List segmentIds) return connector.getDBI().withHandle( handle -> SqlSegmentsMetadataQuery.forHandle(handle, connector, dbTables.get(), jsonMapper) - .markSegments(segmentIds, true) + .markSegments(segmentIds, true, DateTimes.nowUtc()) ); } @@ -854,7 +854,7 @@ public boolean markSegmentAsUnused(final SegmentId segmentId) final int numSegments = connector.getDBI().withHandle( handle -> SqlSegmentsMetadataQuery.forHandle(handle, connector, dbTables.get(), jsonMapper) - .markSegments(Collections.singletonList(segmentId), false) + .markSegments(List.of(segmentId), false, DateTimes.nowUtc()) ); return numSegments > 0; @@ -871,7 +871,7 @@ public int markSegmentsAsUnused(Set segmentIds) return connector.getDBI().withHandle( handle -> SqlSegmentsMetadataQuery.forHandle(handle, connector, dbTables.get(), jsonMapper) - .markSegments(segmentIds, false) + .markSegments(segmentIds, false, DateTimes.nowUtc()) ); } diff --git a/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataQuery.java b/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataQuery.java index d683be585753..6a6d9ac64fa8 100644 --- a/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataQuery.java +++ b/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataQuery.java @@ -383,7 +383,7 @@ public Set retrieveUsedSegmentIds( */ public List retrieveSegmentsById( String datasource, - Set segmentIds + Set segmentIds ) { try (CloseableIterator iterator @@ -406,11 +406,12 @@ public List retrieveSegmentsById( */ public CloseableIterator retrieveSegmentsByIdIterator( final String datasource, - final Set segmentIds, + final Set segmentIds, final boolean includeSchemaInfo ) { - final List> partitionedSegmentIds = Lists.partition(List.copyOf(segmentIds), 100); + final List ids = segmentIds.stream().map(SegmentId::toString).collect(Collectors.toList()); + final List> partitionedSegmentIds = Lists.partition(ids, 100); // CloseableIterator to query segments in batches return new CloseableIterator<>() @@ -467,7 +468,7 @@ public DataSegmentPlus next() */ public List retrieveSegmentsWithSchemaById( String datasource, - Set segmentIds + Set segmentIds ) { try (CloseableIterator iterator @@ -524,7 +525,7 @@ private CloseableIterator retrieveSegmentBatchById( } else { final Query> query = handle.createQuery( StringUtils.format( - "SELECT payload, used, upgraded_from_segment_id, used_status_last_updated" + "SELECT payload, used, upgraded_from_segment_id, used_status_last_updated, created_date" + " FROM %s WHERE dataSource = :dataSource %s", dbTables.getSegmentsTable(), getParameterizedInConditionForColumn("id", segmentIds) ) @@ -538,7 +539,7 @@ private CloseableIterator retrieveSegmentBatchById( .map( (index, r, ctx) -> new DataSegmentPlus( JacksonUtils.readValue(jsonMapper, r.getBytes(1), DataSegment.class), - null, + DateTimes.of(r.getString(5)), DateTimes.of(r.getString(4)), r.getBoolean(2), null, @@ -561,7 +562,7 @@ private CloseableIterator retrieveSegmentBatchById( * * @return the number of segments actually modified. */ - public int markSegments(final Collection segmentIds, final boolean used) + public int markSegments(final Collection segmentIds, final boolean used, DateTime updateTime) { final String dataSource; @@ -583,7 +584,7 @@ public int markSegments(final Collection segmentIds, final boolean us ); for (SegmentId segmentId : segmentIds) { - batch.add(used, DateTimes.nowUtc().toString(), dataSource, segmentId.toString()); + batch.add(used, updateTime.toString(), dataSource, segmentId.toString()); } final int[] segmentChanges = batch.execute(); @@ -705,52 +706,42 @@ public int markSegmentsUnused( DataSegment::getId ) ); - return markSegments(segments, false); + return markSegments(segments, false, updateTime); } } /** * Retrieve the used segment for a given id if it exists in the metadata store and null otherwise */ - public DataSegment retrieveUsedSegmentForId(String id) + @Nullable + public DataSegment retrieveUsedSegmentForId(SegmentId segmentId) { final String query = "SELECT payload FROM %s WHERE used = true AND id = :id"; - final Query> sql = handle + final List segments = handle .createQuery(StringUtils.format(query, dbTables.getSegmentsTable())) - .bind("id", id); - - final ResultIterator resultIterator = - sql.map((index, r, ctx) -> JacksonUtils.readValue(jsonMapper, r.getBytes(1), DataSegment.class)) - .iterator(); - - if (resultIterator.hasNext()) { - return resultIterator.next(); - } + .bind("id", segmentId.toString()) + .map((index, r, ctx) -> JacksonUtils.readValue(jsonMapper, r.getBytes(1), DataSegment.class)) + .list(); - return null; + return segments.isEmpty() ? null : segments.get(0); } /** * Retrieve the segment for a given id if it exists in the metadata store and null otherwise */ - public DataSegment retrieveSegmentForId(String id) + @Nullable + public DataSegment retrieveSegmentForId(SegmentId segmentId) { final String query = "SELECT payload FROM %s WHERE id = :id"; - final Query> sql = handle + final List segments = handle .createQuery(StringUtils.format(query, dbTables.getSegmentsTable())) - .bind("id", id); - - final ResultIterator resultIterator = - sql.map((index, r, ctx) -> JacksonUtils.readValue(jsonMapper, r.getBytes(1), DataSegment.class)) - .iterator(); - - if (resultIterator.hasNext()) { - return resultIterator.next(); - } + .bind("id", segmentId.toString()) + .map((index, r, ctx) -> JacksonUtils.readValue(jsonMapper, r.getBytes(1), DataSegment.class)) + .list(); - return null; + return segments.isEmpty() ? null : segments.get(0); } public List retrievePendingSegmentIds( @@ -1143,7 +1134,7 @@ private UnmodifiableIterator retrieveSegmentsPlusInIntervalsBat true ); - final ResultIterator resultIterator = getDataSegmentPlusResultIterator(sql); + final ResultIterator resultIterator = getDataSegmentPlusResultIterator(sql, used); return filterDataSegmentPlusIteratorByInterval(resultIterator, intervals, matchMode); } @@ -1165,9 +1156,9 @@ private Query> buildSegmentsTableQuery( final boolean compareAsString = intervals.stream().allMatch(Intervals::canCompareEndpointsAsStrings); final StringBuilder sb = new StringBuilder(); if (includeExtraInfo) { - sb.append("SELECT payload, created_date, used_status_last_updated FROM %s WHERE used = :used AND dataSource = :dataSource"); + sb.append("SELECT id, payload, created_date, used_status_last_updated FROM %s WHERE used = :used AND dataSource = :dataSource"); } else { - sb.append("SELECT payload FROM %s WHERE used = :used AND dataSource = :dataSource"); + sb.append("SELECT id, payload FROM %s WHERE used = :used AND dataSource = :dataSource"); } if (compareAsString) { @@ -1234,22 +1225,33 @@ private Query> buildSegmentsTableQuery( private ResultIterator getDataSegmentResultIterator(Query> sql) { - return sql.map((index, r, ctx) -> JacksonUtils.readValue(jsonMapper, r.getBytes(1), DataSegment.class)) - .iterator(); + return sql.map((index, r, ctx) -> JacksonUtils.readValue(jsonMapper, r.getBytes(2), DataSegment.class)) + .iterator(); } - private ResultIterator getDataSegmentPlusResultIterator(Query> sql) + private ResultIterator getDataSegmentPlusResultIterator( + Query> sql, + boolean used + ) { - return sql.map((index, r, ctx) -> new DataSegmentPlus( - JacksonUtils.readValue(jsonMapper, r.getBytes(1), DataSegment.class), - DateTimes.of(r.getString(2)), + return sql.map((index, r, ctx) -> { + final String segmentId = r.getString(1); + try { + return new DataSegmentPlus( + JacksonUtils.readValue(jsonMapper, r.getBytes(2), DataSegment.class), DateTimes.of(r.getString(3)), - null, + DateTimes.of(r.getString(4)), + used, null, null, null - )) - .iterator(); + ); + } + catch (Throwable t) { + log.error(t, "Could not read segment with ID[%s]", segmentId); + return null; + } + }).iterator(); } private UnmodifiableIterator filterDataSegmentIteratorByInterval( @@ -1288,7 +1290,9 @@ private UnmodifiableIterator filterDataSegmentPlusIteratorByInt return Iterators.filter( resultIterator, dataSegment -> { - if (intervals.isEmpty()) { + if (dataSegment == null) { + return false; + } else if (intervals.isEmpty()) { return true; } else { // Must re-check that the interval matches, even if comparing as string, because the *segment interval* diff --git a/server/src/main/java/org/apache/druid/metadata/segment/CachedSegmentMetadataTransaction.java b/server/src/main/java/org/apache/druid/metadata/segment/CachedSegmentMetadataTransaction.java index da00d2918832..3d19d7c7365e 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/CachedSegmentMetadataTransaction.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/CachedSegmentMetadataTransaction.java @@ -33,10 +33,12 @@ import javax.annotation.Nullable; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.function.Consumer; import java.util.function.Function; +import java.util.stream.Collectors; /** * A {@link SegmentMetadataTransaction} that reads only from the cache and sends @@ -58,21 +60,34 @@ class CachedSegmentMetadataTransaction implements SegmentMetadataTransaction private final DruidLeaderSelector leaderSelector; private final int startTerm; + private final boolean readFromCache; private boolean isRollingBack = false; private boolean isClosed = false; private final List> pendingCacheWrites = new ArrayList<>(); + /** + * Creates a transaction that may read or write from the cache or delegate to + * the metadata store if necessary. Writes are always done to the cache unless + * the update does not affect the cache contents. + * + * @param leaderSelector Used to ensure that leadership does not change during + * the course of the transaction. + * @param readFromCache If true, reads are done from cache. Otherwise, + * reads are done directly from the metadata store. + */ CachedSegmentMetadataTransaction( SegmentMetadataTransaction delegate, DatasourceSegmentCache metadataCache, - DruidLeaderSelector leaderSelector + DruidLeaderSelector leaderSelector, + boolean readFromCache ) { this.delegate = delegate; this.metadataCache = metadataCache; this.leaderSelector = leaderSelector; + this.readFromCache = readFromCache; if (leaderSelector.isLeader()) { this.startTerm = leaderSelector.localTerm(); @@ -140,53 +155,92 @@ public void close() // READ METHODS @Override - public Set findExistingSegmentIds(Set segments) - { - return metadataCache.findExistingSegmentIds(segments); + public Set findExistingSegmentIds(Set segmentIds) + { + final Set remainingIdsToFind = new HashSet<>(segmentIds); + + // Try to find IDs in cache + final Set foundIds = new HashSet<>(); + if (readFromCache) { + foundIds.addAll( + metadataCache.findUsedSegments(remainingIdsToFind) + .stream() + .map(segment -> segment.getDataSegment().getId().toString()) + .collect(Collectors.toCollection(HashSet::new)) + ); + remainingIdsToFind.removeIf(id -> foundIds.contains(id.toString())); + } + + // Find remaining IDs in metadata store + if (!remainingIdsToFind.isEmpty()) { + foundIds.addAll( + delegate.findExistingSegmentIds(remainingIdsToFind) + ); + } + + return Set.copyOf(foundIds); } @Override public Set findUsedSegmentIdsOverlapping(Interval interval) { - return metadataCache.findUsedSegmentIdsOverlapping(interval); + return performReadAction(reader -> reader.findUsedSegmentIdsOverlapping(interval)); } @Override public SegmentId findHighestUnusedSegmentId(Interval interval, String version) { - return metadataCache.findHighestUnusedSegmentId(interval, version); + // Read from metadata store since unused segments are not cached + return delegate.findHighestUnusedSegmentId(interval, version); } @Override - public List findSegments(Set segmentIds) + public List findSegments(Set segmentIds) { - // Read from metadata store since unused segment payloads are not cached - return delegate.findSegments(segmentIds); + final Set remainingIdsToFind = new HashSet<>(segmentIds); + + // Try to find segments in cache + final List foundSegments = new ArrayList<>(); + if (readFromCache) { + foundSegments.addAll( + metadataCache.findUsedSegments(remainingIdsToFind) + ); + foundSegments.forEach(segment -> remainingIdsToFind.remove(segment.getDataSegment().getId())); + } + + // Find remaining segments in metadata store + if (!remainingIdsToFind.isEmpty()) { + foundSegments.addAll( + delegate.findSegments(remainingIdsToFind) + ); + } + + return List.copyOf(foundSegments); } @Override - public List findSegmentsWithSchema(Set segmentIds) + public List findSegmentsWithSchema(Set segmentIds) { - // Read from metadata store since unused segment payloads are not cached + // Read from metadata store since unused segment payloads and schema info is not cached return delegate.findSegmentsWithSchema(segmentIds); } @Override public Set findUsedSegmentsOverlappingAnyOf(List intervals) { - return metadataCache.findUsedSegmentsOverlappingAnyOf(intervals); + return performReadAction(reader -> reader.findUsedSegmentsOverlappingAnyOf(intervals)); } @Override - public List findUsedSegments(Set segmentIds) + public List findUsedSegments(Set segmentIds) { - return metadataCache.findUsedSegments(segmentIds); + return performReadAction(reader -> reader.findUsedSegments(segmentIds)); } @Override public Set findUsedSegmentsPlusOverlappingAnyOf(List intervals) { - return metadataCache.findUsedSegmentsPlusOverlappingAnyOf(intervals); + return performReadAction(reader -> reader.findUsedSegmentsPlusOverlappingAnyOf(intervals)); } @Override @@ -204,14 +258,20 @@ public List findUnusedSegments( @Override public DataSegment findSegment(SegmentId segmentId) { - // Read from metadata store since unused segment payloads are not cached - return delegate.findSegment(segmentId); + // Try to find used segment in cache + final DataSegment usedSegment = metadataCache.findUsedSegment(segmentId); + if (usedSegment == null) { + // Read from metadata store since unused segment payloads are not cached + return delegate.findSegment(segmentId); + } else { + return usedSegment; + } } @Override public DataSegment findUsedSegment(SegmentId segmentId) { - return metadataCache.findUsedSegment(segmentId); + return performReadAction(reader -> reader.findUsedSegment(segmentId)); } @Override @@ -220,7 +280,7 @@ public List findPendingSegmentIds( String sequencePreviousId ) { - return metadataCache.findPendingSegmentIds(sequenceName, sequencePreviousId); + return performReadAction(reader -> reader.findPendingSegmentIds(sequenceName, sequencePreviousId)); } @Override @@ -229,25 +289,25 @@ public List findPendingSegmentIdsWithExactInterval( Interval interval ) { - return metadataCache.findPendingSegmentIdsWithExactInterval(sequenceName, interval); + return performReadAction(reader -> reader.findPendingSegmentIdsWithExactInterval(sequenceName, interval)); } @Override public List findPendingSegmentsOverlapping(Interval interval) { - return metadataCache.findPendingSegmentsOverlapping(interval); + return performReadAction(reader -> reader.findPendingSegmentsOverlapping(interval)); } @Override public List findPendingSegmentsWithExactInterval(Interval interval) { - return metadataCache.findPendingSegmentsWithExactInterval(interval); + return performReadAction(reader -> reader.findPendingSegmentsWithExactInterval(interval)); } @Override public List findPendingSegments(String taskAllocatorId) { - return metadataCache.findPendingSegments(taskAllocatorId); + return performReadAction(reader -> reader.findPendingSegments(taskAllocatorId)); } // WRITE METHODS @@ -265,10 +325,38 @@ public int insertSegmentsWithMetadata(Set segments) } @Override - public int markSegmentsWithinIntervalAsUnused(Interval interval, DateTime updateTime) + public boolean markSegmentAsUnused(SegmentId segmentId, DateTime updateTime) { return performWriteAction( - writer -> writer.markSegmentsWithinIntervalAsUnused(interval, updateTime) + writer -> writer.markSegmentAsUnused(segmentId, updateTime) + ); + } + + @Override + public int markSegmentsAsUnused(Set segmentIds, DateTime updateTime) + { + return performWriteAction( + writer -> writer.markSegmentsAsUnused(segmentIds, updateTime) + ); + } + + @Override + public int markAllSegmentsAsUnused(DateTime updateTime) + { + return performWriteAction( + writer -> writer.markAllSegmentsAsUnused(updateTime) + ); + } + + @Override + public int markSegmentsWithinIntervalAsUnused( + Interval interval, + @Nullable List versions, + DateTime updateTime + ) + { + return performWriteAction( + writer -> writer.markSegmentsWithinIntervalAsUnused(interval, versions, updateTime) ); } @@ -339,6 +427,19 @@ public int deletePendingSegmentsCreatedIn(Interval interval) ); } + /** + * Performs a read from cache only if {@link #readFromCache} is true. + * Otherwise, reads directly from the metadata store. + */ + private T performReadAction(Function action) + { + if (readFromCache) { + return action.apply(metadataCache); + } else { + return action.apply(delegate); + } + } + private T performWriteAction(Function action) { if (isClosed) { diff --git a/server/src/main/java/org/apache/druid/metadata/segment/DatasourceSegmentMetadataReader.java b/server/src/main/java/org/apache/druid/metadata/segment/DatasourceSegmentMetadataReader.java index 6b5db8b9e898..612c6bf2ce34 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/DatasourceSegmentMetadataReader.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/DatasourceSegmentMetadataReader.java @@ -40,7 +40,7 @@ public interface DatasourceSegmentMetadataReader * Retrieves the IDs of segments (out of the given set) which already exist in * the metadata store. */ - Set findExistingSegmentIds(Set segments); + Set findExistingSegmentIds(Set segments); /** * Retrieves IDs of used segments that belong to the datasource and overlap @@ -68,7 +68,7 @@ Set findUsedSegmentsOverlappingAnyOf( /** * Retrieves used segments for the given segment IDs. */ - List findUsedSegments(Set segmentIds); + List findUsedSegments(Set segmentIds); /** * Retrieves used segments that overlap with any of the given intervals. If the @@ -98,7 +98,7 @@ Set findUsedSegmentsPlusOverlappingAnyOf( * Retrieves segments for the given segment IDs. */ List findSegments( - Set segmentIds + Set segmentIds ); /** @@ -106,7 +106,7 @@ List findSegments( * schema fingerprint for the given segment IDs. */ List findSegmentsWithSchema( - Set segmentIds + Set segmentIds ); /** diff --git a/server/src/main/java/org/apache/druid/metadata/segment/DatasourceSegmentMetadataWriter.java b/server/src/main/java/org/apache/druid/metadata/segment/DatasourceSegmentMetadataWriter.java index 418c8a762fd4..25b275998e4b 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/DatasourceSegmentMetadataWriter.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/DatasourceSegmentMetadataWriter.java @@ -26,6 +26,7 @@ import org.joda.time.DateTime; import org.joda.time.Interval; +import javax.annotation.Nullable; import java.util.List; import java.util.Set; @@ -50,18 +51,52 @@ public interface DatasourceSegmentMetadataWriter int insertSegmentsWithMetadata(Set segments); /** - * Marks the segments fully contained in the given interval as unused. + * Marks the segment as unused. + * + * @param updateTime The last updated timestamp of the segment will be set to + * this value if updated successfully. + * @return true if the segment was updated successfully, false otherwise + */ + boolean markSegmentAsUnused(SegmentId segmentId, DateTime updateTime); + + /** + * Marks the given segments as unused. + * + * @param updateTime Updated segments will have their last updated timestamp + * set to this value. + * @return Number of segments updated successfully + */ + int markSegmentsAsUnused(Set segmentIds, DateTime updateTime); + + /** + * Marks all the segments in given datasource as unused. + * + * @param updateTime Updated segments will have their last updated timestamp + * set to this value. + * @return Number of segments successfully + */ + int markAllSegmentsAsUnused(DateTime updateTime); + + /** + * Marks segments that are fully contained in the given interval as unused. * * @param interval Only segments fully contained within this interval are * eligible to be marked as unused. + * @param versions Optional set of segment versions eligible for update. + * If this set is passed as null, all segment versions are + * eligible for update. If passed as empty, no segment is updated. * @param updateTime Updated segments will have their last updated timestamp * set to this value. * @return Number of segments updated successfully */ - int markSegmentsWithinIntervalAsUnused(Interval interval, DateTime updateTime); + int markSegmentsWithinIntervalAsUnused( + Interval interval, + @Nullable List versions, + DateTime updateTime + ); /** - * Deletes the segments for the given IDs from the metadata store. + * Permanently deletes the segments for the given IDs from the metadata store. * * @return Number of segments deleted successfully */ diff --git a/server/src/main/java/org/apache/druid/metadata/segment/SegmentMetadataTransaction.java b/server/src/main/java/org/apache/druid/metadata/segment/SegmentMetadataTransaction.java index 44ca620c2ea9..94a90ffe0d50 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/SegmentMetadataTransaction.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/SegmentMetadataTransaction.java @@ -21,6 +21,8 @@ import org.skife.jdbi.v2.Handle; +import javax.annotation.Nullable; + /** * Represents a single transaction involving read/write of segment metadata into * the metadata store. A transaction is associated with a single instance of a @@ -40,6 +42,7 @@ public interface SegmentMetadataTransaction @FunctionalInterface interface Callback { + @Nullable T inTransaction(SegmentMetadataTransaction transaction) throws Exception; } } diff --git a/server/src/main/java/org/apache/druid/metadata/segment/SqlSegmentMetadataTransaction.java b/server/src/main/java/org/apache/druid/metadata/segment/SqlSegmentMetadataTransaction.java index 0e753e4028c7..1866d7e10eb6 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/SqlSegmentMetadataTransaction.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/SqlSegmentMetadataTransaction.java @@ -26,6 +26,7 @@ import com.google.common.collect.Lists; import org.apache.druid.error.DruidException; import org.apache.druid.error.InternalServerError; +import org.apache.druid.java.util.common.Intervals; import org.apache.druid.java.util.common.StringUtils; import org.apache.druid.java.util.common.parsers.CloseableIterator; import org.apache.druid.metadata.MetadataStorageTablesConfig; @@ -110,22 +111,22 @@ public void close() // READ METHODS @Override - public Set findExistingSegmentIds(Set segments) + public Set findExistingSegmentIds(Set segmentIds) { final Set existingSegmentIds = new HashSet<>(); final String sql = "SELECT id FROM %s WHERE id in (%s)"; - List> partitions = Lists.partition( - new ArrayList<>(segments), + List> partitions = Lists.partition( + new ArrayList<>(segmentIds), MAX_SEGMENTS_PER_BATCH ); - for (List segmentList : partitions) { - String segmentIds = segmentList.stream().map( - segment -> "'" + StringUtils.escapeSql(segment.getId().toString()) + "'" + for (List segmentIdList : partitions) { + String segmentIdsCsv = segmentIdList.stream().map( + id -> "'" + StringUtils.escapeSql(id.toString()) + "'" ).collect(Collectors.joining(",")); existingSegmentIds.addAll( - handle.createQuery(StringUtils.format(sql, dbTables.getSegmentsTable(), segmentIds)) + handle.createQuery(StringUtils.format(sql, dbTables.getSegmentsTable(), segmentIdsCsv)) .mapTo(String.class) .list() ); @@ -161,13 +162,9 @@ public Set findUsedSegmentsOverlappingAnyOf(List interval } @Override - public List findUsedSegments(Set segmentIds) + public List findUsedSegments(Set segmentIds) { - final Set serializedIds = segmentIds.stream().map(SegmentId::toString).collect(Collectors.toSet()); - return query.retrieveSegmentsById(dataSource, serializedIds) - .stream() - .map(DataSegmentPlus::getDataSegment) - .collect(Collectors.toList()); + return query.retrieveSegmentsById(dataSource, segmentIds); } @Override @@ -185,23 +182,23 @@ public Set findUsedSegmentsPlusOverlappingAnyOf(List @Override public DataSegment findSegment(SegmentId segmentId) { - return query.retrieveSegmentForId(segmentId.toString()); + return query.retrieveSegmentForId(segmentId); } @Override public DataSegment findUsedSegment(SegmentId segmentId) { - return query.retrieveUsedSegmentForId(segmentId.toString()); + return query.retrieveUsedSegmentForId(segmentId); } @Override - public List findSegments(Set segmentIds) + public List findSegments(Set segmentIds) { return query.retrieveSegmentsById(dataSource, segmentIds); } @Override - public List findSegmentsWithSchema(Set segmentIds) + public List findSegmentsWithSchema(Set segmentIds) { return query.retrieveSegmentsWithSchemaById(dataSource, segmentIds); } @@ -267,9 +264,27 @@ public int insertSegmentsWithMetadata(Set segments) } @Override - public int markSegmentsWithinIntervalAsUnused(Interval interval, DateTime updateTime) + public boolean markSegmentAsUnused(SegmentId segmentId, DateTime updateTime) + { + return query.markSegments(Set.of(segmentId), false, updateTime) > 0; + } + + @Override + public int markSegmentsAsUnused(Set segmentIds, DateTime updateTime) + { + return query.markSegments(segmentIds, false, updateTime); + } + + @Override + public int markAllSegmentsAsUnused(DateTime updateTime) + { + return query.markSegmentsUnused(dataSource, Intervals.ETERNITY, null, updateTime); + } + + @Override + public int markSegmentsWithinIntervalAsUnused(Interval interval, @Nullable List versions, DateTime updateTime) { - return query.markSegmentsUnused(dataSource, interval, updateTime); + return query.markSegmentsUnused(dataSource, interval, versions, updateTime); } @Override diff --git a/server/src/main/java/org/apache/druid/metadata/segment/SqlSegmentMetadataTransactionFactory.java b/server/src/main/java/org/apache/druid/metadata/segment/SqlSegmentMetadataTransactionFactory.java index 5a6adbdf8fff..71974872a237 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/SqlSegmentMetadataTransactionFactory.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/SqlSegmentMetadataTransactionFactory.java @@ -23,10 +23,15 @@ import com.google.inject.Inject; import org.apache.druid.client.indexing.IndexingService; import org.apache.druid.discovery.DruidLeaderSelector; +import org.apache.druid.java.util.common.logger.Logger; +import org.apache.druid.java.util.emitter.service.ServiceEmitter; +import org.apache.druid.java.util.emitter.service.ServiceMetricEvent; import org.apache.druid.metadata.MetadataStorageTablesConfig; import org.apache.druid.metadata.SQLMetadataConnector; import org.apache.druid.metadata.segment.cache.DatasourceSegmentCache; +import org.apache.druid.metadata.segment.cache.Metric; import org.apache.druid.metadata.segment.cache.SegmentMetadataCache; +import org.apache.druid.query.DruidMetrics; import org.skife.jdbi.v2.Handle; import org.skife.jdbi.v2.TransactionStatus; @@ -40,6 +45,8 @@ */ public class SqlSegmentMetadataTransactionFactory implements SegmentMetadataTransactionFactory { + private static final Logger log = new Logger(SqlSegmentMetadataTransactionFactory.class); + private static final int QUIET_RETRIES = 2; private static final int MAX_RETRIES = 3; @@ -48,6 +55,7 @@ public class SqlSegmentMetadataTransactionFactory implements SegmentMetadataTran private final SQLMetadataConnector connector; private final DruidLeaderSelector leaderSelector; private final SegmentMetadataCache segmentMetadataCache; + private final ServiceEmitter emitter; @Inject public SqlSegmentMetadataTransactionFactory( @@ -55,7 +63,8 @@ public SqlSegmentMetadataTransactionFactory( MetadataStorageTablesConfig tablesConfig, SQLMetadataConnector connector, @IndexingService DruidLeaderSelector leaderSelector, - SegmentMetadataCache segmentMetadataCache + SegmentMetadataCache segmentMetadataCache, + ServiceEmitter emitter ) { this.jsonMapper = jsonMapper; @@ -63,6 +72,7 @@ public SqlSegmentMetadataTransactionFactory( this.connector = connector; this.leaderSelector = leaderSelector; this.segmentMetadataCache = segmentMetadataCache; + this.emitter = emitter; } public int getMaxRetries() @@ -81,15 +91,17 @@ public T inReadOnlyDatasourceTransaction( final SegmentMetadataTransaction sqlTransaction = createSqlTransaction(dataSource, handle, status); - if (segmentMetadataCache.isEnabled()) { + // For read-only transactions, use cache only if it is already synced + if (segmentMetadataCache.isSyncedForRead()) { final DatasourceSegmentCache datasourceCache = segmentMetadataCache.getDatasource(dataSource); final SegmentMetadataReadTransaction cachedTransaction - = new CachedSegmentMetadataTransaction(sqlTransaction, datasourceCache, leaderSelector); + = new CachedSegmentMetadataTransaction(sqlTransaction, datasourceCache, leaderSelector, true); + emitTransactionCount(Metric.READ_ONLY_TRANSACTIONS, dataSource); return datasourceCache.read(() -> executeReadAndClose(cachedTransaction, callback)); } else { - return executeReadAndClose(createSqlTransaction(dataSource, handle, status), callback); + return executeReadAndClose(sqlTransaction, callback); } }, QUIET_RETRIES, @@ -109,10 +121,26 @@ public T inReadWriteDatasourceTransaction( = createSqlTransaction(dataSource, handle, status); if (segmentMetadataCache.isEnabled()) { + final boolean isCacheReadyForRead = segmentMetadataCache.isSyncedForRead(); final DatasourceSegmentCache datasourceCache = segmentMetadataCache.getDatasource(dataSource); - final SegmentMetadataTransaction cachedTransaction - = new CachedSegmentMetadataTransaction(sqlTransaction, datasourceCache, leaderSelector); + final SegmentMetadataTransaction cachedTransaction = new CachedSegmentMetadataTransaction( + sqlTransaction, + datasourceCache, + leaderSelector, + isCacheReadyForRead + ); + + if (isCacheReadyForRead) { + emitTransactionCount(Metric.READ_WRITE_TRANSACTIONS, dataSource); + } else { + log.warn( + "Starting read-write transaction for datasource[%s]. Reads will be done" + + " directly from metadata store since cache is not synced yet.", + dataSource + ); + emitTransactionCount(Metric.WRITE_ONLY_TRANSACTIONS, dataSource); + } return datasourceCache.write(() -> executeWriteAndClose(cachedTransaction, callback)); } else { @@ -163,4 +191,13 @@ private T executeReadAndClose( } } + private void emitTransactionCount(String metricName, String datasource) + { + emitter.emit( + ServiceMetricEvent.builder() + .setDimension(DruidMetrics.DATASOURCE, datasource) + .setMetric(metricName, 1L) + ); + } + } diff --git a/server/src/main/java/org/apache/druid/metadata/segment/cache/CacheStats.java b/server/src/main/java/org/apache/druid/metadata/segment/cache/CacheStats.java new file mode 100644 index 000000000000..0e26b74b7afc --- /dev/null +++ b/server/src/main/java/org/apache/druid/metadata/segment/cache/CacheStats.java @@ -0,0 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.druid.metadata.segment.cache; + +/** + * Summary of current contents of the cache. + */ +public class CacheStats +{ + private final int numUsedSegments; + private final int numUnusedSegments; + private final int numIntervals; + private final int numPendingSegments; + + public CacheStats(int numIntervals, int numUsedSegments, int numUnusedSegments, int numPendingSegments) + { + this.numUsedSegments = numUsedSegments; + this.numUnusedSegments = numUnusedSegments; + this.numIntervals = numIntervals; + this.numPendingSegments = numPendingSegments; + } + + public int getNumUsedSegments() + { + return numUsedSegments; + } + + public int getNumUnusedSegments() + { + return numUnusedSegments; + } + + public int getNumIntervals() + { + return numIntervals; + } + + public int getNumPendingSegments() + { + return numPendingSegments; + } +} diff --git a/server/src/main/java/org/apache/druid/metadata/segment/cache/HeapMemoryDatasourceSegmentCache.java b/server/src/main/java/org/apache/druid/metadata/segment/cache/HeapMemoryDatasourceSegmentCache.java index bba303655cee..4a3b81505f24 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/cache/HeapMemoryDatasourceSegmentCache.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/cache/HeapMemoryDatasourceSegmentCache.java @@ -84,39 +84,6 @@ boolean isEmpty() return withReadLock(intervalToSegments::isEmpty); } - /** - * Checks if a segment needs to be refreshed. A refresh is required if the - * cache has no entry for the given segment or if the metadata store has a - * more recently updated copy of the segment. - * - * @param persistedUpdateTime Last updated time of this segment as persisted - * in the metadata store. This value can be null - * for segments persisted before the column - * used_status_last_updated was added to the table. - */ - boolean shouldRefreshUsedSegment(SegmentId segmentId, @Nullable DateTime persistedUpdateTime) - { - return withReadLock(() -> { - final DataSegmentPlus cachedState = readSegmentsFor(segmentId.getInterval()) - .idToUsedSegment.get(segmentId); - return cachedState == null - || shouldUpdateCache(cachedState.getUsedStatusLastUpdatedDate(), persistedUpdateTime); - }); - } - - /** - * Checks if a pending segment needs to be refreshed in the cache. - */ - boolean shouldRefreshPendingSegment(PendingSegmentRecord record) - { - final SegmentIdWithShardSpec segmentId = record.getId(); - return withReadLock( - () -> !readSegmentsFor(segmentId.getInterval()) - .idToPendingSegment - .containsKey(segmentId.toString()) - ); - } - /** * Checks if a record in the cache needs to be updated. * @@ -124,7 +91,7 @@ boolean shouldRefreshPendingSegment(PendingSegmentRecord record) * @param newUpdateTime Updated time of record being considered to replace * the existing one */ - private boolean shouldUpdateCache( + private static boolean shouldUpdateCache( @Nullable DateTime cachedUpdateTime, @Nullable DateTime newUpdateTime ) @@ -140,65 +107,66 @@ private boolean shouldUpdateCache( } /** - * Adds or updates the given segment in the cache. + * Atomically updates segment IDs in the cache based on the segments + * currently present in the metadata store. * - * @return true if the segment was updated in the cache, false if the segment - * was left unchanged in the cache. + * @param persistedSegments All segments present in the metadata store. + * @param syncStartTime Start time of the current sync + * @return Summary of updates made to the cache. */ - boolean addSegment(DataSegmentPlus segmentPlus) + SegmentSyncResult syncSegmentIds(List persistedSegments, DateTime syncStartTime) { - if (Boolean.TRUE.equals(segmentPlus.getUsed())) { - return addUsedSegment(segmentPlus); - } else { - return addUnusedSegmentId( - segmentPlus.getDataSegment().getId(), - segmentPlus.getUsedStatusLastUpdatedDate() - ); - } - } - - /** - * Adds or updates a used segment in the cache. - */ - private boolean addUsedSegment(DataSegmentPlus segmentPlus) - { - final DataSegment segment = segmentPlus.getDataSegment(); - final SegmentId segmentId = segment.getId(); - return withWriteLock(() -> { - if (!shouldRefreshUsedSegment(segmentId, segmentPlus.getUsedStatusLastUpdatedDate())) { - return false; + final Set usedSegmentIdsToRefresh = new HashSet<>(); + + for (SegmentRecord record : persistedSegments) { + final SegmentId segmentId = record.getSegmentId(); + final SegmentsInInterval intervalSegments = writeSegmentsFor(segmentId.getInterval()); + + if (record.isUsed()) { + // Refresh this used segment if it has been updated in the metadata store + if (intervalSegments.shouldRefreshSegment(segmentId, record.getLastUpdatedTime())) { + usedSegmentIdsToRefresh.add(segmentId); + } + } else { + // Ignore unused segments + } } - final SegmentsInInterval segments = writeSegmentsFor(segmentId.getInterval()); - segments.idToUsedSegment.put(segmentId, segmentPlus); - segments.unusedSegmentIdToUpdatedTime.remove(segment.getId()); - return true; + // Remove unknown segments from cache + final Set persistedSegmentIds + = persistedSegments.stream().map(SegmentRecord::getSegmentId).collect(Collectors.toSet()); + final int numSegmentsRemoved = removeUnpersistedSegments(persistedSegmentIds, syncStartTime); + + return new SegmentSyncResult(numSegmentsRemoved, 0, usedSegmentIdsToRefresh); }); } /** - * Adds or updates an unused segment in the cache. + * Atomically updates pending segments in the cache based on the segments + * currently present in the metadata store. * - * @param updatedTime Last updated time of this segment as persisted in the - * metadata store. This value can be null for segments - * persisted to the metadata store before the column - * used_status_last_updated was added to the segments table. + * @param persistedPendingSegments All pending segments present in the metadata store. + * @param syncStartTime Start time of the current sync + * @return Summary of updates made to the cache. */ - boolean addUnusedSegmentId(SegmentId segmentId, @Nullable DateTime updatedTime) + SegmentSyncResult syncPendingSegments( + List persistedPendingSegments, + DateTime syncStartTime + ) { return withWriteLock(() -> { - final SegmentsInInterval segmentsInInterval = writeSegmentsFor(segmentId.getInterval()); - segmentsInInterval.idToUsedSegment.remove(segmentId); - - if (!segmentsInInterval.unusedSegmentIdToUpdatedTime.containsKey(segmentId) - || shouldUpdateCache(segmentsInInterval.unusedSegmentIdToUpdatedTime.get(segmentId), updatedTime)) { - segmentsInInterval.unusedSegmentIdToUpdatedTime.put(segmentId, updatedTime); - segmentsInInterval.updateMaxUnusedId(segmentId); - return true; - } else { - return false; + int numSegmentsUpdated = 0; + for (PendingSegmentRecord record : persistedPendingSegments) { + if (insertPendingSegment(record, false)) { + ++numSegmentsUpdated; + } } + + final Set persistedSegmentIds + = persistedPendingSegments.stream().map(s -> s.getId().toString()).collect(Collectors.toSet()); + final int numSegmentsRemoved = removeUnpersistedPendingSegments(persistedSegmentIds, syncStartTime); + return new SegmentSyncResult(numSegmentsRemoved, numSegmentsUpdated, Set.of()); }); } @@ -206,7 +174,7 @@ boolean addUnusedSegmentId(SegmentId segmentId, @Nullable DateTime updatedTime) * Removes all pending segments which are present in the cache but not present * in the metadata store. */ - int removeUnpersistedPendingSegments(Set persistedPendingSegmentIds, DateTime pollStartTime) + private int removeUnpersistedPendingSegments(Set persistedPendingSegmentIds, DateTime pollStartTime) { return withWriteLock(() -> { final Set unpersistedSegmentIds = @@ -226,7 +194,7 @@ && shouldUpdateCache(record.getCreatedDate(), pollStartTime) * @param syncStartTime Start time of the current sync * @return Number of unpersisted segments removed from cache. */ - int removeUnpersistedSegments(Set persistedSegmentIds, DateTime syncStartTime) + private int removeUnpersistedSegments(Set persistedSegmentIds, DateTime syncStartTime) { return withWriteLock(() -> { final Set unpersistedSegmentIds = new HashSet<>(); @@ -243,53 +211,19 @@ && shouldUpdateCache(entry.getValue().getUsedStatusLastUpdatedDate(), syncStartT ).map(Map.Entry::getKey).forEach(unpersistedSegmentIds::add); } - return removeSegmentsForIds(unpersistedSegmentIds); + return deleteSegments(unpersistedSegmentIds); }); } /** - * Removes the segments for the given IDs (used or unused) from the cache. - * - * @return Number of used and unused segments removed + * Indicates to the cache that it has now been synced with the metadata store. + * Removes empty intervals from the cache and returns the summary of the current + * contents of the cache. */ - int removeSegmentsForIds(Set segmentIds) + CacheStats markCacheSynced() { return withWriteLock(() -> { - int removedCount = 0; - for (SegmentId segmentId : segmentIds) { - if (segmentId == null) { - continue; - } - - final SegmentsInInterval segmentsInInterval = writeSegmentsFor(segmentId.getInterval()); - final DataSegmentPlus segment = segmentsInInterval.idToUsedSegment.remove(segmentId); - if (segment != null) { - ++removedCount; - } else if (segmentsInInterval.unusedSegmentIdToUpdatedTime.containsKey(segmentId)) { - segmentsInInterval.unusedSegmentIdToUpdatedTime.remove(segmentId); - ++removedCount; - } - } - - return removedCount; - }); - } - - /** - * Indicates to the cache that it has now been synced with the metadata store. - */ - void markCacheSynced() - { - // Recompute the highest unused IDs for every interval / version - withWriteLock( - () -> intervalToSegments.values().forEach(segments -> { - segments.versionToHighestUnusedPartitionNumber.clear(); - segments.unusedSegmentIdToUpdatedTime.keySet().forEach(segments::updateMaxUnusedId); - }) - ); - - // Remove empty intervals - withWriteLock(() -> { + // Remove empty intervals final Set emptyIntervals = intervalToSegments.entrySet() .stream() @@ -297,14 +231,43 @@ void markCacheSynced() .map(Map.Entry::getKey) .collect(Collectors.toSet()); emptyIntervals.forEach(intervalToSegments::remove); + + return getCacheStats(); }); } + /** + * Returns a summary of the current contents of the cache. + */ + private CacheStats getCacheStats() + { + return withWriteLock(() -> { + int numUsedSegments = 0; + int numUnusedSegments = 0; + int numPendingSegments = 0; + int numIntervals = 0; + for (SegmentsInInterval segments : intervalToSegments.values()) { + ++numIntervals; + numUsedSegments += segments.idToUsedSegment.size(); + numUnusedSegments += segments.unusedSegmentIdToUpdatedTime.size(); + numPendingSegments += segments.idToPendingSegment.size(); + } + + return new CacheStats(numIntervals, numUsedSegments, numUnusedSegments, numPendingSegments); + }); + } + + /** + * Must be accessed within a {@link #withReadLock} method. + */ private SegmentsInInterval readSegmentsFor(Interval interval) { return intervalToSegments.getOrDefault(interval, SegmentsInInterval.EMPTY); } + /** + * Must be accessed within a {@link #withWriteLock} method. + */ private SegmentsInInterval writeSegmentsFor(Interval interval) { return intervalToSegments.computeIfAbsent(interval, i -> new SegmentsInInterval()); @@ -313,15 +276,9 @@ private SegmentsInInterval writeSegmentsFor(Interval interval) // CACHE READ METHODS @Override - public Set findExistingSegmentIds(Set segments) + public Set findExistingSegmentIds(Set segments) { - return withReadLock( - () -> segments.stream() - .map(DataSegment::getId) - .filter(id -> readSegmentsFor(id.getInterval()).isSegmentIdCached(id)) - .map(SegmentId::toString) - .collect(Collectors.toSet()) - ); + throw DruidException.defensive("Unsupported: Unused segments are not cached"); } @Override @@ -336,14 +293,7 @@ public Set findUsedSegmentIdsOverlapping(Interval interval) @Override public SegmentId findHighestUnusedSegmentId(Interval interval, String version) { - final Integer highestPartitionNum = - readSegmentsFor(interval) - .versionToHighestUnusedPartitionNumber - .get(version); - - return highestPartitionNum == null - ? null - : SegmentId.of(dataSource, interval, version, highestPartitionNum); + throw DruidException.defensive("Unsupported: Unused segments are not cached"); } @Override @@ -356,13 +306,12 @@ public Set findUsedSegmentsOverlappingAnyOf(List interval } @Override - public List findUsedSegments(Set segmentIds) + public List findUsedSegments(Set segmentIds) { return withReadLock( () -> segmentIds.stream() .map(id -> readSegmentsFor(id.getInterval()).idToUsedSegment.get(id)) .filter(Objects::nonNull) - .map(DataSegmentPlus::getDataSegment) .collect(Collectors.toList()) ); } @@ -405,13 +354,13 @@ public DataSegment findUsedSegment(SegmentId segmentId) } @Override - public List findSegments(Set segmentIds) + public List findSegments(Set segmentIds) { throw DruidException.defensive("Unsupported: Unused segments are not cached"); } @Override - public List findSegmentsWithSchema(Set segmentIds) + public List findSegmentsWithSchema(Set segmentIds) { throw DruidException.defensive("Unsupported: Unused segments are not cached"); } @@ -485,7 +434,8 @@ public int insertSegments(Set segments) return withWriteLock(() -> { int numInsertedSegments = 0; for (DataSegmentPlus segmentPlus : segments) { - if (addSegment(segmentPlus)) { + final Interval interval = segmentPlus.getDataSegment().getInterval(); + if (writeSegmentsFor(interval).addSegment(segmentPlus)) { ++numInsertedSegments; } } @@ -501,23 +451,82 @@ public int insertSegmentsWithMetadata(Set segments) } @Override - public int markSegmentsWithinIntervalAsUnused(Interval interval, DateTime updateTime) + public boolean markSegmentAsUnused(SegmentId segmentId, DateTime updateTime) { - int updatedCount = 0; - for (DataSegment segment : findUsedSegmentsOverlappingAnyOf(List.of(interval))) { - boolean updated = addUnusedSegmentId(segment.getId(), updateTime); - if (updated) { - ++updatedCount; + return writeSegmentsFor(segmentId.getInterval()).markSegmentAsUnused(segmentId, updateTime); + } + + @Override + public int markSegmentsAsUnused(Set segmentIds, DateTime updateTime) + { + return withWriteLock(() -> { + int updatedCount = 0; + for (SegmentId segmentId : segmentIds) { + final Interval interval = segmentId.getInterval(); + if (writeSegmentsFor(interval).markSegmentAsUnused(segmentId, updateTime)) { + ++updatedCount; + } } - } + return updatedCount; + }); + } - return updatedCount; + @Override + public int markSegmentsWithinIntervalAsUnused( + Interval interval, + @Nullable List versions, + DateTime updateTime + ) + { + final Set eligibleVersions = versions == null ? null : Set.copyOf(versions); + + return withWriteLock(() -> { + int updatedCount = 0; + for (DataSegmentPlus segmentPlus : findUsedSegmentsPlusOverlappingAnyOf(List.of(interval))) { + // Update segments with eligible versions or all versions (if eligibleVersions is null) + final DataSegment segment = segmentPlus.getDataSegment(); + final boolean isEligibleVersion = eligibleVersions == null + || eligibleVersions.contains(segment.getVersion()); + if (isEligibleVersion + && writeSegmentsFor(segment.getInterval()).markSegmentAsUnused(segment.getId(), updateTime)) { + ++updatedCount; + } + } + + return updatedCount; + }); + } + + @Override + public int markAllSegmentsAsUnused(DateTime updateTime) + { + return withWriteLock(() -> { + int updatedCount = 0; + for (DataSegmentPlus segmentPlus : findUsedSegmentsPlusOverlappingAnyOf(List.of())) { + final DataSegment segment = segmentPlus.getDataSegment(); + if (writeSegmentsFor(segment.getInterval()) + .markSegmentAsUnused(segment.getId(), updateTime)) { + ++updatedCount; + } + } + + return updatedCount; + }); } @Override public int deleteSegments(Set segmentIdsToDelete) { - return removeSegmentsForIds(segmentIdsToDelete); + return withWriteLock(() -> { + int deletedCount = 0; + for (SegmentId segmentId : segmentIdsToDelete) { + if (segmentId != null + && writeSegmentsFor(segmentId.getInterval()).removeSegment(segmentId)) { + ++deletedCount; + } + } + return deletedCount; + }); } @Override @@ -662,13 +671,11 @@ private static class SegmentsInInterval final Map idToPendingSegment = new HashMap<>(); /** - * Map from version to the highest partition number of an unused segment with - * that version. - */ - final Map versionToHighestUnusedPartitionNumber = new HashMap<>(); - - /** - * Map from segment ID to updated time for unused segments only. + * Map from segment ID to updated time for segments that have been recently + * marked as unused. This map is needed to handle race conditions with sync. + * For example, if a segment has just been marked as unused, the latest poll + * from metadata store might still show that segment as used. Checking with + * this map ensures that such a segment is not added back to the cache. */ final Map unusedSegmentIdToUpdatedTime = new HashMap<>(); @@ -676,14 +683,14 @@ void clear() { idToPendingSegment.clear(); idToUsedSegment.clear(); - versionToHighestUnusedPartitionNumber.clear(); + unusedSegmentIdToUpdatedTime.clear(); } boolean isEmpty() { return idToPendingSegment.isEmpty() && idToUsedSegment.isEmpty() - && versionToHighestUnusedPartitionNumber.isEmpty(); + && unusedSegmentIdToUpdatedTime.isEmpty(); } private boolean isSegmentIdCached(SegmentId id) @@ -692,10 +699,72 @@ private boolean isSegmentIdCached(SegmentId id) || unusedSegmentIdToUpdatedTime.containsKey(id); } - private void updateMaxUnusedId(SegmentId segmentId) + /** + * Removes the given segment from the cache. + * + * @return true if the segment was removed, false otherwise + */ + private boolean removeSegment(SegmentId segmentId) + { + if (idToUsedSegment.containsKey(segmentId)) { + idToUsedSegment.remove(segmentId); + return true; + } else if (unusedSegmentIdToUpdatedTime.containsKey(segmentId)) { + unusedSegmentIdToUpdatedTime.remove(segmentId); + return true; + } else { + return false; + } + } + + /** + * Adds or updates the given segment in the cache. + * + * @return true if the segment was updated in the cache, false if the segment + * was left unchanged in the cache. + */ + boolean addSegment(DataSegmentPlus segmentPlus) { - versionToHighestUnusedPartitionNumber - .merge(segmentId.getVersion(), segmentId.getPartitionNum(), Math::max); + final SegmentId segmentId = segmentPlus.getDataSegment().getId(); + if (!shouldRefreshSegment(segmentId, segmentPlus.getUsedStatusLastUpdatedDate())) { + return false; + } else if (Boolean.TRUE.equals(segmentPlus.getUsed())) { + idToUsedSegment.put(segmentId, segmentPlus); + unusedSegmentIdToUpdatedTime.remove(segmentId); + return true; + } else { + return markSegmentAsUnused(segmentId, segmentPlus.getUsedStatusLastUpdatedDate()); + } + } + + /** + * Marks the given segment as unused segment in the cache. + * + * @param updatedTime Last updated time of this segment as persisted in the + * metadata store. This value can be null for segments + * persisted to the metadata store before the column + * used_status_last_updated was added to the segments table. + */ + private boolean markSegmentAsUnused(SegmentId segmentId, @Nullable DateTime updatedTime) + { + if (shouldRefreshSegment(segmentId, updatedTime)) { + idToUsedSegment.remove(segmentId); + unusedSegmentIdToUpdatedTime.put(segmentId, updatedTime); + return true; + } else { + return false; + } + } + + private boolean shouldRefreshSegment(SegmentId segmentId, DateTime newUpdateTime) + { + if (unusedSegmentIdToUpdatedTime.containsKey(segmentId)) { + return shouldUpdateCache(unusedSegmentIdToUpdatedTime.get(segmentId), newUpdateTime); + } else { + final DataSegmentPlus usedSegment = idToUsedSegment.get(segmentId); + return usedSegment == null + || shouldUpdateCache(usedSegment.getUsedStatusLastUpdatedDate(), newUpdateTime); + } } } } diff --git a/server/src/main/java/org/apache/druid/metadata/segment/cache/HeapMemorySegmentMetadataCache.java b/server/src/main/java/org/apache/druid/metadata/segment/cache/HeapMemorySegmentMetadataCache.java index 2d177509547b..d9210b782afd 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/cache/HeapMemorySegmentMetadataCache.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/cache/HeapMemorySegmentMetadataCache.java @@ -35,6 +35,7 @@ import org.apache.druid.java.util.common.Stopwatch; import org.apache.druid.java.util.common.StringUtils; import org.apache.druid.java.util.common.concurrent.ScheduledExecutorFactory; +import org.apache.druid.java.util.common.jackson.JacksonUtils; import org.apache.druid.java.util.common.parsers.CloseableIterator; import org.apache.druid.java.util.emitter.EmittingLogger; import org.apache.druid.java.util.emitter.service.ServiceEmitter; @@ -46,27 +47,44 @@ import org.apache.druid.metadata.SqlSegmentsMetadataQuery; import org.apache.druid.query.DruidMetrics; import org.apache.druid.server.http.DataSegmentPlus; +import org.apache.druid.timeline.DataSegment; import org.apache.druid.timeline.SegmentId; import org.joda.time.DateTime; import org.joda.time.Duration; -import org.joda.time.Interval; import org.skife.jdbi.v2.ResultIterator; import org.skife.jdbi.v2.TransactionCallback; -import javax.annotation.Nullable; import java.sql.ResultSet; +import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.CancellationException; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; /** * In-memory implementation of {@link SegmentMetadataCache}. + *

+ * Only used segments (excluding num_rows and schema_fingerprint) and + * pending segments are cached. Unused segments are not cached. + *

+ * Non-leader Overlords also keep polling the metadata store to keep the cache + * up-to-date in case leadership changes. + *

+ * For cache usage modes, see {@link UsageMode}. + *

+ * The map {@link #datasourceToSegmentCache} contains the cache for each datasource. + * Items are only added to this map and never removed. This is to avoid handling + * race conditions where a thread has invoked {@link #getDatasource} but hasn't + * acquired a lock on the returned cache yet while another thread sees this cache + * as empty and cleans it up. The first thread would then end up using a stopped + * cache, resulting in errors. */ @ThreadSafe public class HeapMemorySegmentMetadataCache implements SegmentMetadataCache @@ -90,7 +108,7 @@ private enum CacheState private final ObjectMapper jsonMapper; private final Duration pollDuration; - private final boolean isCacheEnabled; + private final UsageMode cacheMode; private final MetadataStorageTablesConfig tablesConfig; private final SQLMetadataConnector connector; @@ -99,10 +117,18 @@ private enum CacheState private final Object cacheStateLock = new Object(); + /** + * Denotes that the cache is in state {@link CacheState#LEADER_READY}. + * Maintained as a separate variable to avoid acquiring the {@link #cacheStateLock} + * whenever {@link #isSyncedForRead()} is checked in a transaction. + */ + private final AtomicBoolean isCacheReady = new AtomicBoolean(false); + @GuardedBy("cacheStateLock") private CacheState currentCacheState = CacheState.STOPPED; @GuardedBy("cacheStateLock") private ListenableFuture nextSyncFuture = null; + @GuardedBy("cacheStateLock") private int consecutiveSyncFailures = 0; private final ConcurrentHashMap @@ -121,11 +147,11 @@ public HeapMemorySegmentMetadataCache( ) { this.jsonMapper = jsonMapper; - this.isCacheEnabled = config.get().isUseCache(); + this.cacheMode = config.get().getCacheMode(); this.pollDuration = config.get().getPollDuration().toStandardDuration(); this.tablesConfig = tablesConfig.get(); this.connector = connector; - this.pollExecutor = isCacheEnabled + this.pollExecutor = isEnabled() ? MoreExecutors.listeningDecorator(executorFactory.create(1, "SegmentMetadataCache-%s")) : null; this.emitter = emitter; @@ -135,7 +161,7 @@ public HeapMemorySegmentMetadataCache( @Override public void start() { - if (!isCacheEnabled) { + if (!isEnabled()) { log.info("Segment metadata cache is not enabled."); return; } @@ -143,8 +169,28 @@ public void start() synchronized (cacheStateLock) { if (currentCacheState == CacheState.STOPPED) { updateCacheState(CacheState.FOLLOWER, "Scheduling sync with metadata store"); - scheduleSyncWithMetadataStore(pollDuration.getMillis()); } + + if (cacheMode == UsageMode.ALWAYS) { + // Cache must always be used, do not finish startup until cache has synced + performFirstSync(); + } + + scheduleSyncWithMetadataStore(pollDuration.getMillis()); + } + } + + private void performFirstSync() + { + try { + log.info("Cache is in usage mode[%s]. Starting first sync with metadata store.", cacheMode); + + final long syncDurationMillis = syncWithMetadataStore(); + emitMetric(Metric.SYNC_DURATION_MILLIS, syncDurationMillis); + log.info("Finished first sync of cache with metadata store in [%d] millis.", syncDurationMillis); + } + catch (Throwable t) { + throw InternalServerError.exception(t, "Could not sync segment metadata cache with metadata store"); } } @@ -152,10 +198,11 @@ public void start() public void stop() { synchronized (cacheStateLock) { - if (isCacheEnabled) { + if (isEnabled()) { pollExecutor.shutdownNow(); datasourceToSegmentCache.forEach((datasource, cache) -> cache.stop()); datasourceToSegmentCache.clear(); + syncFinishTime.set(null); updateCacheState(CacheState.STOPPED, "Stopped sync with metadata store"); } @@ -166,7 +213,7 @@ public void stop() public void becomeLeader() { synchronized (cacheStateLock) { - if (isCacheEnabled) { + if (isEnabled()) { if (currentCacheState == CacheState.STOPPED) { throw DruidException.defensive("Cache has not been started yet"); } else { @@ -185,7 +232,7 @@ public void becomeLeader() public void stopBeingLeader() { synchronized (cacheStateLock) { - if (isCacheEnabled) { + if (isEnabled()) { updateCacheState(CacheState.FOLLOWER, "Not leader anymore"); } } @@ -194,14 +241,19 @@ public void stopBeingLeader() @Override public boolean isEnabled() { - return isCacheEnabled; + return cacheMode != UsageMode.NEVER; + } + + @Override + public boolean isSyncedForRead() + { + return isEnabled() && isCacheReady.get(); } @Override public DatasourceSegmentCache getDatasource(String dataSource) { verifyCacheIsUsableAndAwaitSync(); - emitMetric(dataSource, Metric.TRANSACTION_COUNT, 1); return getCacheForDatasource(dataSource); } @@ -212,13 +264,14 @@ private HeapMemoryDatasourceSegmentCache getCacheForDatasource(String dataSource /** * Verifies that the cache is enabled, started and has become leader. - * Also waits for the cache to be synced with metadata store. + * Also waits for the cache to be synced with the metadata store after becoming + * leader if {@link #cacheMode} is set to {@link UsageMode#ALWAYS}. * * @throws DruidException if the cache is disabled, stopped or not leader. */ private void verifyCacheIsUsableAndAwaitSync() { - if (!isCacheEnabled) { + if (!isEnabled()) { throw DruidException.defensive("Segment metadata cache is not enabled."); } @@ -230,8 +283,10 @@ private void verifyCacheIsUsableAndAwaitSync() throw InternalServerError.exception("Not leader yet. Segment metadata cache is not usable."); case LEADER_FIRST_SYNC_PENDING: case LEADER_FIRST_SYNC_STARTED: - waitForCacheToFinishSync(); - verifyCacheIsUsableAndAwaitSync(); + if (cacheMode == UsageMode.ALWAYS) { + waitForCacheToFinishSync(); + verifyCacheIsUsableAndAwaitSync(); + } case LEADER_READY: // Cache is now ready for use } @@ -256,7 +311,7 @@ private void waitForCacheToFinishSync() log.noStackTrace().info(e, "Interrupted while waiting for cache to be ready"); } catch (Exception e) { - log.noStackTrace().error(e, "Error while waiting for cache to be ready"); + log.error(e, "Error while waiting for cache to be ready"); throw DruidException.defensive(e, "Error while waiting for cache to be ready"); } } @@ -270,10 +325,10 @@ private void updateCacheState(CacheState targetState, String message) currentCacheState = targetState; log.info("%s. Cache is now in state[%s].", message, currentCacheState); - // Notify threads waiting for cache to be ready - if (currentCacheState == CacheState.LEADER_READY) { - cacheStateLock.notifyAll(); - } + isCacheReady.set(currentCacheState == CacheState.LEADER_READY); + + // Notify threads waiting for cache to change state + cacheStateLock.notifyAll(); } } @@ -305,7 +360,6 @@ public void onSuccess(Long previousSyncDurationMillis) } emitMetric(Metric.SYNC_DURATION_MILLIS, previousSyncDurationMillis); - syncFinishTime.set(DateTimes.nowUtc()); // Schedule the next sync final long nextSyncDelay; @@ -369,8 +423,8 @@ public void onFailure(Throwable t) */ private long syncWithMetadataStore() { - final DateTime pollStartTime = DateTimes.nowUtc(); - final Stopwatch sincePollStart = Stopwatch.createStarted(); + final DateTime syncStartTime = DateTimes.nowUtc(); + final Stopwatch totalSyncDuration = Stopwatch.createStarted(); synchronized (cacheStateLock) { if (currentCacheState == CacheState.LEADER_FIRST_SYNC_PENDING) { @@ -382,98 +436,90 @@ private long syncWithMetadataStore() } final Map datasourceToSummary = new HashMap<>(); - retrieveAllSegmentIds(datasourceToSummary); - - datasourceToSegmentCache.keySet().forEach( - dataSource -> removeUnknownSegmentsFromCache( - dataSource, - datasourceToSummary.computeIfAbsent(dataSource, ds -> new DatasourceSegmentSummary()), - pollStartTime - ) - ); - datasourceToSummary.forEach(this::retrieveAndRefreshUsedSegments); + // Fetch all used segments if this is the first sync + if (syncFinishTime.get() == null) { + retrieveAllUsedSegments(datasourceToSummary); + } else { + retrieveAllSegmentIds(datasourceToSummary); + updateSegmentIdsInCache(datasourceToSummary, syncStartTime); + retrieveUsedSegmentPayloads(datasourceToSummary); + } - retrieveAndRefreshAllPendingSegments(datasourceToSummary); - datasourceToSegmentCache.keySet().forEach( - dataSource -> removeUnknownPendingSegmentsFromCache( - dataSource, - datasourceToSummary.computeIfAbsent(dataSource, ds -> new DatasourceSegmentSummary()), - pollStartTime - ) - ); + updateUsedSegmentPayloadsInCache(datasourceToSummary); + retrieveAllPendingSegments(datasourceToSummary); + updatePendingSegmentsInCache(datasourceToSummary, syncStartTime); + markCacheSynced(); - datasourceToSegmentCache.values().forEach( - HeapMemoryDatasourceSegmentCache::markCacheSynced - ); + syncFinishTime.set(DateTimes.nowUtc()); + return totalSyncDuration.millisElapsed(); + } - datasourceToSummary.forEach(this::emitSummaryMetrics); - return sincePollStart.millisElapsed(); + /** + * Marks the cache for all datasources as synced and emit total stats. + */ + private void markCacheSynced() + { + datasourceToSegmentCache.forEach((dataSource, cache) -> { + final CacheStats stats = cache.markCacheSynced(); + + if (!cache.isEmpty()) { + emitMetric(dataSource, Metric.CACHED_INTERVALS, stats.getNumIntervals()); + emitMetric(dataSource, Metric.CACHED_USED_SEGMENTS, stats.getNumUsedSegments()); + emitMetric(dataSource, Metric.CACHED_UNUSED_SEGMENTS, stats.getNumUnusedSegments()); + emitMetric(dataSource, Metric.CACHED_PENDING_SEGMENTS, stats.getNumPendingSegments()); + } + }); } /** - * Retrieves all the segment IDs (used and unused) from the metadata store. + * Retrieves all used segment IDs from the metadata store. * Populates the summary for the datasources found in metadata store. */ private void retrieveAllSegmentIds( Map datasourceToSummary ) { + final Stopwatch retrieveDuration = Stopwatch.createStarted(); final String sql = StringUtils.format( - "SELECT id, dataSource, used, used_status_last_updated FROM %s", + "SELECT id, dataSource, used_status_last_updated FROM %s WHERE used = true", tablesConfig.getSegmentsTable() ); - final AtomicInteger numSkippedRecords = new AtomicInteger(0); - inReadOnlyTransaction((handle, status) -> { + final int numSkippedRecords = inReadOnlyTransaction((handle, status) -> { try ( ResultIterator iterator = handle.createQuery(sql) + .setFetchSize(connector.getStreamingFetchSize()) .map((index, r, ctx) -> SegmentRecord.fromResultSet(r)) .iterator() ) { + int skippedRecords = 0; while (iterator.hasNext()) { final SegmentRecord record = iterator.next(); if (record == null) { - numSkippedRecords.incrementAndGet(); - continue; - } - - final SegmentId segmentId = record.segmentId; - final HeapMemoryDatasourceSegmentCache cache = getCacheForDatasource(record.dataSource); - final DatasourceSegmentSummary summary = datasourceToSummary - .computeIfAbsent(record.dataSource, ds -> new DatasourceSegmentSummary()); - - if (record.isUsed) { - summary.numPersistedUsedSegments++; - - // Check if the used segment needs to be refreshed - if (cache.shouldRefreshUsedSegment(segmentId, record.lastUpdatedTime)) { - summary.usedSegmentIdsToRefresh.add(record.segmentId.toString()); - } + ++skippedRecords; } else { - summary.numPersistedUnusedSegments++; - if (cache.addUnusedSegmentId(segmentId, record.lastUpdatedTime)) { - summary.numUnusedSegmentsUpdated++; - } - - // Track max partition number of unused segment if needed - summary - .intervalVersionToMaxUnusedPartition - .computeIfAbsent(segmentId.getInterval(), i -> new HashMap<>()) - .merge(segmentId.getVersion(), segmentId.getPartitionNum(), Math::max); + final SegmentId segmentId = record.getSegmentId(); + datasourceToSummary + .computeIfAbsent(segmentId.getDataSource(), ds -> new DatasourceSegmentSummary()) + .addSegmentRecord(record); } - - summary.persistedSegmentIds.add(segmentId); } - return 0; + return skippedRecords; } }); - if (numSkippedRecords.get() > 0) { - emitMetric(Metric.SKIPPED_SEGMENTS, numSkippedRecords.get()); + // Emit metrics + if (numSkippedRecords > 0) { + emitMetric(Metric.SKIPPED_SEGMENTS, numSkippedRecords); } + datasourceToSummary.forEach( + (dataSource, summary) -> + emitMetric(dataSource, Metric.PERSISTED_USED_SEGMENTS, summary.persistedSegments.size()) + ); + emitMetric(Metric.RETRIEVE_SEGMENT_IDS_DURATION_MILLIS, retrieveDuration.millisElapsed()); } private T inReadOnlyTransaction(TransactionCallback callback) @@ -482,86 +528,186 @@ private T inReadOnlyTransaction(TransactionCallback callback) } /** - * Emits metrics for a datasource after the sync has finished. - * If there are no persisted or cached segments for the datasource, no metrics - * are emitted. + * Retrieves the payloads of required used segments from the metadata store + * and updates the cache. A segment needs to be refreshed only if + * {@link HeapMemoryDatasourceSegmentCache.SegmentsInInterval#shouldRefreshSegment} + * returns true for it. */ - private void emitSummaryMetrics(String dataSource, DatasourceSegmentSummary summary) + private void retrieveRequiredUsedSegments( + String dataSource, + DatasourceSegmentSummary summary + ) { - final HeapMemoryDatasourceSegmentCache cache = getCacheForDatasource(dataSource); - if (cache.isEmpty() && summary.isEmpty() && !summary.isCacheUpdated()) { - // This is non-existent datasource and has a dangling entry in the datasourceToSegmentCache map + final Set segmentIdsToRefresh = summary.usedSegmentIdsToRefresh; + if (segmentIdsToRefresh.isEmpty()) { return; } - emitMetric(dataSource, Metric.PERSISTED_USED_SEGMENTS, summary.numPersistedUsedSegments); - emitMetric(dataSource, Metric.PERSISTED_UNUSED_SEGMENTS, summary.numPersistedUnusedSegments); - emitMetric(dataSource, Metric.PERSISTED_PENDING_SEGMENTS, summary.persistedPendingSegmentIds.size()); - emitMetric(dataSource, Metric.STALE_USED_SEGMENTS, summary.usedSegmentIdsToRefresh.size()); - - emitNonZeroMetric(dataSource, Metric.DELETED_SEGMENTS, summary.numSegmentsRemoved); - emitNonZeroMetric(dataSource, Metric.DELETED_PENDING_SEGMENTS, summary.numPendingSegmentsRemoved); - emitNonZeroMetric(dataSource, Metric.UPDATED_USED_SEGMENTS, summary.numUsedSegmentsRefreshed); - emitNonZeroMetric(dataSource, Metric.UPDATED_UNUSED_SEGMENTS, summary.numUnusedSegmentsUpdated); - emitNonZeroMetric(dataSource, Metric.UPDATED_PENDING_SEGMENTS, summary.numPendingSegmentsUpdated); - - if (summary.isCacheUpdated()) { - log.info( - "Updated metadata cache for datasource[%s]." - + " Added [%d] used, [%d] unused, [%d] pending segments." - + " Deleted [%d] segments, [%d] pending segments.", - dataSource, summary.numUsedSegmentsRefreshed, - summary.numUnusedSegmentsUpdated, summary.numPendingSegmentsUpdated, - summary.numSegmentsRemoved, summary.numPendingSegmentsRemoved - ); - } + inReadOnlyTransaction((handle, status) -> { + try ( + CloseableIterator iterator = + SqlSegmentsMetadataQuery + .forHandle(handle, connector, tablesConfig, jsonMapper) + .retrieveSegmentsByIdIterator(dataSource, segmentIdsToRefresh, false) + ) { + iterator.forEachRemaining(summary.usedSegments::add); + return 0; + } + }); + } + + /** + * Updates the cache of each datasource with the segment IDs fetched from the + * metadata store in {@link #retrieveAllSegmentIds}. The update done on each + * datasource cache is atomic. + */ + private void updateSegmentIdsInCache( + Map datasourceToSummary, + DateTime syncStartTime + ) + { + final Stopwatch updateDuration = Stopwatch.createStarted(); + + // Sync segments for datasources which were retrieved in the latest poll + datasourceToSummary.forEach((dataSource, summary) -> { + final HeapMemoryDatasourceSegmentCache cache = getCacheForDatasource(dataSource); + + final SegmentSyncResult result = cache.syncSegmentIds(summary.persistedSegments, syncStartTime); + emitNonZeroMetric(dataSource, Metric.STALE_USED_SEGMENTS, result.getExpiredIds().size()); + emitNonZeroMetric(dataSource, Metric.DELETED_SEGMENTS, result.getDeleted()); + + summary.usedSegmentIdsToRefresh.addAll(result.getExpiredIds()); + }); + + // Update cache for datasources which returned no segments in the latest poll + datasourceToSegmentCache.forEach((dataSource, cache) -> { + if (!datasourceToSummary.containsKey(dataSource)) { + final SegmentSyncResult result = cache.syncSegmentIds(List.of(), syncStartTime); + emitNonZeroMetric(dataSource, Metric.DELETED_SEGMENTS, result.getDeleted()); + } + }); + + emitMetric(Metric.UPDATE_IDS_DURATION_MILLIS, updateDuration.millisElapsed()); } /** * Retrieves the payloads of required used segments from the metadata store * and updates the cache. A segment needs to be refreshed only if - * {@link HeapMemoryDatasourceSegmentCache#shouldRefreshUsedSegment} + * {@link HeapMemoryDatasourceSegmentCache.SegmentsInInterval#shouldRefreshSegment} * returns true for it. */ - private void retrieveAndRefreshUsedSegments( - String dataSource, - DatasourceSegmentSummary summary + private void retrieveUsedSegmentPayloads( + Map datasourceToSummary ) { - if (summary.usedSegmentIdsToRefresh.isEmpty()) { - return; - } + final Stopwatch retrieveDuration = Stopwatch.createStarted(); + datasourceToSummary.forEach(this::retrieveRequiredUsedSegments); + emitMetric(Metric.RETRIEVE_SEGMENT_PAYLOADS_DURATION_MILLIS, retrieveDuration.millisElapsed()); + } - final HeapMemoryDatasourceSegmentCache cache = getCacheForDatasource(dataSource); + /** + * Retrieves all used segments from the metadata store. + * This method is called only on the first full sync. + */ + private void retrieveAllUsedSegments( + Map datasourceToSummary + ) + { + final Stopwatch retrieveDuration = Stopwatch.createStarted(); + final String sql = StringUtils.format( + "SELECT id, payload, created_date, used_status_last_updated FROM %s WHERE used = true", + tablesConfig.getSegmentsTable() + ); - summary.numUsedSegmentsRefreshed = inReadOnlyTransaction((handle, status) -> { - int updatedCount = 0; + final int numSkippedSegments = inReadOnlyTransaction((handle, status) -> { try ( - CloseableIterator iterator = - SqlSegmentsMetadataQuery - .forHandle(handle, connector, tablesConfig, jsonMapper) - .retrieveSegmentsByIdIterator(dataSource, summary.usedSegmentIdsToRefresh, false) + ResultIterator iterator = + handle.createQuery(sql) + .setFetchSize(connector.getStreamingFetchSize()) + .map((index, r, ctx) -> mapToSegmentPlus(r)) + .iterator() ) { + int skippedRecords = 0; while (iterator.hasNext()) { - if (cache.addSegment(iterator.next())) { - ++updatedCount; + final DataSegmentPlus segment = iterator.next(); + if (segment == null) { + ++skippedRecords; + } else { + datasourceToSummary.computeIfAbsent( + segment.getDataSegment().getDataSource(), + ds -> new DatasourceSegmentSummary() + ).usedSegments.add(segment); } } + + return skippedRecords; } + }); + + // Emit metrics + if (numSkippedSegments > 0) { + emitMetric(Metric.SKIPPED_SEGMENTS, numSkippedSegments); + } + datasourceToSummary.forEach( + (dataSource, summary) -> + emitMetric(dataSource, Metric.PERSISTED_USED_SEGMENTS, summary.usedSegments.size()) + ); + emitMetric(Metric.RETRIEVE_SEGMENT_PAYLOADS_DURATION_MILLIS, retrieveDuration.millisElapsed()); + } - return updatedCount; + /** + * Updates the cache of each datasource with the segment payloads fetched from + * the metadata store in {@link #retrieveUsedSegmentPayloads}. The update done on + * each datasource cache is atomic. + */ + private void updateUsedSegmentPayloadsInCache( + Map datasourceToSummary + ) + { + datasourceToSummary.forEach((dataSource, summary) -> { + final HeapMemoryDatasourceSegmentCache cache = getCacheForDatasource(dataSource); + final int numUpdatedSegments = cache.insertSegments(summary.usedSegments); + emitNonZeroMetric(dataSource, Metric.UPDATED_USED_SEGMENTS, numUpdatedSegments); }); } /** - * Retrieves all pending segments from metadata store and updates the cache if - * {@link HeapMemoryDatasourceSegmentCache#shouldRefreshPendingSegment} is - * true for it. + * Updates the cache of each datasource with the pending segments fetched from + * the metadata store in {@link #retrieveAllPendingSegments}. The update done on + * each datasource cache is atomic. */ - private void retrieveAndRefreshAllPendingSegments( + private void updatePendingSegmentsInCache( + Map datasourceToSummary, + DateTime syncStartTime + ) + { + datasourceToSummary.forEach((dataSource, summary) -> { + final HeapMemoryDatasourceSegmentCache cache = getCacheForDatasource(dataSource); + final SegmentSyncResult result = cache.syncPendingSegments(summary.persistedPendingSegments, syncStartTime); + + emitMetric(dataSource, Metric.PERSISTED_PENDING_SEGMENTS, summary.persistedPendingSegments.size()); + emitNonZeroMetric(dataSource, Metric.UPDATED_PENDING_SEGMENTS, result.getUpdated()); + emitNonZeroMetric(dataSource, Metric.DELETED_PENDING_SEGMENTS, result.getDeleted()); + }); + + // Update cache for datasources which returned no segments in the latest poll + datasourceToSegmentCache.forEach((dataSource, cache) -> { + if (!datasourceToSummary.containsKey(dataSource)) { + final SegmentSyncResult result = cache.syncPendingSegments(List.of(), syncStartTime); + emitNonZeroMetric(dataSource, Metric.DELETED_PENDING_SEGMENTS, result.getDeleted()); + } + }); + } + + /** + * Retrieves all pending segments from metadata store and populates them in + * the respective {@link DatasourceSegmentSummary}. + */ + private void retrieveAllPendingSegments( Map datasourceToSummary ) { + final Stopwatch fetchDuration = Stopwatch.createStarted(); final String sql = StringUtils.format( "SELECT id, dataSource, payload, sequence_name, sequence_prev_id," + " upgraded_from_segment_id, task_allocator_id, created_date FROM %1$s", @@ -581,21 +727,12 @@ private void retrieveAndRefreshAllPendingSegments( // the rest of the result set cannot be read segmentId = r.getString("id"); dataSource = r.getString("dataSource"); - - final PendingSegmentRecord record = PendingSegmentRecord.fromResultSet(r, jsonMapper); - final HeapMemoryDatasourceSegmentCache cache = getCacheForDatasource(dataSource); - final boolean updated = cache.shouldRefreshPendingSegment(record) - && cache.insertPendingSegment(record, false); - - final DatasourceSegmentSummary summary = datasourceToSummary - .computeIfAbsent(dataSource, ds -> new DatasourceSegmentSummary()); - if (updated) { - summary.numPendingSegmentsUpdated++; - } - summary.persistedPendingSegmentIds.add(record.getId().toString()); + datasourceToSummary + .computeIfAbsent(dataSource, ds -> new DatasourceSegmentSummary()) + .addPendingSegmentRecord(PendingSegmentRecord.fromResultSet(r, jsonMapper)); } catch (Exception e) { - log.noStackTrace().error( + log.error( e, "Error occurred while reading Pending Segment ID[%s] of datasource[%s].", segmentId, dataSource @@ -607,39 +744,36 @@ private void retrieveAndRefreshAllPendingSegments( }).list() ); + emitMetric(Metric.RETRIEVE_PENDING_SEGMENTS_DURATION_MILLIS, fetchDuration.millisElapsed()); if (numSkippedRecords.get() > 0) { emitMetric(Metric.SKIPPED_PENDING_SEGMENTS, numSkippedRecords.get()); } } /** - * Removes pending segments from cache if they are not present in the metadata - * and were created strictly before the current sync started. - */ - private void removeUnknownPendingSegmentsFromCache( - final String dataSource, - final DatasourceSegmentSummary summary, - final DateTime syncStartTime - ) - { - summary.numPendingSegmentsRemoved = - getCacheForDatasource(dataSource) - .removeUnpersistedPendingSegments(summary.persistedPendingSegmentIds, syncStartTime); - } - - /** - * Removes segments from the cache if they are not present in the metadata - * store and were updated before the latest sync started. + * Tries to parse the fields of the result set into a {@link DataSegmentPlus}. + * + * @return null if an error occurred while parsing the result */ - private void removeUnknownSegmentsFromCache( - final String dataSource, - final DatasourceSegmentSummary summary, - final DateTime syncStartTime - ) + private DataSegmentPlus mapToSegmentPlus(ResultSet resultSet) { - summary.numSegmentsRemoved = - getCacheForDatasource(dataSource) - .removeUnpersistedSegments(summary.persistedSegmentIds, syncStartTime); + String segmentId = null; + try { + segmentId = resultSet.getString(1); + return new DataSegmentPlus( + JacksonUtils.readValue(jsonMapper, resultSet.getBytes(2), DataSegment.class), + DateTimes.of(resultSet.getString(3)), + DateTimes.of(resultSet.getString(4)), + true, + null, + null, + null + ); + } + catch (Throwable t) { + log.error(t, "Could not read segment with ID[%s]", segmentId); + return null; + } } private void emitMetric(String metric, long value) @@ -666,106 +800,26 @@ private void emitMetric(String datasource, String metric, long value) ); } - @Nullable - private static DateTime nullSafeDate(String date) - { - return date == null ? null : DateTimes.of(date); - } - - /** - * Represents a single record in the druid_segments table. - */ - private static class SegmentRecord - { - private final SegmentId segmentId; - private final String dataSource; - private final boolean isUsed; - private final DateTime lastUpdatedTime; - - SegmentRecord(SegmentId segmentId, String dataSource, boolean isUsed, DateTime lastUpdatedTime) - { - this.segmentId = segmentId; - this.dataSource = dataSource; - this.isUsed = isUsed; - this.lastUpdatedTime = lastUpdatedTime; - } - - /** - * Creates a SegmentRecord from the given result set. - * - * @return null if an error occurred while reading the record. - */ - @Nullable - static SegmentRecord fromResultSet(ResultSet r) - { - String serializedId = null; - String dataSource = null; - try { - serializedId = r.getString("id"); - dataSource = r.getString("dataSource"); - - final boolean isUsed = r.getBoolean("used"); - final DateTime lastUpdatedTime = nullSafeDate(r.getString("used_status_last_updated")); - - final SegmentId segmentId = SegmentId.tryParse(dataSource, serializedId); - if (segmentId == null) { - log.noStackTrace().error( - "Could not parse Segment ID[%s] of datasource[%s]", - serializedId, dataSource - ); - return null; - } else { - return new SegmentRecord(segmentId, dataSource, isUsed, lastUpdatedTime); - } - } - catch (Exception e) { - log.noStackTrace().error( - e, - "Error occurred while reading Segment ID[%s] of datasource[%s]", - serializedId, dataSource - ); - return null; - } - } - } - /** * Summary of segments currently present in the metadata store for a single * datasource. */ private static class DatasourceSegmentSummary { - final Set persistedSegmentIds = new HashSet<>(); - final Set persistedPendingSegmentIds = new HashSet<>(); + final List persistedSegments = new ArrayList<>(); + final List persistedPendingSegments = new ArrayList<>(); - final Set usedSegmentIdsToRefresh = new HashSet<>(); - final Map> intervalVersionToMaxUnusedPartition = new HashMap<>(); + final Set usedSegmentIdsToRefresh = new HashSet<>(); + final Set usedSegments = new HashSet<>(); - int numPersistedUsedSegments = 0; - int numPersistedUnusedSegments = 0; - int numUsedSegmentsRefreshed = 0; - int numUnusedSegmentsUpdated = 0; - int numSegmentsRemoved = 0; - int numPendingSegmentsRemoved = 0; - int numPendingSegmentsUpdated = 0; - - private boolean isEmpty() + private void addSegmentRecord(SegmentRecord record) { - return persistedPendingSegmentIds.isEmpty() && persistedSegmentIds.isEmpty(); + persistedSegments.add(record); } - /** - * @return true if any of the segments for this datasource have been updated - * in the cache in the current sync. - */ - private boolean isCacheUpdated() + private void addPendingSegmentRecord(PendingSegmentRecord record) { - return numSegmentsRemoved > 0 - || numUsedSegmentsRefreshed > 0 - || numUnusedSegmentsUpdated > 0 - || numPendingSegmentsRemoved > 0 - || numPendingSegmentsUpdated > 0; + persistedPendingSegments.add(record); } } - } diff --git a/server/src/main/java/org/apache/druid/metadata/segment/cache/Metric.java b/server/src/main/java/org/apache/druid/metadata/segment/cache/Metric.java index 476b6b1f6aa6..ea22a5fb7116 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/cache/Metric.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/cache/Metric.java @@ -34,11 +34,6 @@ private Metric() */ public static final String PERSISTED_USED_SEGMENTS = "segment/used/count"; - /** - * Total number of segments currently present in the metadata store. - */ - public static final String PERSISTED_UNUSED_SEGMENTS = "segment/unused/count"; - /** * Total number of pending segments currently present in the metadata store. */ @@ -48,15 +43,71 @@ private Metric() private static final String METRIC_NAME_PREFIX = "segment/metadataCache/"; /** - * Number of transactions performed on the cache for a datasource. + * Number of read-write transactions performed on the cache for a datasource. */ - public static final String TRANSACTION_COUNT = "transactions"; + public static final String READ_WRITE_TRANSACTIONS = METRIC_NAME_PREFIX + "transactions/readWrite"; + + /** + * Number of write-only transactions performed on the cache for a datasource. + */ + public static final String WRITE_ONLY_TRANSACTIONS = METRIC_NAME_PREFIX + "transactions/writeOnly"; + + /** + * Number of read-only transactions performed on the cache for a datasource. + */ + public static final String READ_ONLY_TRANSACTIONS = METRIC_NAME_PREFIX + "transactions/readOnly"; + + /** + * Total number of distinct intervals currently present in the cache. + */ + public static final String CACHED_INTERVALS = METRIC_NAME_PREFIX + "interval/count"; + + /** + * Total number of segments currently present in the cache. + */ + public static final String CACHED_USED_SEGMENTS = METRIC_NAME_PREFIX + "used/count"; + + /** + * Total number of segments currently present in the cache. + */ + public static final String CACHED_UNUSED_SEGMENTS = METRIC_NAME_PREFIX + "unused/count"; + + /** + * Total number of pending segments currently present in the cache. + */ + public static final String CACHED_PENDING_SEGMENTS = METRIC_NAME_PREFIX + "pending/count"; + + + // CACHE SYNC TIME METRICS /** * Time taken in milliseconds for the latest sync with metadata store. */ public static final String SYNC_DURATION_MILLIS = METRIC_NAME_PREFIX + "sync/time"; + /** + * Time taken in milliseconds to update all segment IDs in the cache. + */ + public static final String UPDATE_IDS_DURATION_MILLIS = METRIC_NAME_PREFIX + "updateIds/time"; + + /** + * Time taken in milliseconds to fetch payloads of used segments from the metadata store. + */ + public static final String RETRIEVE_SEGMENT_PAYLOADS_DURATION_MILLIS = METRIC_NAME_PREFIX + "fetchPayloads/time"; + + /** + * Time taken in milliseconds to fetch all segment IDs from the metadata store. + */ + public static final String RETRIEVE_SEGMENT_IDS_DURATION_MILLIS = METRIC_NAME_PREFIX + "fetchIds/time"; + + /** + * Time taken in milliseconds to fetch all pending segments from the metadata store. + */ + public static final String RETRIEVE_PENDING_SEGMENTS_DURATION_MILLIS = METRIC_NAME_PREFIX + "fetchPending/time"; + + + // CACHE UPDATE METRICS + /** * Number of segments which are now stale in the cache and need to be refreshed. */ @@ -77,11 +128,6 @@ private Metric() */ public static final String UPDATED_USED_SEGMENTS = METRIC_NAME_PREFIX + "used/updated"; - /** - * Number of unused segments updated in the cache from the metadata store in the latest sync. - */ - public static final String UPDATED_UNUSED_SEGMENTS = METRIC_NAME_PREFIX + "unused/updated"; - /** * Number of pending segments updated in the cache from the metadata store in the latest sync. */ diff --git a/server/src/main/java/org/apache/druid/metadata/segment/cache/NoopSegmentMetadataCache.java b/server/src/main/java/org/apache/druid/metadata/segment/cache/NoopSegmentMetadataCache.java index 080464b44605..88e2cf05e3b6 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/cache/NoopSegmentMetadataCache.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/cache/NoopSegmentMetadataCache.java @@ -21,6 +21,13 @@ public class NoopSegmentMetadataCache implements SegmentMetadataCache { + private static final NoopSegmentMetadataCache INSTANCE = new NoopSegmentMetadataCache(); + + public static NoopSegmentMetadataCache instance() + { + return INSTANCE; + } + @Override public void start() { @@ -51,6 +58,12 @@ public boolean isEnabled() return false; } + @Override + public boolean isSyncedForRead() + { + return false; + } + @Override public DatasourceSegmentCache getDatasource(String dataSource) { diff --git a/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentMetadataCache.java b/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentMetadataCache.java index cff12f54635c..2fa501c7a123 100644 --- a/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentMetadataCache.java +++ b/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentMetadataCache.java @@ -19,8 +19,16 @@ package org.apache.druid.metadata.segment.cache; +import com.fasterxml.jackson.annotation.JsonCreator; +import org.apache.druid.error.InvalidInput; + /** - * Cache for metadata of pending segments and committed segments. + * Cache for metadata of pending segments and committed segments maintained by + * the Overlord to improve performance of segment allocation and other task actions. + *

+ * Not to be confused with {@link org.apache.druid.segment.metadata.AbstractSegmentMetadataCache} + * which is used by Brokers to cache row signature, number of rows, etc. to aid + * with Druid query performance. */ public interface SegmentMetadataCache { @@ -49,9 +57,66 @@ public interface SegmentMetadataCache */ boolean isEnabled(); + /** + * @return true if the cache is enabled and synced with the metadata store. + * Reads can be done from the cache only if it is synced but writes can happen + * even before the sync has finished. + */ + boolean isSyncedForRead(); + /** * Returns the cache for the given datasource. */ DatasourceSegmentCache getDatasource(String dataSource); + /** + * Cache usage modes. + */ + enum UsageMode + { + /** + * Always read from the cache. Service start-up may be blocked until cache + * has synced with the metadata store at least once. Transactions may block + * until cache has synced with the metadata store at least once after + * becoming leader. + */ + ALWAYS("always"), + + /** + * Cache is disabled. + */ + NEVER("never"), + + /** + * Read from the cache only if it is already synced with the metadata store. + * Does not block service start-up or transactions. Writes may still go to + * cache to reduce sync times. + */ + IF_SYNCED("ifSynced"); + + private final String name; + + UsageMode(String name) + { + this.name = name; + } + + @JsonCreator + public static UsageMode fromString(String value) + { + for (UsageMode mode : values()) { + if (mode.toString().equals(value)) { + return mode; + } + } + + throw InvalidInput.exception("No such cache usage mode[%s]", value); + } + + @Override + public String toString() + { + return name; + } + } } diff --git a/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentRecord.java b/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentRecord.java new file mode 100644 index 000000000000..3b331dc36739 --- /dev/null +++ b/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentRecord.java @@ -0,0 +1,103 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.druid.metadata.segment.cache; + +import org.apache.druid.java.util.common.DateTimes; +import org.apache.druid.java.util.common.logger.Logger; +import org.apache.druid.timeline.SegmentId; +import org.joda.time.DateTime; + +import javax.annotation.Nullable; +import java.sql.ResultSet; + +/** + * Represents a single record in the druid_segments table. + */ +class SegmentRecord +{ + private static final Logger log = new Logger(SegmentRecord.class); + + private final SegmentId segmentId; + private final boolean isUsed; + private final DateTime lastUpdatedTime; + + SegmentRecord(SegmentId segmentId, boolean isUsed, DateTime lastUpdatedTime) + { + this.segmentId = segmentId; + this.isUsed = isUsed; + this.lastUpdatedTime = lastUpdatedTime; + } + + public SegmentId getSegmentId() + { + return segmentId; + } + + public boolean isUsed() + { + return isUsed; + } + + public DateTime getLastUpdatedTime() + { + return lastUpdatedTime; + } + + /** + * Creates a SegmentRecord from the given result set. + * + * @return null if an error occurred while reading the record. + */ + @Nullable + static SegmentRecord fromResultSet(ResultSet r) + { + String serializedId = null; + String dataSource = null; + try { + serializedId = r.getString("id"); + dataSource = r.getString("dataSource"); + + final DateTime lastUpdatedTime = nullSafeDate(r.getString( + "used_status_last_updated")); + + final SegmentId segmentId = SegmentId.tryParse(dataSource, serializedId); + if (segmentId == null) { + log.error("Could not parse Segment ID[%s] of datasource[%s]", serializedId, dataSource); + return null; + } else { + return new SegmentRecord(segmentId, true, lastUpdatedTime); + } + } + catch (Exception e) { + log.error( + e, + "Error occurred while reading Segment ID[%s] of datasource[%s]", + serializedId, dataSource + ); + return null; + } + } + + @Nullable + private static DateTime nullSafeDate(String date) + { + return date == null ? null : DateTimes.of(date); + } +} diff --git a/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentSyncResult.java b/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentSyncResult.java new file mode 100644 index 000000000000..291444ad748f --- /dev/null +++ b/server/src/main/java/org/apache/druid/metadata/segment/cache/SegmentSyncResult.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.druid.metadata.segment.cache; + +import org.apache.druid.timeline.SegmentId; + +import java.util.Set; + +/** + * Result of syncing a datasource cache with segments polled from metadata store. + */ +public class SegmentSyncResult +{ + private final int deleted; + private final int updated; + private final Set expiredIds; + + public SegmentSyncResult(int deleted, int updated, Set expiredIds) + { + this.deleted = deleted; + this.updated = updated; + this.expiredIds = expiredIds; + } + + public int getDeleted() + { + return deleted; + } + + public int getUpdated() + { + return updated; + } + + public Set getExpiredIds() + { + return expiredIds; + } + +} diff --git a/server/src/main/java/org/apache/druid/server/http/DataSourcesResource.java b/server/src/main/java/org/apache/druid/server/http/DataSourcesResource.java index 65d9b3025cd0..5f95a52d1c57 100644 --- a/server/src/main/java/org/apache/druid/server/http/DataSourcesResource.java +++ b/server/src/main/java/org/apache/druid/server/http/DataSourcesResource.java @@ -37,8 +37,8 @@ import org.apache.druid.client.ImmutableSegmentLoadInfo; import org.apache.druid.client.SegmentLoadInfo; import org.apache.druid.common.guava.FutureUtils; +import org.apache.druid.common.utils.IdUtils; import org.apache.druid.error.DruidException; -import org.apache.druid.error.InvalidInput; import org.apache.druid.guice.annotations.PublicApi; import org.apache.druid.java.util.common.DateTimes; import org.apache.druid.java.util.common.Intervals; @@ -242,18 +242,10 @@ public Response markAsUsedNonOvershadowedSegments( return 0; } - // Validate segmentIds - final List invalidSegmentIds = new ArrayList<>(); - for (String segmentId : segmentIds) { - if (SegmentId.iteratePossibleParsingsWithDataSource(dataSourceName, segmentId).isEmpty()) { - invalidSegmentIds.add(segmentId); - } - } - if (!invalidSegmentIds.isEmpty()) { - throw InvalidInput.exception("Could not parse invalid segment IDs[%s]", invalidSegmentIds); - } - - return segmentsMetadataManager.markAsUsedNonOvershadowedSegments(dataSourceName, segmentIds); + return segmentsMetadataManager.markAsUsedNonOvershadowedSegments( + dataSourceName, + IdUtils.getValidSegmentIds(dataSourceName, segmentIds) + ); } }; diff --git a/server/src/test/java/org/apache/druid/guice/ServiceInjectorBuilderTest.java b/server/src/test/java/org/apache/druid/guice/ServiceInjectorBuilderTest.java new file mode 100644 index 000000000000..cc11b1bc0e5e --- /dev/null +++ b/server/src/test/java/org/apache/druid/guice/ServiceInjectorBuilderTest.java @@ -0,0 +1,126 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.druid.guice; + +import com.google.inject.Binder; +import com.google.inject.Injector; +import com.google.inject.Provides; +import com.google.inject.util.Modules; +import org.apache.druid.initialization.CoreInjectorBuilder; +import org.apache.druid.initialization.DruidModule; +import org.apache.druid.initialization.ServiceInjectorBuilder; +import org.junit.jupiter.api.Test; + +import java.util.Properties; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class ServiceInjectorBuilderTest +{ + @Test + public void testNormalUsage() + { + Injector startupInjector = new StartupInjectorBuilder() + .withProperties(new Properties()) + .build(); + + CoreInjectorBuilder coreBuilder = new CoreInjectorBuilder(startupInjector); + coreBuilder.ignoreLoadScopes(); + coreBuilder.addModule( + new LocalProviderModule(1) + ); + + ServiceInjectorBuilder si = new ServiceInjectorBuilder(coreBuilder); + si.add( + new LocalProviderModule(2) + ); + Injector injector = si.build(); + Integer v = injector.getInstance(Integer.class); + assertEquals(2, v); + } + + @Test + public void testOverrideBelow() + { + Injector startupInjector = new StartupInjectorBuilder() + .withProperties(new Properties()) + .build(); + + CoreInjectorBuilder coreBuilder = new CoreInjectorBuilder(startupInjector); + coreBuilder.ignoreLoadScopes(); + coreBuilder.addModule( + Modules.override(new LocalProviderModule(0)) + .with(new LocalProviderModule(1)) + ); + + ServiceInjectorBuilder si = new ServiceInjectorBuilder(coreBuilder); + si.add( + new LocalProviderModule(2) + ); + Injector injector = si.build(); + Integer v = injector.getInstance(Integer.class); + assertEquals(2, v); + } + + @Test + public void testOverrideBoth() + { + Injector startupInjector = new StartupInjectorBuilder() + .withProperties(new Properties()) + .build(); + + CoreInjectorBuilder coreBuilder = new CoreInjectorBuilder(startupInjector); + coreBuilder.ignoreLoadScopes(); + coreBuilder.addModule( + Modules.override(new LocalProviderModule(0)) + .with(new LocalProviderModule(1)) + ); + + ServiceInjectorBuilder si = new ServiceInjectorBuilder(coreBuilder); + si.add( + Modules.override(new LocalProviderModule(-1)) + .with(new LocalProviderModule(2)) + ); + Injector injector = si.build(); + Integer v = injector.getInstance(Integer.class); + assertEquals(2, v); + } + + static class LocalProviderModule implements DruidModule + { + private int val; + + public LocalProviderModule(int i) + { + val = i; + } + + @Override + public void configure(Binder binder) + { + } + + @Provides + public Integer getVal() + { + return val; + } + } +} diff --git a/server/src/test/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinatorTest.java b/server/src/test/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinatorTest.java index 0212c8f2d998..6671fe4e1332 100644 --- a/server/src/test/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinatorTest.java +++ b/server/src/test/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinatorTest.java @@ -37,7 +37,7 @@ import org.apache.druid.metadata.segment.SegmentMetadataTransaction; import org.apache.druid.metadata.segment.SqlSegmentMetadataTransactionFactory; import org.apache.druid.metadata.segment.cache.HeapMemorySegmentMetadataCache; -import org.apache.druid.metadata.segment.cache.NoopSegmentMetadataCache; +import org.apache.druid.metadata.segment.cache.Metric; import org.apache.druid.metadata.segment.cache.SegmentMetadataCache; import org.apache.druid.segment.SegmentSchemaMapping; import org.apache.druid.segment.TestDataSource; @@ -90,6 +90,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; +import java.util.function.Supplier; import java.util.stream.Collectors; @RunWith(Parameterized.class) @@ -104,17 +105,21 @@ public class IndexerSQLMetadataStorageCoordinatorTest extends IndexerSqlMetadata private SqlSegmentMetadataTransactionFactory transactionFactory; private BlockingExecutorService cachePollExecutor; - private final boolean useSegmentCache; + private final SegmentMetadataCache.UsageMode cacheMode; - @Parameterized.Parameters(name = "useSegmentCache = {0}") + @Parameterized.Parameters(name = "cacheMode = {0}") public static Object[][] testParameters() { - return new Object[][]{{true}, {false}}; + return new Object[][]{ + {SegmentMetadataCache.UsageMode.ALWAYS}, + {SegmentMetadataCache.UsageMode.NEVER}, + {SegmentMetadataCache.UsageMode.IF_SYNCED} + }; } - public IndexerSQLMetadataStorageCoordinatorTest(boolean useSegmentCache) + public IndexerSQLMetadataStorageCoordinatorTest(SegmentMetadataCache.UsageMode cacheMode) { - this.useSegmentCache = useSegmentCache; + this.cacheMode = cacheMode; } @Before @@ -139,9 +144,10 @@ public void setUp() leaderSelector = new TestDruidLeaderSelector(); cachePollExecutor = new BlockingExecutorService("test-cache-poll-exec"); + segmentMetadataCache = new HeapMemorySegmentMetadataCache( mapper, - () -> new SegmentsMetadataManagerConfig(null, useSegmentCache), + () -> new SegmentsMetadataManagerConfig(null, cacheMode), derbyConnectorRule.metadataTablesConfigSupplier(), derbyConnector, (corePoolSize, nameFormat) -> new WrappingScheduledExecutorService( @@ -155,10 +161,11 @@ public void setUp() leaderSelector.becomeLeader(); // Get the cache ready if required - if (useSegmentCache) { + if (isCacheEnabled()) { segmentMetadataCache.start(); segmentMetadataCache.becomeLeader(); - cachePollExecutor.finishNextPendingTasks(4); + refreshCache(); + refreshCache(); } transactionFactory = new SqlSegmentMetadataTransactionFactory( @@ -166,7 +173,8 @@ public void setUp() derbyConnectorRule.metadataTablesConfigSupplier().get(), derbyConnector, leaderSelector, - segmentMetadataCache + segmentMetadataCache, + emitter ) { @Override @@ -207,12 +215,17 @@ public void tearDown() leaderSelector.stopBeingLeader(); } - void refreshCache() + private void refreshCache() { - if (useSegmentCache) { + if (isCacheEnabled()) { cachePollExecutor.finishNextPendingTasks(2); } } + + private boolean isCacheEnabled() + { + return cacheMode != SegmentMetadataCache.UsageMode.NEVER; + } @Test public void testCommitAppendSegments() @@ -764,13 +777,7 @@ public void testTransactionalAnnounceRetryAndSuccess() throws IOException final AtomicLong attemptCounter = new AtomicLong(); final IndexerSQLMetadataStorageCoordinator failOnceCoordinator = new IndexerSQLMetadataStorageCoordinator( - new SqlSegmentMetadataTransactionFactory( - mapper, - derbyConnectorRule.metadataTablesConfigSupplier().get(), - derbyConnector, - new TestDruidLeaderSelector(), - new NoopSegmentMetadataCache() - ), + transactionFactory, mapper, derbyConnectorRule.metadataTablesConfigSupplier().get(), derbyConnector, @@ -936,6 +943,8 @@ public void testRetrieveSegmentForId() @Test public void testCleanUpgradeSegmentsTableForTask() { + Assume.assumeFalse(isCacheEnabled()); + final String taskToClean = "taskToClean"; final ReplaceTaskLock replaceLockToClean = new ReplaceTaskLock( taskToClean, @@ -2179,7 +2188,7 @@ public void testSecondHalfEternitySegmentWithStringComparison() public void testLargeIntervalWithStringComparison() { // Known Issue when not using cache: https://github.com/apache/druid/issues/12860 - Assume.assumeTrue(useSegmentCache); + Assume.assumeTrue(isCacheEnabled()); coordinator.commitSegments( ImmutableSet.of( @@ -2280,7 +2289,7 @@ public void testDeleteSegmentsInMetaDataStorage() @Test public void testUpdateSegmentsInMetaDataStorage() { - Assume.assumeFalse(useSegmentCache); + Assume.assumeFalse(isCacheEnabled()); // Published segments to MetaDataStorage coordinator.commitSegments(SEGMENTS, new SegmentSchemaMapping(CentralizedDatasourceSchemaConfig.SCHEMA_VERSION)); @@ -3331,9 +3340,10 @@ public void testMarkSegmentsAsUnusedWithinIntervalOneYear() // interval covers existingSegment1 and partially overlaps existingSegment2, // only existingSegment1 will be dropped - coordinator.markSegmentsAsUnusedWithinInterval( + coordinator.markSegmentsWithinIntervalAsUnused( existingSegment1.getDataSource(), - Intervals.of("1994-01-01/1994-01-02T12Z") + Intervals.of("1994-01-01/1994-01-02T12Z"), + null ); Assert.assertEquals( @@ -3368,9 +3378,10 @@ public void testMarkSegmentsAsUnusedWithinIntervalTwoYears() // interval covers existingSegment1 and partially overlaps existingSegment2, // only existingSegment1 will be dropped - coordinator.markSegmentsAsUnusedWithinInterval( + coordinator.markSegmentsWithinIntervalAsUnused( existingSegment1.getDataSource(), - Intervals.of("1993-12-31T12Z/1994-01-02T12Z") + Intervals.of("1993-12-31T12Z/1994-01-02T12Z"), + null ); Assert.assertEquals( @@ -3618,7 +3629,7 @@ public void testSegmentIdShouldNotBeReallocated() // Clean up pending segments corresponding to the valid task allocator id coordinator.deletePendingSegmentsForTaskAllocatorId(TestDataSource.WIKI, "taskAllocatorId"); // Mark all segments as unused - coordinator.markSegmentsAsUnusedWithinInterval(TestDataSource.WIKI, Intervals.ETERNITY); + coordinator.markSegmentsWithinIntervalAsUnused(TestDataSource.WIKI, Intervals.ETERNITY, null); final SegmentIdWithShardSpec theId = allocatePendingSegment( TestDataSource.WIKI, @@ -3659,7 +3670,7 @@ public void testRetrieveUnusedSegmentsForExactIntervalAndVersion() ), null ); - coordinator.markSegmentsAsUnusedWithinInterval(TestDataSource.WIKI, Intervals.ETERNITY); + coordinator.markSegmentsWithinIntervalAsUnused(TestDataSource.WIKI, Intervals.ETERNITY, null); DataSegment usedSegmentForExactIntervalAndVersion = createSegment( Intervals.of("2024/2025"), @@ -3686,7 +3697,7 @@ public void testRetrieveUpgradedFromSegmentIds() final Map upgradedFromSegmentIdMap = new HashMap<>(); upgradedFromSegmentIdMap.put(defaultSegment2.getId().toString(), defaultSegment.getId().toString()); insertUsedSegments(ImmutableSet.of(defaultSegment, defaultSegment2), upgradedFromSegmentIdMap); - coordinator.markSegmentsAsUnusedWithinInterval(datasource, Intervals.ETERNITY); + coordinator.markSegmentsWithinIntervalAsUnused(datasource, Intervals.ETERNITY, null); upgradedFromSegmentIdMap.clear(); upgradedFromSegmentIdMap.put(defaultSegment3.getId().toString(), defaultSegment.getId().toString()); insertUsedSegments(ImmutableSet.of(defaultSegment3, defaultSegment4), upgradedFromSegmentIdMap); @@ -3709,6 +3720,8 @@ public void testRetrieveUpgradedFromSegmentIds() @Test public void testRetrieveUpgradedFromSegmentIdsInBatches() { + Assume.assumeFalse(isCacheEnabled()); + final int size = 500; final int batchSize = 100; @@ -3755,7 +3768,7 @@ public void testRetrieveUpgradedToSegmentIds() final Map upgradedFromSegmentIdMap = new HashMap<>(); upgradedFromSegmentIdMap.put(defaultSegment2.getId().toString(), defaultSegment.getId().toString()); insertUsedSegments(ImmutableSet.of(defaultSegment, defaultSegment2), upgradedFromSegmentIdMap); - coordinator.markSegmentsAsUnusedWithinInterval(datasource, Intervals.ETERNITY); + coordinator.markSegmentsWithinIntervalAsUnused(datasource, Intervals.ETERNITY, null); upgradedFromSegmentIdMap.clear(); upgradedFromSegmentIdMap.put(defaultSegment3.getId().toString(), defaultSegment.getId().toString()); insertUsedSegments(ImmutableSet.of(defaultSegment3, defaultSegment4), upgradedFromSegmentIdMap); @@ -3907,7 +3920,7 @@ public void testRetrieveUsedSegmentsForSegmentAllocation() @Test public void testCachedTransaction_cannotReadWhatItWrites() { - Assume.assumeTrue(useSegmentCache); + Assume.assumeTrue(isCacheEnabled()); transactionFactory.inReadWriteDatasourceTransaction( TestDataSource.WIKI, @@ -3928,6 +3941,92 @@ public void testCachedTransaction_cannotReadWhatItWrites() return 0; } ); + + emitter.verifyValue(Metric.READ_WRITE_TRANSACTIONS, 1L); + } + + @Test + public void testReadOperation_usesCache_ifSynced() + { + Assume.assumeTrue(isCacheEnabled()); + + Assert.assertTrue(segmentMetadataCache.isSyncedForRead()); + + insertUsedSegments(Set.of(defaultSegment), Map.of()); + final Supplier> retrieveAction = + () -> coordinator.retrieveAllUsedSegments( + defaultSegment.getDataSource(), + Segments.INCLUDING_OVERSHADOWED + ); + + // Retrieve returns empty since cache is not synced with metadata store yet + Assert.assertTrue(retrieveAction.get().isEmpty()); + + refreshCache(); + Assert.assertEquals(Set.of(defaultSegment), retrieveAction.get()); + + emitter.verifyEmitted(Metric.READ_ONLY_TRANSACTIONS, 2); + } + + @Test + public void testReadOperation_doesNotUseCache_ifNotSynced() + { + Assume.assumeTrue(isCacheEnabled()); + + segmentMetadataCache.stopBeingLeader(); + Assert.assertFalse(segmentMetadataCache.isSyncedForRead()); + + final Supplier> retrieveAction = + () -> coordinator.retrieveAllUsedSegments( + defaultSegment.getDataSource(), + Segments.INCLUDING_OVERSHADOWED + ); + + insertUsedSegments(Set.of(defaultSegment), Map.of()); + + Assert.assertEquals(Set.of(defaultSegment), retrieveAction.get()); + emitter.verifyNotEmitted(Metric.READ_ONLY_TRANSACTIONS); + + // Become leader but cache will still not be used + segmentMetadataCache.becomeLeader(); + Assert.assertFalse(segmentMetadataCache.isSyncedForRead()); + Assert.assertEquals(Set.of(defaultSegment), retrieveAction.get()); + emitter.verifyNotEmitted(Metric.READ_ONLY_TRANSACTIONS); + + // Sync the cache so that it becomes ready for use + refreshCache(); + refreshCache(); + Assert.assertTrue(segmentMetadataCache.isSyncedForRead()); + Assert.assertEquals(Set.of(defaultSegment), retrieveAction.get()); + emitter.verifyValue(Metric.READ_ONLY_TRANSACTIONS, 1L); + } + + @Test + public void testWriteOperation_alwaysUsesCache_inModeIfSynced() + { + Assume.assumeTrue(cacheMode == SegmentMetadataCache.UsageMode.IF_SYNCED); + + // Lose and regain leadership + segmentMetadataCache.stopBeingLeader(); + segmentMetadataCache.becomeLeader(); + + Assert.assertTrue(segmentMetadataCache.isEnabled()); + Assert.assertFalse(segmentMetadataCache.isSyncedForRead()); + + final Supplier> writeAction = + () -> coordinator.commitSegments(Set.of(defaultSegment), null); + + // Cache is not synced yet and will be used only for write operations + Assert.assertEquals(Set.of(defaultSegment), writeAction.get()); + emitter.verifyValue(Metric.WRITE_ONLY_TRANSACTIONS, 1L); + + // Sync the cache to use it for both read and write operations + refreshCache(); + refreshCache(); + Assert.assertTrue(segmentMetadataCache.isSyncedForRead()); + + Assert.assertTrue(writeAction.get().isEmpty()); + emitter.verifyValue(Metric.READ_WRITE_TRANSACTIONS, 1L); } private SegmentIdWithShardSpec allocatePendingSegment( diff --git a/server/src/test/java/org/apache/druid/metadata/IndexerSqlMetadataStorageCoordinatorSchemaPersistenceTest.java b/server/src/test/java/org/apache/druid/metadata/IndexerSqlMetadataStorageCoordinatorSchemaPersistenceTest.java index c72e1a75afee..c075b7ae8902 100644 --- a/server/src/test/java/org/apache/druid/metadata/IndexerSqlMetadataStorageCoordinatorSchemaPersistenceTest.java +++ b/server/src/test/java/org/apache/druid/metadata/IndexerSqlMetadataStorageCoordinatorSchemaPersistenceTest.java @@ -41,6 +41,7 @@ import org.apache.druid.segment.metadata.SegmentSchemaManager; import org.apache.druid.segment.metadata.SegmentSchemaTestUtils; import org.apache.druid.server.coordinator.simulate.TestDruidLeaderSelector; +import org.apache.druid.server.metrics.NoopServiceEmitter; import org.apache.druid.timeline.DataSegment; import org.apache.druid.timeline.partition.HashBasedNumberedShardSpec; import org.apache.druid.timeline.partition.LinearShardSpec; @@ -96,7 +97,8 @@ public void setUp() derbyConnectorRule.metadataTablesConfigSupplier().get(), derbyConnector, new TestDruidLeaderSelector(), - new NoopSegmentMetadataCache() + NoopSegmentMetadataCache.instance(), + NoopServiceEmitter.instance() ); coordinator = new IndexerSQLMetadataStorageCoordinator( transactionFactory, diff --git a/server/src/test/java/org/apache/druid/metadata/SqlSegmentsMetadataManagerSchemaPollTest.java b/server/src/test/java/org/apache/druid/metadata/SqlSegmentsMetadataManagerSchemaPollTest.java index 834553655570..788de1fa0ffb 100644 --- a/server/src/test/java/org/apache/druid/metadata/SqlSegmentsMetadataManagerSchemaPollTest.java +++ b/server/src/test/java/org/apache/druid/metadata/SqlSegmentsMetadataManagerSchemaPollTest.java @@ -54,7 +54,7 @@ public class SqlSegmentsMetadataManagerSchemaPollTest extends SqlSegmentsMetadat public void setUp() throws Exception { connector = derbyConnectorRule.getConnector(); - SegmentsMetadataManagerConfig config = new SegmentsMetadataManagerConfig(Period.seconds(3), false); + SegmentsMetadataManagerConfig config = new SegmentsMetadataManagerConfig(Period.seconds(3), null); segmentSchemaCache = new SegmentSchemaCache(new NoopServiceEmitter()); segmentSchemaManager = new SegmentSchemaManager( @@ -129,7 +129,7 @@ public void testPollSegmentAndSchema() CentralizedDatasourceSchemaConfig centralizedDatasourceSchemaConfig = new CentralizedDatasourceSchemaConfig(); centralizedDatasourceSchemaConfig.setEnabled(true); - config = new SegmentsMetadataManagerConfig(Period.seconds(3), false); + config = new SegmentsMetadataManagerConfig(Period.seconds(3), null); sqlSegmentsMetadataManager = new SqlSegmentsMetadataManager( jsonMapper, Suppliers.ofInstance(config), @@ -217,7 +217,7 @@ public void testPollOnlyNewSchemaVersion() CentralizedDatasourceSchemaConfig centralizedDatasourceSchemaConfig = new CentralizedDatasourceSchemaConfig(); centralizedDatasourceSchemaConfig.setEnabled(true); - config = new SegmentsMetadataManagerConfig(Period.seconds(3), false); + config = new SegmentsMetadataManagerConfig(Period.seconds(3), null); sqlSegmentsMetadataManager = new SqlSegmentsMetadataManager( jsonMapper, Suppliers.ofInstance(config), diff --git a/server/src/test/java/org/apache/druid/metadata/SqlSegmentsMetadataManagerTest.java b/server/src/test/java/org/apache/druid/metadata/SqlSegmentsMetadataManagerTest.java index 70908c29291a..c1f9a0d544f4 100644 --- a/server/src/test/java/org/apache/druid/metadata/SqlSegmentsMetadataManagerTest.java +++ b/server/src/test/java/org/apache/druid/metadata/SqlSegmentsMetadataManagerTest.java @@ -110,7 +110,7 @@ private void publishWikiSegments() public void setUp() { connector = derbyConnectorRule.getConnector(); - SegmentsMetadataManagerConfig config = new SegmentsMetadataManagerConfig(Period.seconds(3), false); + SegmentsMetadataManagerConfig config = new SegmentsMetadataManagerConfig(Period.seconds(3), null); storageConfig = derbyConnectorRule.metadataTablesConfigSupplier().get(); segmentSchemaCache = new SegmentSchemaCache(NoopServiceEmitter.instance()); @@ -606,10 +606,10 @@ public void testMarkAsUsedNonOvershadowedSegments() throws Exception ); publishUnusedSegments(koalaSegment1, koalaSegment2, koalaSegment3); - final Set segmentIds = ImmutableSet.of( - koalaSegment1.getId().toString(), - koalaSegment2.getId().toString(), - koalaSegment3.getId().toString() + final Set segmentIds = ImmutableSet.of( + koalaSegment1.getId(), + koalaSegment2.getId(), + koalaSegment3.getId() ); sqlSegmentsMetadataManager.poll(); @@ -887,8 +887,8 @@ public void testMarkAsUsedNonOvershadowedSegmentsInvalidDataSource() throws Exce final DataSegment koalaSegment2 = createNewSegment1(TestDataSource.KOALA); publishUnusedSegments(koalaSegment1, koalaSegment2); - final ImmutableSet segmentIds = - ImmutableSet.of(koalaSegment1.getId().toString(), koalaSegment2.getId().toString()); + final ImmutableSet segmentIds = + ImmutableSet.of(koalaSegment1.getId(), koalaSegment2.getId()); sqlSegmentsMetadataManager.poll(); Assert.assertEquals( ImmutableSet.of(wikiSegment1, wikiSegment2), @@ -917,8 +917,8 @@ public void testMarkAsUsedNonOvershadowedSegmentsWithInvalidSegmentIds() final DataSegment koalaSegment1 = createNewSegment1(TestDataSource.KOALA); final DataSegment koalaSegment2 = createNewSegment1(TestDataSource.KOALA); - final ImmutableSet segmentIds = - ImmutableSet.of(koalaSegment1.getId().toString(), koalaSegment2.getId().toString()); + final ImmutableSet segmentIds = + ImmutableSet.of(koalaSegment1.getId(), koalaSegment2.getId()); sqlSegmentsMetadataManager.poll(); Assert.assertEquals( ImmutableSet.of(wikiSegment1, wikiSegment2), @@ -1330,7 +1330,7 @@ public void testIterateAllUsedNonOvershadowedSegmentsForDatasourceInterval() thr final Interval theInterval = Intervals.of("2012-03-15T00:00:00.000/2012-03-20T00:00:00.000"); // Re-create SqlSegmentsMetadataManager with a higher poll duration - final SegmentsMetadataManagerConfig config = new SegmentsMetadataManagerConfig(Period.seconds(1), false); + final SegmentsMetadataManagerConfig config = new SegmentsMetadataManagerConfig(Period.seconds(1), null); sqlSegmentsMetadataManager = new SqlSegmentsMetadataManager( jsonMapper, Suppliers.ofInstance(config), diff --git a/server/src/test/java/org/apache/druid/metadata/segment/cache/HeapMemoryDatasourceSegmentCacheTest.java b/server/src/test/java/org/apache/druid/metadata/segment/cache/HeapMemoryDatasourceSegmentCacheTest.java index 034e33bce552..c78cf31bfdb4 100644 --- a/server/src/test/java/org/apache/druid/metadata/segment/cache/HeapMemoryDatasourceSegmentCacheTest.java +++ b/server/src/test/java/org/apache/druid/metadata/segment/cache/HeapMemoryDatasourceSegmentCacheTest.java @@ -43,6 +43,14 @@ public class HeapMemoryDatasourceSegmentCacheTest { private static final String WIKI = "wiki"; private static final Interval FIRST_WEEK_OF_JAN = Intervals.of("2024-01-01/P1W"); + private static final Interval FIRST_DAY_OF_JAN + = FIRST_WEEK_OF_JAN.withDurationAfterStart(Duration.standardDays(1)); + private static final DataSegmentPlus JAN_1_SEGMENT + = createUsedSegment().startingAt(FIRST_DAY_OF_JAN.getStart()).withVersion("v1").asPlus(); + private static final DataSegmentPlus JAN_2_SEGMENT + = createUsedSegment().startingAt(FIRST_DAY_OF_JAN.getEnd()).withVersion("v2").asPlus(); + private static final DataSegmentPlus JAN_3_SEGMENT + = createUsedSegment().startingAt(FIRST_DAY_OF_JAN.getEnd().plusDays(1)).withVersion("v3").asPlus(); private HeapMemoryDatasourceSegmentCache cache; @@ -56,8 +64,6 @@ public void setup() public void testEmptyCache() { Assert.assertNull(cache.findUsedSegment(SegmentId.dummy(WIKI))); - Assert.assertNull(cache.findHighestUnusedSegmentId(Intervals.ETERNITY, "v1")); - Assert.assertTrue(cache.findUsedSegmentsPlusOverlappingAnyOf(List.of()).isEmpty()); Assert.assertTrue(cache.findPendingSegmentsOverlapping(Intervals.ETERNITY).isEmpty()); } @@ -103,20 +109,28 @@ public void testFindSegmentsWithSchema_throwsUnsupported() } @Test - public void testAddSegment_withUsedSegment() + public void testFindExistingSegmentIds_throwsUnsupported() + { + DruidExceptionMatcher.defensive().expectMessageIs( + "Unsupported: Unused segments are not cached" + ).assertThrowsAndMatches( + () -> cache.findExistingSegmentIds(Set.of()) + ); + } + + @Test + public void testInsertSegments_withUsedSegment() { final DataSegmentPlus segmentPlus = createUsedSegment().asPlus(); final DataSegment segment = segmentPlus.getDataSegment(); - cache.addSegment(segmentPlus); + cache.insertSegments(Set.of(segmentPlus)); final SegmentId segmentId = segment.getId(); final Interval interval = segmentId.getInterval(); Assert.assertEquals(segment, cache.findUsedSegment(segmentId)); - Assert.assertEquals(List.of(segment), cache.findUsedSegments(Set.of(segmentId))); - - Assert.assertEquals(Set.of(segmentId.toString()), cache.findExistingSegmentIds(Set.of(segment))); + Assert.assertEquals(List.of(segmentPlus), cache.findUsedSegments(Set.of(segmentId))); Assert.assertEquals(Set.of(segmentId), cache.findUsedSegmentIdsOverlapping(interval)); Assert.assertEquals(Set.of(segmentId), cache.findUsedSegmentIdsOverlapping(Intervals.ETERNITY)); @@ -128,41 +142,36 @@ public void testAddSegment_withUsedSegment() Assert.assertEquals(Set.of(segmentPlus), cache.findUsedSegmentsPlusOverlappingAnyOf(List.of())); Assert.assertEquals(Set.of(segmentPlus), cache.findUsedSegmentsPlusOverlappingAnyOf(List.of(interval))); Assert.assertEquals(Set.of(segmentPlus), cache.findUsedSegmentsPlusOverlappingAnyOf(List.of(Intervals.ETERNITY))); - - Assert.assertNull(cache.findHighestUnusedSegmentId(interval, segment.getVersion())); } @Test - public void testAddSegment_updatesCacheWithNewerEntry() + public void testInsertSegments_updatesCacheWithNewerEntry() { final DateTime now = DateTimes.nowUtc(); final DataSegmentPlus segmentPlus = createUsedSegment().lastUpdatedOn(now).asPlus(); - final DataSegment segment = segmentPlus.getDataSegment(); - Assert.assertTrue(cache.addSegment(segmentPlus)); + Assert.assertEquals(1, cache.insertSegments(Set.of(segmentPlus))); Assert.assertEquals(Set.of(segmentPlus), cache.findUsedSegmentsPlusOverlappingAnyOf(List.of())); // Verify that a segment with older updated time does not update cache - final DataSegmentPlus oldSegmentPlus - = new DataSegmentPlus(segment, null, now.minus(1), true, null, 100L, null); - Assert.assertFalse(cache.addSegment(oldSegmentPlus)); + final DataSegmentPlus oldSegmentPlus = updateSegment(segmentPlus, now.minus(1)); + Assert.assertEquals(0, cache.insertSegments(Set.of(oldSegmentPlus))); Assert.assertEquals(Set.of(segmentPlus), cache.findUsedSegmentsPlusOverlappingAnyOf(List.of())); // Verify that a segment with newer updated time updates the cache - final DataSegmentPlus newSegmentPlus - = new DataSegmentPlus(segment, null, now.plus(1), true, null, 100L, null); - Assert.assertTrue(cache.addSegment(newSegmentPlus)); + final DataSegmentPlus newSegmentPlus = updateSegment(segmentPlus, now.plus(1)); + Assert.assertEquals(1, cache.insertSegments(Set.of(newSegmentPlus))); Assert.assertEquals(Set.of(newSegmentPlus), cache.findUsedSegmentsPlusOverlappingAnyOf(List.of())); } @Test - public void testAddSegment_withUnusedSegment() + public void testInsertSegments_withUnusedSegment() { final DataSegmentPlus segmentPlus = createUnusedSegment().asPlus(); final DataSegment segment = segmentPlus.getDataSegment(); final SegmentId segmentId = segment.getId(); - cache.addSegment(segmentPlus); + cache.insertSegments(Set.of(segmentPlus)); // Verify that the segment is not returned in any of the used segment methods Assert.assertNull(cache.findUsedSegment(segmentId)); @@ -171,80 +180,37 @@ public void testAddSegment_withUnusedSegment() Assert.assertTrue(cache.findUsedSegmentsOverlappingAnyOf(List.of()).isEmpty()); Assert.assertTrue(cache.findUsedSegmentsPlusOverlappingAnyOf(List.of()).isEmpty()); - Assert.assertEquals(Set.of(segmentId.toString()), cache.findExistingSegmentIds(Set.of(segment))); - - // Verify unused segment methods - Assert.assertEquals(segmentId, cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); + final CacheStats cacheStats = cache.markCacheSynced(); + Assert.assertEquals(0, cacheStats.getNumUsedSegments()); + Assert.assertEquals(1, cacheStats.getNumUnusedSegments()); } @Test - public void testShouldRefreshUsedSegment_returnsTrueIfCacheHasNoEntry() + public void testInsertSegments_addsToCache_ifUpdatedTimeIsNull() { - final SegmentId segmentId = SegmentId.dummy(WIKI); - Assert.assertTrue(cache.shouldRefreshUsedSegment(segmentId, null)); - Assert.assertTrue(cache.shouldRefreshUsedSegment(segmentId, DateTimes.EPOCH)); - Assert.assertTrue(cache.shouldRefreshUsedSegment(segmentId, DateTimes.nowUtc())); + final DataSegmentPlus usedSegmentPlus = createUsedSegment().lastUpdatedOn(null).asPlus(); + Assert.assertEquals(1, cache.insertSegments(Set.of(usedSegmentPlus))); + Assert.assertEquals(Set.of(usedSegmentPlus), cache.findUsedSegmentsPlusOverlappingAnyOf(List.of())); } @Test - public void testShouldRefreshUsedSegment_returnsTrueIfCacheHasOutdatedEntry() + public void testInsertSegments_doesNotUpdateCache_ifNewUpdatedTimeIsNull() { - final DataSegmentPlus segmentPlus = createUsedSegment().updatedNow().asPlus(); - final DataSegment segment = segmentPlus.getDataSegment(); - final SegmentId segmentId = segment.getId(); - - cache.addSegment(segmentPlus); - Assert.assertEquals(segment, cache.findUsedSegment(segmentId)); - - final DateTime cachedUpdatedTime = segmentPlus.getUsedStatusLastUpdatedDate(); - Assert.assertNotNull(cachedUpdatedTime); - - // Verify that segment refresh is required only if updated time has increased - Assert.assertFalse(cache.shouldRefreshUsedSegment(segmentId, null)); - Assert.assertFalse(cache.shouldRefreshUsedSegment(segmentId, cachedUpdatedTime)); - Assert.assertFalse(cache.shouldRefreshUsedSegment(segmentId, cachedUpdatedTime.minus(1))); - - Assert.assertTrue(cache.shouldRefreshUsedSegment(segmentId, cachedUpdatedTime.plus(1))); + final DataSegmentPlus usedSegment = createUsedSegment().lastUpdatedOn(null).asPlus(); + Assert.assertEquals(1, cache.insertSegments(Set.of(usedSegment))); + Assert.assertEquals(0, cache.insertSegments(Set.of(updateSegment(usedSegment, null)))); } @Test - public void testAddSegment_canMarkItAsUsed() - { - final DataSegmentPlus usedSegmentPlus = createUsedSegment().asPlus(); - final DataSegment segment = usedSegmentPlus.getDataSegment(); - final SegmentId segmentId = segment.getId(); - - cache.addSegment(usedSegmentPlus); - - Assert.assertEquals(segment, cache.findUsedSegment(segmentId)); - Assert.assertNull(cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); - - final DataSegmentPlus unusedSegmentPlus = new DataSegmentPlus( - segment, - null, - DateTimes.EPOCH, - false, - null, - null, - null - ); - - cache.addSegment(unusedSegmentPlus); - - Assert.assertNull(cache.findUsedSegment(segmentId)); - Assert.assertEquals(segmentId, cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); - } - - @Test - public void testAddSegment_canMarkItAsUnused() + public void testInsertSegments_canMarkItAsUnused() { final DataSegmentPlus unusedSegmentPlus = createUnusedSegment().asPlus(); final DataSegment segment = unusedSegmentPlus.getDataSegment(); final SegmentId segmentId = segment.getId(); - cache.addSegment(unusedSegmentPlus); + cache.insertSegments(Set.of(unusedSegmentPlus)); - Assert.assertEquals(segmentId, cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); + // TODO: Assert.assertEquals(segmentId, cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); Assert.assertNull(cache.findUsedSegment(segmentId)); final DataSegmentPlus usedSegmentPlus = new DataSegmentPlus( @@ -257,90 +223,33 @@ public void testAddSegment_canMarkItAsUnused() null ); - cache.addSegment(usedSegmentPlus); + cache.insertSegments(Set.of(usedSegmentPlus)); Assert.assertEquals(segment, cache.findUsedSegment(segmentId)); } @Test - public void testAddUnusedSegmentId() - { - final DataSegmentPlus unusedSegmentPlus = createUnusedSegment().asPlus(); - final DataSegment segment = unusedSegmentPlus.getDataSegment(); - final SegmentId segmentId = segment.getId(); - - Assert.assertTrue(cache.addUnusedSegmentId(segmentId, null)); - - Assert.assertEquals(Set.of(segmentId.toString()), cache.findExistingSegmentIds(Set.of(segment))); - Assert.assertEquals(segmentId, cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); - } - - @Test - public void testAddUnusedSegmentId_updatesCacheWithNewerEntry() + public void testSyncSegmentIds_identifiesExpiredUsedSegmentIds() { - final DataSegmentPlus unusedSegmentPlus = createUnusedSegment().asPlus(); - final DataSegment segment = unusedSegmentPlus.getDataSegment(); - final SegmentId segmentId = segment.getId(); - - Assert.assertTrue(cache.addUnusedSegmentId(segmentId, null)); - - Assert.assertFalse(cache.addUnusedSegmentId(segmentId, null)); + final DataSegmentPlus usedSegmentPlus = createUsedSegment().updatedNow().asPlus(); + final SegmentRecord usedRecord = asRecord(usedSegmentPlus); final DateTime now = DateTimes.nowUtc(); - Assert.assertTrue(cache.addUnusedSegmentId(segmentId, now)); - - Assert.assertFalse(cache.addUnusedSegmentId(segmentId, null)); - Assert.assertFalse(cache.addUnusedSegmentId(segmentId, now.minus(1))); - - Assert.assertTrue(cache.addUnusedSegmentId(segmentId, now.plus(1))); + SegmentSyncResult result = cache.syncSegmentIds(List.of(usedRecord), now); + Assert.assertEquals(Set.of(usedRecord.getSegmentId()), result.getExpiredIds()); } @Test - public void testAddUnusedSegmenId_marksUsedSegmentAsUnused() + public void testSyncSegmentIds_ignoresUnusedSegment() { - final DataSegmentPlus usedSegmentPlus = createUsedSegment().asPlus(); - final DataSegment segment = usedSegmentPlus.getDataSegment(); - final SegmentId segmentId = segment.getId(); - - cache.addSegment(usedSegmentPlus); - Assert.assertEquals(segment, cache.findUsedSegment(segmentId)); - Assert.assertNull(cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); - - cache.addUnusedSegmentId(segmentId, null); - Assert.assertNull(cache.findUsedSegment(segmentId)); - Assert.assertEquals(segmentId, cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); - } - - @Test - public void testMarkCacheSynced_isNeededAfterUpdateOrRemove() - { - final DataSegmentPlus unusedSegmentPlus = createUnusedSegment().asPlus(); - final DataSegment segment = unusedSegmentPlus.getDataSegment(); - final SegmentId segmentId = segment.getId(); - - cache.addSegment(unusedSegmentPlus); - Assert.assertEquals(segmentId, cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); - - // Verify that marking the segment as used does not update the highest ID - final DataSegmentPlus usedSegmentPlus = new DataSegmentPlus( - segment, - null, - DateTimes.EPOCH, - true, - null, - null, - null - ); - cache.addSegment(usedSegmentPlus); - Assert.assertEquals(segmentId, cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); + final DataSegmentPlus unusedSegmentPlus = createUnusedSegment().updatedNow().asPlus(); + final SegmentRecord unusedRecord = asRecord(unusedSegmentPlus); - // Verify that removing segment does not update the highest ID - cache.removeSegmentsForIds(Set.of(segmentId)); - Assert.assertEquals(segmentId, cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); - - // Verify that only reset updates the highest ID - cache.markCacheSynced(); - Assert.assertNull(cache.findHighestUnusedSegmentId(segment.getInterval(), segment.getVersion())); + final DateTime now = DateTimes.nowUtc(); + SegmentSyncResult result = cache.syncSegmentIds(List.of(unusedRecord), now); + Assert.assertEquals(0, result.getUpdated()); + Assert.assertEquals(0, result.getDeleted()); + Assert.assertTrue(result.getExpiredIds().isEmpty()); } @Test @@ -440,7 +349,7 @@ public void testInsertPendingSegments() } @Test - public void testShouldRefreshPendingSegment_returnsTrueWhenNotPresentInCache() + public void testInsertPendingSegment_isIdempotent() { final PendingSegmentRecord pendingSegment = PendingSegmentRecord.create( new SegmentIdWithShardSpec(WIKI, Intervals.ETERNITY, "v1", new NumberedShardSpec(0, 1)), @@ -449,13 +358,13 @@ public void testShouldRefreshPendingSegment_returnsTrueWhenNotPresentInCache() null, null ); - Assert.assertTrue(cache.shouldRefreshPendingSegment(pendingSegment)); Assert.assertTrue(cache.insertPendingSegment(pendingSegment, true)); - Assert.assertFalse(cache.shouldRefreshPendingSegment(pendingSegment)); + Assert.assertFalse(cache.insertPendingSegment(pendingSegment, true)); + Assert.assertEquals(List.of(pendingSegment), cache.findPendingSegmentsOverlapping(Intervals.ETERNITY)); } @Test - public void testRemoveUnpersistedSegments_removesUsedSegmentUpdatedBeforeSyncStart() + public void testSyncSegmentIds_removesUsedSegmentUpdatedBeforeSyncStart() { final DateTime syncTime = DateTimes.nowUtc(); @@ -478,9 +387,9 @@ public void testRemoveUnpersistedSegments_removesUsedSegmentUpdatedBeforeSyncSta ); // Remove unpersisted segments and verify that only unpersisted segments - // last updated before the sync time are remove - cache.removeUnpersistedSegments( - Set.of(persistedSegment.getDataSegment().getId()), + // last updated before the sync time are removed + cache.syncSegmentIds( + List.of(asRecord(persistedSegment)), syncTime ); Assert.assertEquals( @@ -490,62 +399,43 @@ public void testRemoveUnpersistedSegments_removesUsedSegmentUpdatedBeforeSyncSta } @Test - public void testRemoveUnpersistedSegments_removesUnusedSegmentUpdatedBeforeSyncStart() + public void testSyncSegmentIds_removesUnusedSegmentUpdatedBeforeSyncStart() { final DateTime syncTime = DateTimes.nowUtc(); - final DataSegmentPlus persistedSegment = createUnusedSegment().asPlus(); - final DataSegmentPlus unpersistedSegmentUpdatedBeforeSync = + final DataSegmentPlus usedSegment = createUsedSegment().asPlus(); + final DataSegmentPlus unusedSegmentUpdatedBeforeSync = createUnusedSegment().lastUpdatedOn(syncTime.minus(1)).asPlus(); - final DataSegmentPlus unpersistedSegmentUpdatedAfterSync = + final DataSegmentPlus unusedSegmentUpdatedAfterSync = createUnusedSegment().lastUpdatedOn(syncTime.plus(1)).asPlus(); // Add unused segments to the cache and verify that they have been added cache.insertSegments( Set.of( - persistedSegment, - unpersistedSegmentUpdatedBeforeSync, - unpersistedSegmentUpdatedAfterSync - ) - ); - Assert.assertEquals( - Set.of( - persistedSegment.getDataSegment().getId().toString(), - unpersistedSegmentUpdatedBeforeSync.getDataSegment().getId().toString(), - unpersistedSegmentUpdatedAfterSync.getDataSegment().getId().toString() - ), - cache.findExistingSegmentIds( - Set.of( - persistedSegment.getDataSegment(), - unpersistedSegmentUpdatedBeforeSync.getDataSegment(), - unpersistedSegmentUpdatedAfterSync.getDataSegment() - ) + usedSegment, + unusedSegmentUpdatedBeforeSync, + unusedSegmentUpdatedAfterSync ) ); + CacheStats cacheStats = cache.markCacheSynced(); + Assert.assertEquals(1, cacheStats.getNumUsedSegments()); + Assert.assertEquals(2, cacheStats.getNumUnusedSegments()); + // Remove unpersisted segments and verify that only unpersisted segments - // last updated before the sync time are remove - cache.removeUnpersistedSegments( - Set.of(persistedSegment.getDataSegment().getId()), + // last updated before the sync time are removed + cache.syncSegmentIds( + List.of(asRecord(usedSegment)), syncTime ); - Assert.assertEquals( - Set.of( - persistedSegment.getDataSegment().getId().toString(), - unpersistedSegmentUpdatedAfterSync.getDataSegment().getId().toString() - ), - cache.findExistingSegmentIds( - Set.of( - persistedSegment.getDataSegment(), - unpersistedSegmentUpdatedBeforeSync.getDataSegment(), - unpersistedSegmentUpdatedAfterSync.getDataSegment() - ) - ) - ); + + cacheStats = cache.markCacheSynced(); + Assert.assertEquals(1, cacheStats.getNumUsedSegments()); + Assert.assertEquals(1, cacheStats.getNumUnusedSegments()); } @Test - public void testRemoveUnpersistedPendingSegments_removesPendingSegmentCreatedbeforeSyncStart() + public void testSyncPendingSegments_removesPendingSegmentCreatedbeforeSyncStart() { final DateTime syncTime = DateTimes.nowUtc(); final String taskAllocator = "allocator1"; @@ -588,8 +478,8 @@ public void testRemoveUnpersistedPendingSegments_removesPendingSegmentCreatedbef // Remove unpersisted segments and verify that only segments which are not // present in the metadata store and were created before the sync are removed - cache.removeUnpersistedPendingSegments( - Set.of(persistedSegment.getId().toString()), + cache.syncPendingSegments( + List.of(persistedSegment), syncTime ); Assert.assertEquals( @@ -602,28 +492,31 @@ public void testRemoveUnpersistedPendingSegments_removesPendingSegmentCreatedbef public void testDeleteSegments() { final DataSegmentPlus usedSegmentPlus = createUsedSegment().asPlus(); - final String usedSegmentId = usedSegmentPlus.getDataSegment().getId().toString(); + final SegmentId usedSegmentId = usedSegmentPlus.getDataSegment().getId(); final DataSegmentPlus unusedSegmentPlus = createUnusedSegment().withVersion("v1").asPlus(); - final String unusedSegmentId = unusedSegmentPlus.getDataSegment().getId().toString(); + final SegmentId unusedSegmentId = unusedSegmentPlus.getDataSegment().getId(); - cache.addSegment(usedSegmentPlus); - cache.addSegment(unusedSegmentPlus); + cache.insertSegments(Set.of(usedSegmentPlus, unusedSegmentPlus)); Assert.assertEquals( - Set.of(usedSegmentId, unusedSegmentId), - cache.findExistingSegmentIds(Set.of(usedSegmentPlus.getDataSegment(), unusedSegmentPlus.getDataSegment())) + List.of(usedSegmentPlus), + cache.findUsedSegments(Set.of(usedSegmentId)) ); + CacheStats cacheStats = cache.markCacheSynced(); + Assert.assertEquals(1, cacheStats.getNumUsedSegments()); + Assert.assertEquals(1, cacheStats.getNumUnusedSegments()); + Assert.assertFalse(cache.isEmpty()); + Assert.assertEquals( 2, - cache.deleteSegments( - Set.of(usedSegmentPlus.getDataSegment().getId(), unusedSegmentPlus.getDataSegment().getId()) - ) - ); - Assert.assertTrue( - cache.findExistingSegmentIds(Set.of(usedSegmentPlus.getDataSegment(), unusedSegmentPlus.getDataSegment())) - .isEmpty() + cache.deleteSegments(Set.of(usedSegmentId, unusedSegmentId)) ); + + cacheStats = cache.markCacheSynced(); + Assert.assertEquals(0, cacheStats.getNumUsedSegments()); + Assert.assertEquals(0, cacheStats.getNumUnusedSegments()); + Assert.assertTrue(cache.isEmpty()); } @Test @@ -772,25 +665,28 @@ public void testDeletePendingSegmentsCreatedIn() @Test public void testMarkSegmentsWithinIntervalAsUnused() { - final Interval firstDayOfJan = FIRST_WEEK_OF_JAN.withDurationAfterStart(Duration.standardDays(1)); - final DataSegmentPlus jan1Segment - = createUsedSegment().startingAt(firstDayOfJan.getStart()).asPlus(); - final DataSegmentPlus jan2Segment - = createUsedSegment().startingAt(firstDayOfJan.getEnd()).asPlus(); - final DataSegmentPlus jan3Segment - = createUsedSegment().startingAt(firstDayOfJan.getEnd().plusDays(1)).asPlus(); - - cache.insertSegments(Set.of(jan1Segment, jan2Segment, jan3Segment)); + cache.insertSegments(Set.of(JAN_1_SEGMENT, JAN_2_SEGMENT, JAN_3_SEGMENT)); Assert.assertEquals( - Set.of(jan1Segment, jan2Segment, jan3Segment), + Set.of(JAN_1_SEGMENT, JAN_2_SEGMENT, JAN_3_SEGMENT), cache.findUsedSegmentsPlusOverlappingAnyOf(List.of(FIRST_WEEK_OF_JAN)) ); - // Mark segments as unused + // Mark segments as unused by interval Assert.assertEquals( - 2, + 1, cache.markSegmentsWithinIntervalAsUnused( - firstDayOfJan.withDurationAfterStart(Duration.standardDays(2)), + FIRST_DAY_OF_JAN.withDurationAfterStart(Duration.standardDays(1)), + null, + DateTimes.nowUtc() + ) + ); + + // Mark segment as unused by version + Assert.assertEquals( + 1, + cache.markSegmentsWithinIntervalAsUnused( + Intervals.ETERNITY, + List.of(JAN_2_SEGMENT.getDataSegment().getVersion()), DateTimes.nowUtc() ) ); @@ -798,22 +694,51 @@ public void testMarkSegmentsWithinIntervalAsUnused() // Verify that all the segment IDs are still present in cache but 2 have // been marked as unused Assert.assertEquals( - Set.of(jan3Segment), + Set.of(JAN_3_SEGMENT), cache.findUsedSegmentsPlusOverlappingAnyOf(List.of(FIRST_WEEK_OF_JAN)) ); + + final CacheStats cacheStats = cache.markCacheSynced(); + Assert.assertEquals(1, cacheStats.getNumUsedSegments()); + Assert.assertEquals(2, cacheStats.getNumUnusedSegments()); + Assert.assertEquals(3, cacheStats.getNumIntervals()); + } + + @Test + public void testMarkSegmentAsUnused() + { + cache.insertSegments(Set.of(JAN_1_SEGMENT, JAN_2_SEGMENT, JAN_3_SEGMENT)); + + cache.markSegmentAsUnused(JAN_1_SEGMENT.getDataSegment().getId(), DateTimes.nowUtc()); Assert.assertEquals( - Set.of( - jan1Segment.getDataSegment().getId().toString(), - jan2Segment.getDataSegment().getId().toString(), - jan3Segment.getDataSegment().getId().toString() - ), - cache.findExistingSegmentIds( - Set.of( - jan1Segment.getDataSegment(), - jan2Segment.getDataSegment(), - jan3Segment.getDataSegment() - ) - ) + Set.of(JAN_2_SEGMENT, JAN_3_SEGMENT), + cache.findUsedSegmentsPlusOverlappingAnyOf(List.of(FIRST_WEEK_OF_JAN)) + ); + } + + @Test + public void testMarkSegmentsAsUnused() + { + cache.insertSegments(Set.of(JAN_1_SEGMENT, JAN_2_SEGMENT, JAN_3_SEGMENT)); + + cache.markSegmentsAsUnused( + Set.of(JAN_1_SEGMENT.getDataSegment().getId(), JAN_2_SEGMENT.getDataSegment().getId()), + DateTimes.nowUtc() + ); + Assert.assertEquals( + Set.of(JAN_3_SEGMENT), + cache.findUsedSegmentsPlusOverlappingAnyOf(List.of(FIRST_WEEK_OF_JAN)) + ); + } + + @Test + public void testMarkAllSegmentsAsUnused() + { + cache.insertSegments(Set.of(JAN_1_SEGMENT, JAN_2_SEGMENT, JAN_3_SEGMENT)); + cache.markAllSegmentsAsUnused(DateTimes.nowUtc()); + Assert.assertTrue( + cache.findUsedSegmentsPlusOverlappingAnyOf(List.of(FIRST_WEEK_OF_JAN)) + .isEmpty() ); } @@ -844,4 +769,26 @@ private static CreateDataSegments createUnusedSegment() { return CreateDataSegments.ofDatasource(WIKI).markUnused(); } + + private static DataSegmentPlus updateSegment(DataSegmentPlus segment, DateTime newUpdatedTime) + { + return new DataSegmentPlus( + segment.getDataSegment(), + segment.getCreatedDate(), + newUpdatedTime, + segment.getUsed(), + segment.getSchemaFingerprint(), + segment.getNumRows(), + segment.getUpgradedFromSegmentId() + ); + } + + private static SegmentRecord asRecord(DataSegmentPlus segment) + { + return new SegmentRecord( + segment.getDataSegment().getId(), + Boolean.TRUE.equals(segment.getUsed()), + segment.getUsedStatusLastUpdatedDate() + ); + } } diff --git a/server/src/test/java/org/apache/druid/metadata/segment/cache/HeapMemorySegmentMetadataCacheTest.java b/server/src/test/java/org/apache/druid/metadata/segment/cache/HeapMemorySegmentMetadataCacheTest.java index 0b6cf606f44a..89ad8139dea3 100644 --- a/server/src/test/java/org/apache/druid/metadata/segment/cache/HeapMemorySegmentMetadataCacheTest.java +++ b/server/src/test/java/org/apache/druid/metadata/segment/cache/HeapMemorySegmentMetadataCacheTest.java @@ -32,7 +32,6 @@ import org.apache.druid.metadata.PendingSegmentRecord; import org.apache.druid.metadata.SegmentsMetadataManagerConfig; import org.apache.druid.metadata.TestDerbyConnector; -import org.apache.druid.query.DruidMetrics; import org.apache.druid.segment.TestDataSource; import org.apache.druid.segment.TestHelper; import org.apache.druid.segment.realtime.appenderator.SegmentIdWithShardSpec; @@ -50,9 +49,9 @@ import org.junit.Rule; import org.junit.Test; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.Set; public class HeapMemorySegmentMetadataCacheTest @@ -94,13 +93,13 @@ public void tearDown() /** * Creates the target {@link #cache} to be tested in the current test. */ - private void setupTargetWithCaching(boolean enabled) + private void setupTargetWithCaching(SegmentMetadataCache.UsageMode cacheMode) { if (cache != null) { throw new ISE("Test target has already been initialized with caching[%s]", cache.isEnabled()); } final SegmentsMetadataManagerConfig metadataManagerConfig - = new SegmentsMetadataManagerConfig(null, enabled); + = new SegmentsMetadataManagerConfig(null, cacheMode); cache = new HeapMemorySegmentMetadataCache( TestHelper.JSON_MAPPER, () -> metadataManagerConfig, @@ -113,7 +112,7 @@ private void setupTargetWithCaching(boolean enabled) private void setupAndSyncCache() { - setupTargetWithCaching(true); + setupTargetWithCaching(SegmentMetadataCache.UsageMode.ALWAYS); cache.start(); cache.becomeLeader(); syncCacheAfterBecomingLeader(); @@ -133,13 +132,14 @@ private void syncCacheAfterBecomingLeader() */ private void syncCache() { + serviceEmitter.flush(); pollExecutor.finishNextPendingTasks(2); } @Test public void testStart_schedulesDbPoll_ifCacheIsEnabled() { - setupTargetWithCaching(true); + setupTargetWithCaching(SegmentMetadataCache.UsageMode.ALWAYS); Assert.assertTrue(cache.isEnabled()); cache.start(); @@ -154,7 +154,7 @@ public void testStart_schedulesDbPoll_ifCacheIsEnabled() @Test public void testStart_doesNotScheduleDbPoll_ifCacheIsDisabled() { - setupTargetWithCaching(false); + setupTargetWithCaching(SegmentMetadataCache.UsageMode.NEVER); Assert.assertFalse(cache.isEnabled()); cache.start(); @@ -165,7 +165,7 @@ public void testStart_doesNotScheduleDbPoll_ifCacheIsDisabled() @Test public void testStop_stopsDbPoll_ifCacheIsEnabled() { - setupTargetWithCaching(true); + setupTargetWithCaching(SegmentMetadataCache.UsageMode.ALWAYS); Assert.assertTrue(cache.isEnabled()); cache.start(); @@ -179,7 +179,7 @@ public void testStop_stopsDbPoll_ifCacheIsEnabled() @Test public void testBecomeLeader_isNoop_ifCacheIsDisabled() { - setupTargetWithCaching(false); + setupTargetWithCaching(SegmentMetadataCache.UsageMode.NEVER); cache.start(); Assert.assertFalse(pollExecutor.hasPendingTasks()); @@ -191,7 +191,7 @@ public void testBecomeLeader_isNoop_ifCacheIsDisabled() @Test public void testBecomeLeader_throwsException_ifCacheIsStopped() { - setupTargetWithCaching(true); + setupTargetWithCaching(SegmentMetadataCache.UsageMode.ALWAYS); DruidExceptionMatcher.defensive().expectMessageIs( "Cache has not been started yet" ).assertThrowsAndMatches( @@ -202,7 +202,7 @@ public void testBecomeLeader_throwsException_ifCacheIsStopped() @Test public void testGetDataSource_throwsException_ifCacheIsDisabled() { - setupTargetWithCaching(false); + setupTargetWithCaching(SegmentMetadataCache.UsageMode.NEVER); DruidExceptionMatcher.defensive().expectMessageIs( "Segment metadata cache is not enabled." ).assertThrowsAndMatches( @@ -213,7 +213,7 @@ public void testGetDataSource_throwsException_ifCacheIsDisabled() @Test public void testGetDataSource_throwsException_ifCacheIsStoppedOrNotLeader() { - setupTargetWithCaching(true); + setupTargetWithCaching(SegmentMetadataCache.UsageMode.ALWAYS); Assert.assertTrue(cache.isEnabled()); DruidExceptionMatcher.internalServerError().expectMessageIs( @@ -233,7 +233,7 @@ public void testGetDataSource_throwsException_ifCacheIsStoppedOrNotLeader() @Test(timeout = 60_000) public void testGetDataSource_waitsForOneSync_afterBecomingLeader() throws InterruptedException { - setupTargetWithCaching(true); + setupTargetWithCaching(SegmentMetadataCache.UsageMode.ALWAYS); cache.start(); cache.becomeLeader(); @@ -318,32 +318,6 @@ public void testSync_addsUsedSegment_ifNotPresentInCache() ); } - @Test - public void testSync_addsUnusedSegment_ifNotPresentInCache() - { - setupAndSyncCache(); - - final DataSegmentPlus unusedSegmentPlus - = CreateDataSegments.ofDatasource(TestDataSource.WIKI).updatedNow().markUnused().asPlus(); - insertSegmentsInMetadataStore(Set.of(unusedSegmentPlus)); - - final SegmentId segmentId = unusedSegmentPlus.getDataSegment().getId(); - - final DatasourceSegmentCache wikiCache = cache.getDatasource(TestDataSource.WIKI); - Assert.assertNull( - wikiCache.findHighestUnusedSegmentId(segmentId.getInterval(), segmentId.getVersion()) - ); - - syncCache(); - serviceEmitter.verifyValue(Metric.UPDATED_UNUSED_SEGMENTS, 1L); - serviceEmitter.verifyValue(Metric.PERSISTED_UNUSED_SEGMENTS, 1L); - - Assert.assertEquals( - segmentId, - wikiCache.findHighestUnusedSegmentId(segmentId.getInterval(), segmentId.getVersion()) - ); - } - @Test public void testSync_emitsAlert_ifErrorOccurs() { @@ -363,7 +337,7 @@ public void testSync_emitsAlert_ifErrorOccurs() ); // Verify that sync duration is not emitted again - serviceEmitter.verifyEmitted(Metric.SYNC_DURATION_MILLIS, 1); + serviceEmitter.verifyNotEmitted(Metric.SYNC_DURATION_MILLIS); } @Test @@ -376,16 +350,17 @@ public void testSync_doesNotFail_ifSegmentRecordIsBad() .updatedNow().markUsed().asPlus(); insertSegmentsInMetadataStore(Set.of(validSegment, invalidSegment)); - // Update the second segment to have an invalid payload + // Update the second segment to have an invalid id and payload derbyConnectorRule.segments().update( - "UPDATE %1$s SET id = 'invalid' WHERE id = ?", + "UPDATE %1$s SET id = 'invalid', payload = ? WHERE id = ?", + "invalid".getBytes(StandardCharsets.UTF_8), invalidSegment.getDataSegment().getId().toString() ); // Verify that sync completes successfully and updates the valid segment setupAndSyncCache(); serviceEmitter.verifyEmitted(Metric.SYNC_DURATION_MILLIS, 1); - serviceEmitter.verifyValue(Metric.UPDATED_USED_SEGMENTS, 1L); + serviceEmitter.verifyValue(Metric.CACHED_USED_SEGMENTS, 1L); serviceEmitter.verifyValue(Metric.SKIPPED_SEGMENTS, 1L); final DatasourceSegmentCache wikiCache = cache.getDatasource(TestDataSource.WIKI); @@ -433,7 +408,7 @@ public void testSync_doesNotFail_ifPendingSegmentRecordIsBad() setupAndSyncCache(); serviceEmitter.verifyEmitted(Metric.SYNC_DURATION_MILLIS, 1); serviceEmitter.verifyValue(Metric.SKIPPED_PENDING_SEGMENTS, 1L); - serviceEmitter.verifyValue(Metric.UPDATED_USED_SEGMENTS, 1L); + serviceEmitter.verifyValue(Metric.CACHED_USED_SEGMENTS, 1L); serviceEmitter.verifyValue(Metric.PERSISTED_USED_SEGMENTS, 1L); serviceEmitter.verifyValue(Metric.PERSISTED_PENDING_SEGMENTS, 0L); @@ -467,7 +442,7 @@ public void testSync_updatesUsedSegment_ifCacheHasOlderEntry() // Add a newer version of segment to metadata store final DataSegmentPlus updatedSegment = new DataSegmentPlus( usedSegmentPlus.getDataSegment(), - null, + usedSegmentPlus.getCreatedDate(), updateTime.plus(1), true, null, @@ -487,27 +462,6 @@ public void testSync_updatesUsedSegment_ifCacheHasOlderEntry() ); } - @Test - public void testSync_updatesUnusedSegment_ifCacheHasOlderEntry() - { - setupAndSyncCache(); - final DatasourceSegmentCache wikiCache = cache.getDatasource(TestDataSource.WIKI); - - final DataSegmentPlus unusedSegment = - CreateDataSegments.ofDatasource(TestDataSource.WIKI).updatedNow().markUnused().asPlus(); - insertSegmentsInMetadataStore(Set.of(unusedSegment)); - - syncCache(); - serviceEmitter.verifyValue(Metric.PERSISTED_UNUSED_SEGMENTS, 1L); - serviceEmitter.verifyValue(Metric.UPDATED_UNUSED_SEGMENTS, 1L); - - final SegmentId segmentId = unusedSegment.getDataSegment().getId(); - Assert.assertEquals( - segmentId, - wikiCache.findHighestUnusedSegmentId(segmentId.getInterval(), segmentId.getVersion()) - ); - } - @Test public void testSync_removesUsedSegment_ifNotPresentInMetadataStore() { @@ -526,7 +480,7 @@ public void testSync_removesUsedSegment_ifNotPresentInMetadataStore() syncCache(); serviceEmitter.verifyValue(Metric.DELETED_SEGMENTS, 1L); - serviceEmitter.verifyValue(Metric.PERSISTED_USED_SEGMENTS, 0L); + serviceEmitter.verifyNotEmitted(Metric.PERSISTED_USED_SEGMENTS); Assert.assertNull( wikiCache.findUsedSegment(unpersistedSegment.getId()) @@ -534,34 +488,46 @@ public void testSync_removesUsedSegment_ifNotPresentInMetadataStore() } @Test - public void testSync_removesUnusedSegment_ifNotPresentInMetadataStore() + public void testSync_removesUnusedSegment_ifCacheHasOlderEntry() { setupAndSyncCache(); final DatasourceSegmentCache wikiCache = cache.getDatasource(TestDataSource.WIKI); + final DateTime now = DateTimes.nowUtc(); final DataSegmentPlus unpersistedSegmentPlus = - CreateDataSegments.ofDatasource(TestDataSource.WIKI).markUnused().asPlus(); + CreateDataSegments.ofDatasource(TestDataSource.WIKI).markUsed().asPlus(); wikiCache.insertSegments(Set.of(unpersistedSegmentPlus)); - - final SegmentId unusedSegmentId = unpersistedSegmentPlus.getDataSegment().getId(); - Assert.assertEquals( - unusedSegmentId, - wikiCache.findHighestUnusedSegmentId( - unusedSegmentId.getInterval(), - unusedSegmentId.getVersion() - ) - ); + wikiCache.markSegmentAsUnused(unpersistedSegmentPlus.getDataSegment().getId(), now.minusMinutes(1)); syncCache(); serviceEmitter.verifyValue(Metric.DELETED_SEGMENTS, 1L); - serviceEmitter.verifyValue(Metric.PERSISTED_USED_SEGMENTS, 0L); + serviceEmitter.verifyNotEmitted(Metric.PERSISTED_USED_SEGMENTS); + serviceEmitter.verifyNotEmitted(Metric.CACHED_USED_SEGMENTS); + serviceEmitter.verifyNotEmitted(Metric.CACHED_UNUSED_SEGMENTS); + } - Assert.assertNull( - wikiCache.findHighestUnusedSegmentId( - unusedSegmentId.getInterval(), - unusedSegmentId.getVersion() - ) - ); + @Test + public void testSync_doesNotRemoveIntervalWithOnlyUnusedSegments() + { + setupAndSyncCache(); + + final DataSegmentPlus usedSegment = + CreateDataSegments.ofDatasource(TestDataSource.WIKI).updatedNow().markUsed().asPlus(); + + final DateTime now = DateTimes.nowUtc(); + final DatasourceSegmentCache wikiCache = cache.getDatasource(TestDataSource.WIKI); + wikiCache.insertSegments(Set.of(usedSegment)); + wikiCache.markSegmentAsUnused(usedSegment.getDataSegment().getId(), now.plusMinutes(1)); + + syncCache(); + serviceEmitter.verifyValue(Metric.CACHED_UNUSED_SEGMENTS, 1L); + serviceEmitter.verifyValue(Metric.CACHED_INTERVALS, 1L); + + // Perform another sync + serviceEmitter.flush(); + syncCache(); + serviceEmitter.verifyValue(Metric.CACHED_UNUSED_SEGMENTS, 1L); + serviceEmitter.verifyValue(Metric.CACHED_INTERVALS, 1L); } @Test @@ -620,7 +586,7 @@ public void testSync_removesPendingSegment_ifNotPresentInMetadataStore() // Verify that sync removes the pending segment from the cache syncCache(); - serviceEmitter.verifyValue(Metric.PERSISTED_PENDING_SEGMENTS, 0L); + serviceEmitter.verifyNotEmitted(Metric.PERSISTED_PENDING_SEGMENTS); serviceEmitter.verifyValue(Metric.DELETED_PENDING_SEGMENTS, 1L); Assert.assertTrue( @@ -631,19 +597,6 @@ public void testSync_removesPendingSegment_ifNotPresentInMetadataStore() ); } - @Test - public void testGetDatasource_increasesTransactionCount() - { - setupAndSyncCache(); - cache.getDatasource(TestDataSource.WIKI); - cache.getDatasource(TestDataSource.WIKI); - serviceEmitter.verifyEmitted( - Metric.TRANSACTION_COUNT, - Map.of(DruidMetrics.DATASOURCE, TestDataSource.WIKI), - 2 - ); - } - private void insertSegmentsInMetadataStore(Set segments) { final String table = derbyConnectorRule.metadataTablesConfigSupplier().get().getSegmentsTable(); diff --git a/server/src/test/java/org/apache/druid/server/coordination/SegmentBootstrapperTest.java b/server/src/test/java/org/apache/druid/server/coordination/SegmentBootstrapperTest.java index fe1424e27005..ed30e1aa3af1 100644 --- a/server/src/test/java/org/apache/druid/server/coordination/SegmentBootstrapperTest.java +++ b/server/src/test/java/org/apache/druid/server/coordination/SegmentBootstrapperTest.java @@ -150,11 +150,12 @@ public void testStartStop() throws Exception Assert.assertEquals(2L, segmentManager.getDataSourceCounts().get("test_two" + i).longValue()); } - Assert.assertEquals(ImmutableList.copyOf(segments), segmentAnnouncer.getObservedSegments()); - final ImmutableList expectedBootstrapSegments = ImmutableList.copyOf(segments); - Assert.assertEquals(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegments()); - Assert.assertEquals(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegmentsLoadedIntoPageCache()); + + assertUnsortedListsAreEqual(expectedBootstrapSegments, segmentAnnouncer.getObservedSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegmentsLoadedIntoPageCache()); + Assert.assertEquals(ImmutableList.of(), cacheManager.getObservedSegments()); Assert.assertEquals(ImmutableList.of(), cacheManager.getObservedSegmentsLoadedIntoPageCache()); @@ -211,11 +212,12 @@ public void testLoadCachedSegments() throws Exception Assert.assertEquals(2L, segmentManager.getDataSourceCounts().get("test_two" + i).longValue()); } - Assert.assertEquals(ImmutableList.copyOf(segments), segmentAnnouncer.getObservedSegments()); - final ImmutableList expectedBootstrapSegments = ImmutableList.copyOf(segments); - Assert.assertEquals(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegments()); - Assert.assertEquals(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegmentsLoadedIntoPageCache()); + + assertUnsortedListsAreEqual(expectedBootstrapSegments, segmentAnnouncer.getObservedSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegmentsLoadedIntoPageCache()); + Assert.assertEquals(ImmutableList.of(), cacheManager.getObservedSegments()); Assert.assertEquals(ImmutableList.of(), cacheManager.getObservedSegmentsLoadedIntoPageCache()); @@ -270,10 +272,10 @@ public void testLoadBootstrapSegments() throws Exception final ImmutableList expectedBootstrapSegments = ImmutableList.copyOf(segments); - Assert.assertEquals(expectedBootstrapSegments, segmentAnnouncer.getObservedSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, segmentAnnouncer.getObservedSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegmentsLoadedIntoPageCache()); - Assert.assertEquals(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegments()); - Assert.assertEquals(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegmentsLoadedIntoPageCache()); serviceEmitter.verifyValue("segment/bootstrap/count", expectedBootstrapSegments.size()); serviceEmitter.verifyEmitted("segment/bootstrap/time", 1); @@ -393,10 +395,10 @@ public void testLoadOnlyRequiredBootstrapSegments() throws Exception final ImmutableList expectedBootstrapSegments = ImmutableList.of(ds1Segment2, ds1Segment1); - Assert.assertEquals(expectedBootstrapSegments, segmentAnnouncer.getObservedSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, segmentAnnouncer.getObservedSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegments()); + assertUnsortedListsAreEqual(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegmentsLoadedIntoPageCache()); - Assert.assertEquals(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegments()); - Assert.assertEquals(expectedBootstrapSegments, cacheManager.getObservedBootstrapSegmentsLoadedIntoPageCache()); serviceEmitter.verifyValue("segment/bootstrap/count", expectedBootstrapSegments.size()); serviceEmitter.verifyEmitted("segment/bootstrap/time", 1); @@ -440,4 +442,16 @@ public void testLoadBootstrapSegmentsWhenExceptionThrown() throws Exception bootstrapper.stop(); } + + /** + * Given two lists, assert they are equivalent and contain the same set of entries irrespecive of entry ordering + * @param expected The expected result list + * @param actual The actual result list + * @param Object type stored in the list parameters + */ + private static void assertUnsortedListsAreEqual(List expected, List actual) + { + Assert.assertEquals(expected.size(), actual.size()); + Assert.assertEquals(Set.copyOf(expected), Set.copyOf(actual)); + } } diff --git a/server/src/test/java/org/apache/druid/server/coordination/TestSegmentCacheManager.java b/server/src/test/java/org/apache/druid/server/coordination/TestSegmentCacheManager.java index 2cd5e8e61feb..b7cce457f136 100644 --- a/server/src/test/java/org/apache/druid/server/coordination/TestSegmentCacheManager.java +++ b/server/src/test/java/org/apache/druid/server/coordination/TestSegmentCacheManager.java @@ -30,9 +30,9 @@ import org.apache.druid.timeline.DataSegment; import org.joda.time.Interval; -import java.util.ArrayList; import java.util.List; import java.util.Set; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicInteger; /** @@ -59,11 +59,15 @@ class TestSegmentCacheManager extends NoopSegmentCacheManager TestSegmentCacheManager(final Set segmentsToCache) { this.cachedSegments = ImmutableList.copyOf(segmentsToCache); - this.observedBootstrapSegments = new ArrayList<>(); - this.observedBootstrapSegmentsLoadedIntoPageCache = new ArrayList<>(); - this.observedSegments = new ArrayList<>(); - this.observedSegmentsLoadedIntoPageCache = new ArrayList<>(); - this.observedSegmentsRemovedFromCache = new ArrayList<>(); + + // While inneficient, these CopyOnWriteArrayList objects greatly simplify meeting the thread + // safety mandate from SegmentCacheManager. For testing, this should be ok. + this.observedBootstrapSegments = new CopyOnWriteArrayList<>(); + this.observedBootstrapSegmentsLoadedIntoPageCache = new CopyOnWriteArrayList<>(); + this.observedSegments = new CopyOnWriteArrayList<>(); + this.observedSegmentsLoadedIntoPageCache = new CopyOnWriteArrayList<>(); + this.observedSegmentsRemovedFromCache = new CopyOnWriteArrayList<>(); + this.observedShutdownBootstrapCount = new AtomicInteger(0); } diff --git a/server/src/test/java/org/apache/druid/server/coordinator/duty/KillUnusedSegmentsTest.java b/server/src/test/java/org/apache/druid/server/coordinator/duty/KillUnusedSegmentsTest.java index 272ed1887ce7..1f02a5e9db97 100644 --- a/server/src/test/java/org/apache/druid/server/coordinator/duty/KillUnusedSegmentsTest.java +++ b/server/src/test/java/org/apache/druid/server/coordinator/duty/KillUnusedSegmentsTest.java @@ -111,7 +111,7 @@ public class KillUnusedSegmentsTest public void setup() { connector = derbyConnectorRule.getConnector(); - SegmentsMetadataManagerConfig config = new SegmentsMetadataManagerConfig(Period.millis(1), false); + SegmentsMetadataManagerConfig config = new SegmentsMetadataManagerConfig(Period.millis(1), null); sqlSegmentsMetadataManager = new SqlSegmentsMetadataManager( TestHelper.makeJsonMapper(), Suppliers.ofInstance(config), diff --git a/server/src/test/java/org/apache/druid/server/coordinator/simulate/TestSegmentsMetadataManager.java b/server/src/test/java/org/apache/druid/server/coordinator/simulate/TestSegmentsMetadataManager.java index 7b32560f9338..3cd7f8c0e2b8 100644 --- a/server/src/test/java/org/apache/druid/server/coordinator/simulate/TestSegmentsMetadataManager.java +++ b/server/src/test/java/org/apache/druid/server/coordinator/simulate/TestSegmentsMetadataManager.java @@ -21,6 +21,7 @@ import com.google.common.base.Optional; import com.google.common.base.Predicates; +import com.google.common.collect.Maps; import org.apache.druid.client.DataSourcesSnapshot; import org.apache.druid.client.ImmutableDruidDataSource; import org.apache.druid.metadata.SegmentsMetadataManager; @@ -54,11 +55,14 @@ public class TestSegmentsMetadataManager implements SegmentsMetadataManager private volatile DataSourcesSnapshot snapshot; private volatile boolean pollingStarted; - public void addSegment(DataSegment segment) + public boolean addSegment(DataSegment segment) { allSegments.put(segment.getId().toString(), segment); - usedSegments.put(segment.getId().toString(), segment); + boolean added = usedSegments.put(segment.getId().toString(), segment) != null; + invalidateDatasourcesSnapshot(); + + return added; } public void removeSegment(DataSegment segment) @@ -68,6 +72,16 @@ public void removeSegment(DataSegment segment) invalidateDatasourcesSnapshot(); } + public Set getAllUnusedSegments() + { + return Set.copyOf(Maps.difference(allSegments, usedSegments).entriesOnlyOnLeft().values()); + } + + public Set getAllSegments() + { + return Set.copyOf(allSegments.values()); + } + @Override public void startPollingDatabasePeriodically() { @@ -104,9 +118,9 @@ public int markAsUsedNonOvershadowedSegmentsInInterval(String dataSource, Interv } @Override - public int markAsUsedNonOvershadowedSegments(String dataSource, Set segmentIds) + public int markAsUsedNonOvershadowedSegments(String dataSource, Set segmentIds) { - return markNonOvershadowedSegmentsAsUsed(dataSource, segment -> segmentIds.contains(segment.getId().toString())); + return markNonOvershadowedSegmentsAsUsed(dataSource, segment -> segmentIds.contains(segment.getId())); } @Override diff --git a/server/src/test/java/org/apache/druid/sql/calcite/util/datasets/InputSourceBasedTestDataset.java b/server/src/test/java/org/apache/druid/sql/calcite/util/datasets/InputSourceBasedTestDataset.java index 39cd46d52ac3..d5fee57fde62 100644 --- a/server/src/test/java/org/apache/druid/sql/calcite/util/datasets/InputSourceBasedTestDataset.java +++ b/server/src/test/java/org/apache/druid/sql/calcite/util/datasets/InputSourceBasedTestDataset.java @@ -86,7 +86,8 @@ public IncrementalIndexSchema getIndexSchema() .withTimestampSpec(getDataSchema().getTimestampSpec()) .withMetrics(getDataSchema().getAggregators()) .withDimensionsSpec(getDataSchema().getDimensionsSpec()) - .withRollup(false) + .withRollup(getDataSchema().getGranularitySpec().isRollup()) + .withQueryGranularity(getDataSchema().getGranularitySpec().getQueryGranularity()) .build(); } diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidCalciteSchemaModule.java b/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidCalciteSchemaModule.java index 26d038ef4a3b..14e1fc068824 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidCalciteSchemaModule.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidCalciteSchemaModule.java @@ -22,7 +22,6 @@ import com.google.inject.Binder; import com.google.inject.Module; import com.google.inject.Provides; -import com.google.inject.Scopes; import com.google.inject.name.Named; import com.google.inject.name.Names; import org.apache.druid.guice.LazySingleton; @@ -47,15 +46,15 @@ public void configure(Binder binder) binder.bind(DruidSchemaCatalog.class) .annotatedWith(Names.named(INCOMPLETE_SCHEMA)) .toProvider(RootSchemaProvider.class) - .in(Scopes.SINGLETON); + .in(LazySingleton.class); // BrokerSegmentMetadataCache needs to listen to changes for incoming segments LifecycleModule.register(binder, BrokerSegmentMetadataCache.class); - binder.bind(DruidSchema.class).in(Scopes.SINGLETON); - binder.bind(SystemSchema.class).in(Scopes.SINGLETON); - binder.bind(InformationSchema.class).in(Scopes.SINGLETON); - binder.bind(LookupSchema.class).in(Scopes.SINGLETON); + binder.bind(DruidSchema.class).in(LazySingleton.class); + binder.bind(SystemSchema.class).in(LazySingleton.class); + binder.bind(InformationSchema.class).in(LazySingleton.class); + binder.bind(LookupSchema.class).in(LazySingleton.class); // Binder to inject different schema to Calcite SqlBindings.addSchema(binder, NamedDruidSchema.class); diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidSchema.java b/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidSchema.java index 5a8ae5ba9a8d..96cd166b1565 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidSchema.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidSchema.java @@ -25,6 +25,7 @@ import org.apache.druid.sql.calcite.table.DruidTable; import javax.inject.Inject; + import java.util.Set; public class DruidSchema extends AbstractTableSchema @@ -74,7 +75,7 @@ public Table getTable(String name) public Set getTableNames() { if (druidSchemaManager != null) { - return druidSchemaManager.getTableNames(); + return druidSchemaManager.getTableNames(segmentMetadataCache); } else { return catalogResolver.getTableNames(segmentMetadataCache.getDatasourceNames()); } diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidSchemaManager.java b/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidSchemaManager.java index 85808bb1af4a..4ea8dfb829cb 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidSchemaManager.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidSchemaManager.java @@ -44,8 +44,8 @@ public interface DruidSchemaManager /** * Return all tables known to this schema manager. Deprecated because getting * all tables is never actually needed in the current code. Calcite asks for - * the information for a single table (via {@link #getTable(String)}, or - * the list of all table names (via {@link #getTableNames()}. This + * the information for a single table (via {@link #getTable(String, BrokerSegmentMetadataCache)}, or + * the list of all table names (via {@link #getTableNames(BrokerSegmentMetadataCache)}. This * method was originally used to allow Calcite's {@link * org.apache.calcite.schema.impl.AbstractSchema AbstractSchema} class to do * the lookup. The current code implements the operations directly. For @@ -55,17 +55,12 @@ public interface DruidSchemaManager @Deprecated Map getTables(); - default DruidTable getTable(String name) - { - return getTables().get(name); - } - default DruidTable getTable(String name, BrokerSegmentMetadataCache segmentMetadataCache) { return getTables().get(name); } - default Set getTableNames() + default Set getTableNames(BrokerSegmentMetadataCache segmentMetadataCache) { return getTables().keySet(); } diff --git a/sql/src/main/java/org/apache/druid/sql/http/SqlQuery.java b/sql/src/main/java/org/apache/druid/sql/http/SqlQuery.java index 7b54ae39fadf..623570f3df23 100644 --- a/sql/src/main/java/org/apache/druid/sql/http/SqlQuery.java +++ b/sql/src/main/java/org/apache/druid/sql/http/SqlQuery.java @@ -195,4 +195,9 @@ public String toString() ", parameters=" + parameters + '}'; } + + public SqlQuery withQueryContext(Map newContext) + { + return new SqlQuery(query, resultFormat, header, typesHeader, sqlTypesHeader, newContext, parameters); + } } diff --git a/sql/src/test/java/org/apache/druid/quidem/DruidAvaticaTestDriver.java b/sql/src/test/java/org/apache/druid/quidem/DruidAvaticaTestDriver.java index 21e0cc7bd71a..df66887dfd4b 100644 --- a/sql/src/test/java/org/apache/druid/quidem/DruidAvaticaTestDriver.java +++ b/sql/src/test/java/org/apache/druid/quidem/DruidAvaticaTestDriver.java @@ -31,6 +31,7 @@ import org.apache.druid.java.util.common.StringUtils; import org.apache.druid.java.util.common.io.Closer; import org.apache.druid.server.DruidNode; +import org.apache.druid.server.SpecificSegmentsQuerySegmentWalker; import org.apache.druid.sql.avatica.AvaticaMonitor; import org.apache.druid.sql.avatica.DruidAvaticaJsonHandler; import org.apache.druid.sql.avatica.DruidMeta; @@ -86,7 +87,12 @@ public Connection connect(String url, Properties info) throws SQLException return server.getConnection(info); } catch (Exception e) { - throw new SQLException("Can't create testconnection", e); + if (e instanceof SQLException) { + throw (SQLException) e; + } + // We create an Error here so that the exception is certain to make it out of the Quidem runner because it + // captures SqlExceptions and makes the messages hard to find sometimes. + throw new Error("Can't create testconnection", e); } } @@ -100,6 +106,7 @@ public DruidConnectionExtras getConnectionExtras( ObjectMapper objectMapper, DruidHookDispatcher druidHookDispatcher, @Named("isExplainSupported") Boolean isExplainSupported, + SpecificSegmentsQuerySegmentWalker walker, Injector injector ) { @@ -107,6 +114,7 @@ public DruidConnectionExtras getConnectionExtras( objectMapper, druidHookDispatcher, isExplainSupported, + walker, injector ); } @@ -131,7 +139,6 @@ public void close() throws IOException { closer.close(); } - } static class AvaticaJettyServer implements Closeable diff --git a/sql/src/test/java/org/apache/druid/quidem/DruidConnectionExtras.java b/sql/src/test/java/org/apache/druid/quidem/DruidConnectionExtras.java index fa46e5f9d342..c87e0c968795 100644 --- a/sql/src/test/java/org/apache/druid/quidem/DruidConnectionExtras.java +++ b/sql/src/test/java/org/apache/druid/quidem/DruidConnectionExtras.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.inject.Injector; import org.apache.druid.error.DruidException; +import org.apache.druid.server.SpecificSegmentsQuerySegmentWalker; import org.apache.druid.sql.hook.DruidHookDispatcher; import java.sql.Connection; @@ -30,6 +31,8 @@ public interface DruidConnectionExtras { ObjectMapper getObjectMapper(); + SpecificSegmentsQuerySegmentWalker getWalker(); + DruidHookDispatcher getDruidHookDispatcher(); boolean isExplainSupported(); @@ -41,18 +44,21 @@ class DruidConnectionExtrasImpl implements DruidConnectionExtras private final ObjectMapper objectMapper; private final DruidHookDispatcher druidHookDispatcher; private final boolean isExplainSupported; + private final SpecificSegmentsQuerySegmentWalker walker; private final Injector injector; public DruidConnectionExtrasImpl( ObjectMapper objectMapper, DruidHookDispatcher druidHookDispatcher, boolean isExplainSupported, + SpecificSegmentsQuerySegmentWalker walker, Injector injector ) { this.objectMapper = objectMapper; this.druidHookDispatcher = druidHookDispatcher; this.isExplainSupported = isExplainSupported; + this.walker = walker; this.injector = injector; } @@ -74,6 +80,12 @@ public boolean isExplainSupported() return isExplainSupported; } + @Override + public SpecificSegmentsQuerySegmentWalker getWalker() + { + return walker; + } + @Override public Injector getInjector() { diff --git a/sql/src/test/java/org/apache/druid/quidem/DruidQuidemCommandHandler.java b/sql/src/test/java/org/apache/druid/quidem/DruidQuidemCommandHandler.java index 5bf6d18050f5..af52f4feb57e 100644 --- a/sql/src/test/java/org/apache/druid/quidem/DruidQuidemCommandHandler.java +++ b/sql/src/test/java/org/apache/druid/quidem/DruidQuidemCommandHandler.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableList; +import com.google.inject.Injector; import net.hydromatic.quidem.AbstractCommand; import net.hydromatic.quidem.Command; import net.hydromatic.quidem.CommandHandler; @@ -33,8 +34,10 @@ import org.apache.calcite.sql.SqlExplainFormat; import org.apache.calcite.sql.SqlExplainLevel; import org.apache.calcite.util.Util; +import org.apache.druid.java.util.common.StringUtils; import org.apache.druid.query.Query; import org.apache.druid.sql.calcite.BaseCalciteQueryTest; +import org.apache.druid.sql.calcite.SqlTestFrameworkConfig; import org.apache.druid.sql.calcite.rel.DruidRel; import org.apache.druid.sql.hook.DruidHook; import org.apache.druid.sql.hook.DruidHook.HookKey; @@ -46,6 +49,10 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static org.junit.Assume.assumeFalse; public class DruidQuidemCommandHandler implements CommandHandler { @@ -70,15 +77,18 @@ public Command parseCommand(List lines, List content, String lin if (line.startsWith("msqPlan")) { return new MSQPlanCommand(lines, content); } + if (line.startsWith("disabled")) { + return new DisabledCommand(lines, content, line); + } return null; } - abstract static class AbstractPlanCommand extends AbstractCommand + public abstract static class AbstractPlanCommand extends AbstractCommand { private final List content; private final List lines; - AbstractPlanCommand(List lines, List content) + public AbstractPlanCommand(List lines, List content) { this.lines = ImmutableList.copyOf(lines); this.content = content; @@ -98,6 +108,9 @@ public final void execute(Context context, boolean execute) executeExplain(context); } catch (Exception e) { + // This is packaged as an Error because Quidem grabs anything else and pushes it into the output file + // believing that you are wanting to validate the error. By repackaging it, we get a nice failure in the + // runner instead throw new Error(e); } } else { @@ -110,9 +123,7 @@ protected final List executeExplainCollectHookValues(Context context, Hoo { DruidHookDispatcher dhp = unwrapDruidHookDispatcher(context); List logged = new ArrayList<>(); - try (Closeable unhook = dhp.withHook(hook, (key, value) -> { - logged.add(value); - })) { + try (Closeable unhook = dhp.withHook(hook, (key, value) -> logged.add(value))) { executeExplainQuery(context); } return logged; @@ -160,7 +171,9 @@ protected final DruidHookDispatcher unwrapDruidHookDispatcher(Context context) protected abstract void executeExplain(Context context) throws Exception; } - /** Command that prints the plan for the current query. */ + /** + * Command that prints the plan for the current query. + */ static class NativePlanCommand extends AbstractPlanCommand { NativePlanCommand(List lines, List content) @@ -304,6 +317,61 @@ public String getCollectedHintsAsString() } } + /** + * Usage: + *

+   * !disabled StandardComponentSupplier reason for disabling
+   * 
+ */ + static class DisabledCommand extends AbstractCommand + { + private String supplierName; + private String message; + private Pattern DISABLED_PATTERN = Pattern.compile("disabled\\s+([\\w\\d]+)(\\s+([^\\s].+))?\\s*"); + + private final List content; + private final List lines; + + DisabledCommand(List lines, List content, String line) + { + super(); + this.lines = ImmutableList.copyOf(lines); + this.content = content; + Matcher m = DISABLED_PATTERN.matcher(line); + if (!m.matches()) { + throw new IllegalArgumentException("usage: !disabled []"); + } + supplierName = m.group(1); + message = buildMessage(supplierName, m.group(3)); + } + + private static String buildMessage(String supplierName, String message) + { + return StringUtils.format("Test disabled on supplier [%s]. Reason: [%s]", supplierName, message); + } + + @Override + public final void execute(Context context, boolean execute) + { + if (execute) { + try { + Injector injector = DruidConnectionExtras.unwrapOrThrow(context.connection()).getInjector(); + SqlTestFrameworkConfig cfg = injector.getInstance(SqlTestFrameworkConfig.class); + assumeFalse(message, cfg.componentSupplier.getSimpleName().equals(supplierName)); + } + catch (Exception e) { + // This is packaged as an Error because Quidem grabs anything else and pushes it into the output file + // believing that you are wanting to validate the error. By repackaging it, we get a nice failure in the + // runner instead + throw new Error(e); + } + } else { + context.echo(content); + } + context.echo(lines); + } + } + static class ConvertedPlanCommand extends AbstractRelPlanCommand { ConvertedPlanCommand(List lines, List content) @@ -311,6 +379,7 @@ static class ConvertedPlanCommand extends AbstractRelPlanCommand super(lines, content, DruidHook.CONVERTED_PLAN); } } + static class MSQPlanCommand extends AbstractStringCaptureCommand { MSQPlanCommand(List lines, List content) diff --git a/sql/src/test/java/org/apache/druid/quidem/DruidQuidemConnectionFactory.java b/sql/src/test/java/org/apache/druid/quidem/DruidQuidemConnectionFactory.java index b9a7963f4d80..6a955caa4891 100644 --- a/sql/src/test/java/org/apache/druid/quidem/DruidQuidemConnectionFactory.java +++ b/sql/src/test/java/org/apache/druid/quidem/DruidQuidemConnectionFactory.java @@ -19,15 +19,24 @@ package org.apache.druid.quidem; +import com.google.inject.Injector; import net.hydromatic.quidem.Quidem.ConnectionFactory; import net.hydromatic.quidem.Quidem.PropertyHandler; +import org.apache.druid.sql.calcite.run.SqlEngine; +import org.apache.druid.sql.calcite.util.SqlTestFramework.QueryComponentSupplier; +import org.apache.http.client.utils.URIBuilder; + +import java.net.URI; import java.sql.Connection; import java.sql.DriverManager; +import java.util.HashMap; +import java.util.Map; import java.util.Properties; public class DruidQuidemConnectionFactory implements ConnectionFactory, PropertyHandler { private Properties props = new Properties(); + private Map envs = new HashMap<>(); public DruidQuidemConnectionFactory() { @@ -38,12 +47,52 @@ public DruidQuidemConnectionFactory() @Override public Connection connect(String name, boolean reference) throws Exception { - if (name.startsWith("druidtest://")) { - return DriverManager.getConnection(name, props); + URI uri = URI.create(name); + if (uri.getScheme().endsWith("test")) { + // This property will be set by DruidQuidemTestBase to select the supplier + // for MultiComponentSupplier backed tests. + // note: caching will be based on the effective config: so if the same + // supplier is used from different MultiComponentSupplier it will be + // shared. + String customSupplier = props.getProperty("componentSupplier"); + if (customSupplier != null) { + URIBuilder builder = new URIBuilder(uri); + builder.addParameter("componentSupplier", customSupplier); + builder.setHost(""); + name = builder.build().toString(); + } + Connection connection = DriverManager.getConnection(name, props); + envs = buildEnvsForConnection(connection); + return connection; } throw new RuntimeException("unknown connection '" + name + "'"); } + private static Map buildEnvsForConnection(Connection connection) + { + Map envs = new HashMap<>(); + DruidConnectionExtras extras = DruidConnectionExtras.unwrapOrThrow(connection); + Injector injector = extras.getInjector(); + QueryComponentSupplier supplier = injector.getInstance(QueryComponentSupplier.class); + Class engineClazz = supplier.getSqlEngineClass(); + String engineName = engineClazz.getName(); + boolean isDart = engineName.contains("Dart"); + boolean isMSQ = engineName.contains("MSQ"); + boolean isNative = engineName.contains("Native"); + + envs.put("isDart", String.valueOf(isDart)); + envs.put("isMSQ", String.valueOf(isMSQ)); + envs.put("isNative", String.valueOf(isNative)); + envs.put("isTaskBased", String.valueOf(isDart || isMSQ)); + + return envs; + } + + public Object envLookup(String key) + { + return envs.get(key); + } + @Override public void onSet(String key, Object value) { diff --git a/sql/src/test/java/org/apache/druid/quidem/DruidQuidemTestBase.java b/sql/src/test/java/org/apache/druid/quidem/DruidQuidemTestBase.java index 8366d1dce9ef..7088d7b65953 100644 --- a/sql/src/test/java/org/apache/druid/quidem/DruidQuidemTestBase.java +++ b/sql/src/test/java/org/apache/druid/quidem/DruidQuidemTestBase.java @@ -19,6 +19,7 @@ package org.apache.druid.quidem; +import com.google.common.collect.Iterables; import com.google.common.io.Files; import net.hydromatic.quidem.CommandHandler; import net.hydromatic.quidem.Quidem; @@ -29,10 +30,16 @@ import org.apache.calcite.util.Util; import org.apache.commons.io.filefilter.TrueFileFilter; import org.apache.commons.io.filefilter.WildcardFileFilter; +import org.apache.druid.concurrent.Threads; +import org.apache.druid.error.DruidException; import org.apache.druid.java.util.common.FileUtils; import org.apache.druid.java.util.common.IAE; import org.apache.druid.java.util.common.RE; import org.apache.druid.java.util.common.StringUtils; +import org.apache.druid.sql.calcite.MultiComponentSupplier; +import org.apache.druid.sql.calcite.SqlTestFrameworkConfig; +import org.apache.druid.sql.calcite.util.SqlTestFramework.QueryComponentSupplier; +import org.junit.AssumptionViolatedException; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.params.ParameterizedTest; @@ -44,9 +51,14 @@ import java.io.IOException; import java.io.Reader; import java.io.Writer; +import java.nio.charset.StandardCharsets; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Set; +import java.util.function.Function; import static org.junit.jupiter.api.Assertions.fail; @@ -72,8 +84,7 @@ *
  • Copy over the .iq.out to .iq to accept the changes
  • * * - * To shorten the above 2 steps you can run the test with system property quiem.overwrite=true - * + * To shorten the above 2 steps you can run the test with system property quidem.overwrite=true */ @TestInstance(TestInstance.Lifecycle.PER_CLASS) public abstract class DruidQuidemTestBase @@ -91,7 +102,12 @@ public abstract class DruidQuidemTestBase private DruidQuidemRunner druidQuidemRunner; - public DruidQuidemTestBase() + public DruidQuidemTestBase(CommandHandler commandHandler) + { + this(new DruidQuidemRunner(commandHandler, Quidem::new)); + } + + public DruidQuidemTestBase(DruidQuidemRunner druidQuidemRunner) { String filterStr = System.getProperty(PROPERTY_FILTER, null); if (filterStr != null) { @@ -100,58 +116,170 @@ public DruidQuidemTestBase() } filter = new WildcardFileFilter(filterStr); } - druidQuidemRunner = new DruidQuidemRunner(createCommandHandler()); + this.druidQuidemRunner = druidQuidemRunner; } - /** Creates a command handler. */ - protected CommandHandler createCommandHandler() + protected static class QuidemTestCaseConfiguration { - return new DruidQuidemCommandHandler(); + final String fileName; + final String componentSupplierName; + + public QuidemTestCaseConfiguration(String componentSupplierName, String fileName) + { + this.fileName = fileName; + this.componentSupplierName = componentSupplierName; + } + + public String getTestName() + { + if (componentSupplierName == null) { + return fileName; + } else { + return StringUtils.format("%s@%s", fileName, componentSupplierName); + } + } + + @Override + public String toString() + { + return getTestName(); + } } - @ParameterizedTest - @MethodSource("getFileNames") - public void test(String testFileName) throws Exception + public List getTestConfigs() throws IOException + { + List ret = new ArrayList<>(); + List fileNames = getFileNames(); + for (String file : fileNames) { + try { + ret.addAll(getConfigurationsFor(file)); + } + catch (Exception e) { + throw DruidException.defensive(e, "While processing configurations for quidem file [%s]", file); + } + } + return ret; + } + + private List getConfigurationsFor(String testFileName) throws IOException { File inFile = new File(getTestRoot(), testFileName); + List ret = new ArrayList<>(); + for (Class supplier : collectSuppliers(inFile)) { + String supplierName = supplier == null ? null : supplier.getSimpleName(); + ret.add(new QuidemTestCaseConfiguration(supplierName, testFileName)); + } + return ret; + } + + private List> collectSuppliers(File inFile) throws IOException + { + Set> metaSuppliers = collectMetaSuppliers(inFile); + + switch (metaSuppliers.size()) { + case 0: + return Collections.singletonList(null); + case 1: + return MultiComponentSupplier.getSuppliers(Iterables.getOnlyElement(metaSuppliers)); + default: + throw DruidException.defensive("Multiple MetaComponentSuppliers found [%s].", metaSuppliers); + } + } + + private Set> collectMetaSuppliers(File inFile) throws IOException + { + Set> metaSuppliers = new HashSet<>(); + + for (String line : Files.readLines(inFile, StandardCharsets.UTF_8)) { + if (line.startsWith("!use")) { + String[] parts = line.split(" "); + if (parts.length == 2) { + SqlTestFrameworkConfig cfg = SqlTestFrameworkConfig.fromURL(parts[1]); + validateFrameworkConfig(cfg); + if (MultiComponentSupplier.class.isAssignableFrom(cfg.componentSupplier)) { + metaSuppliers.add((Class) cfg.componentSupplier); + } + } + } + } + return metaSuppliers; + } + + @SuppressWarnings("unused") + protected void validateFrameworkConfig(SqlTestFrameworkConfig cfg) + { + // no-op + } + + @ParameterizedTest + @MethodSource("getTestConfigs") + public void test(QuidemTestCaseConfiguration testConfig) throws Exception + { + final String testName = testConfig.getTestName(); + + File inFile = new File(getTestRoot(), testConfig.fileName); + final File outFile = new File(inFile.getParentFile(), testName + ".iq.out"); + try (AutoCloseable closeable = Threads.withThreadName(testName)) { + druidQuidemRunner.run(inFile, outFile, testConfig.componentSupplierName); + } + catch (Error e) { + // This catch is needed to workaround the way Quidem currently handles AssumptionViolatedException + Throwable cause = e.getCause(); + if (cause != null && cause instanceof AssumptionViolatedException) { + AssumptionViolatedException assumptionViolatedException = (AssumptionViolatedException) cause; + throw assumptionViolatedException; + } + throw e; + } - final File outFile = new File(inFile.getParentFile(), inFile.getName() + ".out"); - druidQuidemRunner.run(inFile, outFile); } public static class DruidQuidemRunner { private CommandHandler commandHandler; + private Function quidemMaker; + + public DruidQuidemRunner() + { + this(new DruidQuidemCommandHandler(), Quidem::new); + } - public DruidQuidemRunner(CommandHandler commandHandler) + public DruidQuidemRunner(CommandHandler commandHandler, Function quidemMaker) { this.commandHandler = commandHandler; + this.quidemMaker = quidemMaker; } public void run(File inFile) throws Exception { File outFile = new File(inFile.getParent(), inFile.getName() + ".out"); - run(inFile, outFile); + run(inFile, outFile, null); } - public void run(File inFile, final File outFile) throws Exception + public void run(File inFile, final File outFile, String componentSupplier) throws Exception { FileUtils.mkdirp(outFile.getParentFile()); try (Reader reader = Util.reader(inFile); - Writer writer = Util.printWriter(outFile); - Closer closer = new Closer()) { + Writer writer = Util.printWriter(outFile); + Closer closer = new Closer()) { DruidQuidemConnectionFactory connectionFactory = new DruidQuidemConnectionFactory(); + if (componentSupplier != null) { + connectionFactory.onSet("componentSupplier", componentSupplier); + } ConfigBuilder configBuilder = Quidem.configBuilder() .withConnectionFactory(connectionFactory) .withPropertyHandler(connectionFactory) + .withEnv(connectionFactory::envLookup) .withCommandHandler(commandHandler); Config config = configBuilder .withReader(reader) - .withWriter(writer).build(); + .withWriter(writer) + .withStackLimit(-1) + .build(); - new Quidem(config).execute(); + quidemMaker.apply(config).execute(); } catch (Exception e) { throw new RE(e, "Encountered exception while running [%s]", inFile); @@ -162,17 +290,33 @@ public void run(File inFile, final File outFile) throws Exception if (!diff.isEmpty()) { if (isOverwrite()) { Files.copy(outFile, inFile); + } else if (isUnsupportedComponentSupplier(diff, componentSupplier)) { + System.out.println("Skipping verification of unsupported componentSupplier " + componentSupplier); } else { fail("Files differ: " + outFile + " " + inFile + "\n" + diff); } } } + public static boolean isOverwrite() { String property = System.getProperty(OVERWRITE_PROPERTY, "false"); return property.length() == 0 || Boolean.valueOf(property); } + + private static boolean isUnsupportedComponentSupplier(String diff, String componentSupplier) + { + return diff.contains(StringUtils.format( + "Unsupported componentSupplier[%s], skipping verification of diff.", + componentSupplier + )); + } + } + + protected CommandHandler getCommandHandler() + { + return new DruidQuidemCommandHandler(); } protected final List getFileNames() throws IOException @@ -183,8 +327,12 @@ protected final List getFileNames() throws IOException if (!testRoot.exists()) { throw new FileNotFoundException(StringUtils.format("testRoot [%s] doesn't exists!", testRoot)); } - for (File f : testRoot.listFiles(this::isTestIncluded)) { - ret.add(f.getName()); + + for (File f : Files.fileTraverser().breadthFirst(testRoot)) { + if (isTestIncluded(f)) { + Path relativePath = testRoot.toPath().relativize(f.toPath()); + ret.add(relativePath.toString()); + } } if (ret.isEmpty()) { throw new IAE( @@ -200,8 +348,8 @@ protected final List getFileNames() throws IOException private boolean isTestIncluded(File f) { return !f.isDirectory() - && f.getName().endsWith(IQ_SUFFIX) - && filter.accept(f); + && f.getName().endsWith(IQ_SUFFIX) + && filter.accept(f); } protected abstract File getTestRoot(); diff --git a/sql/src/test/java/org/apache/druid/quidem/SqlQuidemTest.java b/sql/src/test/java/org/apache/druid/quidem/SqlQuidemTest.java index 9e6a965891ce..f9ae79925752 100644 --- a/sql/src/test/java/org/apache/druid/quidem/SqlQuidemTest.java +++ b/sql/src/test/java/org/apache/druid/quidem/SqlQuidemTest.java @@ -25,7 +25,7 @@ public class SqlQuidemTest extends DruidQuidemTestBase { public SqlQuidemTest() { - super(); + super(new DruidQuidemCommandHandler()); } @Override diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/BaseCalciteQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/BaseCalciteQueryTest.java index 52605f04dce7..aa8542d92bef 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/BaseCalciteQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/BaseCalciteQueryTest.java @@ -1234,6 +1234,11 @@ public static Query recursivelyClearContext(final Query query, ObjectM } final JsonNode newQueryNode = queryJsonMapper.valueToTree(newQuery); ((ObjectNode) newQueryNode).remove("context"); + JsonNode fc = ((ObjectNode) newQueryNode).get("searchFilterContext"); + if (fc != null) { + ((ObjectNode) fc).remove("nowMs"); + } + return queryJsonMapper.treeToValue(newQueryNode, Query.class); } catch (Exception e) { diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteIngestionDmlTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteIngestionDmlTest.java index 3b4c864fc659..2484c2deaf7f 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteIngestionDmlTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteIngestionDmlTest.java @@ -30,7 +30,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.inject.Binder; -import com.google.inject.Injector; import org.apache.druid.data.input.AbstractInputSource; import org.apache.druid.data.input.InputFormat; import org.apache.druid.data.input.InputSplit; @@ -48,7 +47,6 @@ import org.apache.druid.query.aggregation.hyperloglog.HyperUniquesAggregatorFactory; import org.apache.druid.segment.column.ColumnType; import org.apache.druid.segment.column.RowSignature; -import org.apache.druid.server.QueryLifecycleFactory; import org.apache.druid.server.security.AuthConfig; import org.apache.druid.server.security.AuthenticationResult; import org.apache.druid.server.security.ResourceAction; @@ -127,7 +125,7 @@ public class CalciteIngestionDmlTest extends BaseCalciteQueryTest protected boolean didTest = false; - static class IngestionDmlComponentSupplier extends StandardComponentSupplier + public static class IngestionDmlComponentSupplier extends StandardComponentSupplier { public IngestionDmlComponentSupplier(TempDirProducer tempFolderProducer) { @@ -135,9 +133,9 @@ public IngestionDmlComponentSupplier(TempDirProducer tempFolderProducer) } @Override - public SqlEngine createEngine(QueryLifecycleFactory qlf, ObjectMapper queryJsonMapper, Injector injector) + public Class getSqlEngineClass() { - return IngestionTestSqlEngine.INSTANCE; + return IngestionTestSqlEngine.class; } @Override diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteScanSignatureTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteScanSignatureTest.java index 1f50b81b51ea..02a2a168034d 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteScanSignatureTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteScanSignatureTest.java @@ -19,21 +19,20 @@ package org.apache.druid.sql.calcite; -import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableList; -import com.google.inject.Injector; +import com.google.inject.Inject; import org.apache.calcite.rel.RelRoot; import org.apache.calcite.rel.type.RelDataType; import org.apache.calcite.rel.type.RelDataTypeFactory; import org.apache.calcite.tools.ValidationException; import org.apache.druid.query.scan.ScanQuery; import org.apache.druid.segment.column.ColumnType; -import org.apache.druid.server.QueryLifecycleFactory; import org.apache.druid.sql.calcite.CalciteScanSignatureTest.ScanSignatureComponentSupplier; import org.apache.druid.sql.calcite.filtration.Filtration; import org.apache.druid.sql.calcite.planner.PlannerContext; import org.apache.druid.sql.calcite.rel.DruidQuery; import org.apache.druid.sql.calcite.run.EngineFeature; +import org.apache.druid.sql.calcite.run.NativeSqlEngine; import org.apache.druid.sql.calcite.run.QueryMaker; import org.apache.druid.sql.calcite.run.SqlEngine; import org.apache.druid.sql.calcite.util.CalciteTests; @@ -116,22 +115,20 @@ public ScanSignatureComponentSupplier(TempDirProducer tempFolderProducer) super(tempFolderProducer); } + @Override - public SqlEngine createEngine( - QueryLifecycleFactory qlf, - ObjectMapper queryJsonMapper, - Injector injector - ) + public Class getSqlEngineClass() { - // Create an engine that says yes to EngineFeature.SCAN_NEEDS_SIGNATURE. - return new ScanSignatureTestSqlEngine(super.createEngine(qlf, queryJsonMapper, injector)); + return ScanSignatureTestSqlEngine.class; } + // Create an engine that says yes to EngineFeature.SCAN_NEEDS_SIGNATURE. private static class ScanSignatureTestSqlEngine implements SqlEngine { private final SqlEngine parent; - public ScanSignatureTestSqlEngine(final SqlEngine parent) + @Inject + public ScanSignatureTestSqlEngine(final NativeSqlEngine parent) { this.parent = parent; } diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/IngestionTestSqlEngine.java b/sql/src/test/java/org/apache/druid/sql/calcite/IngestionTestSqlEngine.java index 569598af1e4e..8cb2a974e6d1 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/IngestionTestSqlEngine.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/IngestionTestSqlEngine.java @@ -20,6 +20,7 @@ package org.apache.druid.sql.calcite; import com.google.common.collect.ImmutableList; +import com.google.inject.Inject; import org.apache.calcite.rel.RelRoot; import org.apache.calcite.rel.type.RelDataType; import org.apache.calcite.rel.type.RelDataTypeFactory; @@ -37,8 +38,7 @@ public class IngestionTestSqlEngine implements SqlEngine { - public static final IngestionTestSqlEngine INSTANCE = new IngestionTestSqlEngine(); - + @Inject private IngestionTestSqlEngine() { } diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/MultiComponentSupplier.java b/sql/src/test/java/org/apache/druid/sql/calcite/MultiComponentSupplier.java new file mode 100644 index 000000000000..b6efbc9b351d --- /dev/null +++ b/sql/src/test/java/org/apache/druid/sql/calcite/MultiComponentSupplier.java @@ -0,0 +1,173 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.druid.sql.calcite; + +import com.google.inject.Module; +import org.apache.druid.error.DruidException; +import org.apache.druid.guice.DruidInjectorBuilder; +import org.apache.druid.initialization.DruidModule; +import org.apache.druid.java.util.common.io.Closer; +import org.apache.druid.query.QueryRunnerFactoryConglomerate; +import org.apache.druid.query.lookup.LookupExtractorFactoryContainerProvider; +import org.apache.druid.segment.join.JoinableFactoryWrapper; +import org.apache.druid.server.SpecificSegmentsQuerySegmentWalker; +import org.apache.druid.sql.calcite.run.SqlEngine; +import org.apache.druid.sql.calcite.util.SqlTestFramework; +import org.apache.druid.sql.calcite.util.SqlTestFramework.PlannerComponentSupplier; +import org.apache.druid.sql.calcite.util.SqlTestFramework.QueryComponentSupplier; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + +/** + * Multi supplier to run the same testcase against multiple suppliers. + * + * Usage: + * + *
    + * @ComponentSuppliers( {  RealSupplier1.class, RealSupplier2.class } )
    + * public class SomeSupplier extends MultiComponentSupplier {
    + * }
    + * 
    + */ +public abstract class MultiComponentSupplier implements QueryComponentSupplier +{ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface ComponentSuppliers + { + Class[] value(); + } + + private static final Map, Set>> + KNOWN_SUB_QUERY_COMPONENT_SUPPLIERS = new LinkedHashMap<>(); + + public static void registerComponentSupplier(Class clazz) + { + final List> subSuppliers = getSuppliers(clazz); + for (Class subSupplier : subSuppliers) { + KNOWN_SUB_QUERY_COMPONENT_SUPPLIERS.computeIfAbsent(subSupplier, ignore -> new LinkedHashSet<>()).add(clazz); + } + } + + public static Set> findParentSuppliers( + Class clazz + ) + { + return KNOWN_SUB_QUERY_COMPONENT_SUPPLIERS.get(clazz); + } + + public static List> getSuppliers(Class clazz) + { + ComponentSuppliers a = clazz.getAnnotation(ComponentSuppliers.class); + if (a == null || a.value().length == 0) { + throw DruidException.defensive("No component suppliers found [%s].", clazz.getName()); + } + return Arrays.asList(a.value()); + } + + private DruidException unsupportedException() + { + return DruidException.defensive("Unexpected call made to " + getClass().getName()); + } + + @Override + public void gatherProperties(Properties properties) + { + throw unsupportedException(); + } + + @Override + public DruidModule getCoreModule() + { + throw unsupportedException(); + } + + @Override + public DruidModule getOverrideModule() + { + throw unsupportedException(); + } + + @Override + public SpecificSegmentsQuerySegmentWalker addSegmentsToWalker(SpecificSegmentsQuerySegmentWalker walker) + { + throw unsupportedException(); + } + + @Override + public Class getSqlEngineClass() + { + throw unsupportedException(); + } + + @Override + public JoinableFactoryWrapper createJoinableFactoryWrapper(LookupExtractorFactoryContainerProvider lookupProvider) + { + throw unsupportedException(); + } + + @Override + public void finalizeTestFramework(SqlTestFramework sqlTestFramework) + { + throw unsupportedException(); + } + + @Override + public PlannerComponentSupplier getPlannerComponentSupplier() + { + throw unsupportedException(); + } + + @Override + public void configureGuice(DruidInjectorBuilder injectorBuilder, List overrideModules) + { + throw unsupportedException(); + } + + @Override + public Boolean isExplainSupported() + + { + throw unsupportedException(); + } + + @Override + public QueryRunnerFactoryConglomerate wrapConglomerate(QueryRunnerFactoryConglomerate conglomerate, + Closer resourceCloser) + { + throw unsupportedException(); + } + + @Override + public TempDirProducer getTempDirProducer() + { + throw unsupportedException(); + } +} diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/QTestCase.java b/sql/src/test/java/org/apache/druid/sql/calcite/QTestCase.java index 01714525b664..67f5bf3c2eb7 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/QTestCase.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/QTestCase.java @@ -25,7 +25,6 @@ import org.apache.druid.java.util.common.FileUtils; import org.apache.druid.java.util.common.StringUtils; import org.apache.druid.quidem.DruidQTestInfo; -import org.apache.druid.quidem.DruidQuidemCommandHandler; import org.apache.druid.quidem.DruidQuidemTestBase; import org.apache.druid.quidem.DruidQuidemTestBase.DruidQuidemRunner; import org.apache.druid.sql.calcite.QueryTestRunner.QueryRunStep; @@ -70,7 +69,7 @@ public void run() isValidTestCaseFile(testInfo.getIQFile()); } - DruidQuidemRunner runner = new DruidQuidemTestBase.DruidQuidemRunner(new DruidQuidemCommandHandler()); + DruidQuidemRunner runner = new DruidQuidemTestBase.DruidQuidemRunner(); runner.run(testInfo.getIQFile()); } catch (Exception e) { diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/SqlTestFrameworkConfig.java b/sql/src/test/java/org/apache/druid/sql/calcite/SqlTestFrameworkConfig.java index 8758871c3841..87919839a02d 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/SqlTestFrameworkConfig.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/SqlTestFrameworkConfig.java @@ -27,10 +27,10 @@ import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; +import org.apache.druid.error.DruidException; import org.apache.druid.java.util.common.IAE; import org.apache.druid.java.util.common.StringUtils; import org.apache.druid.query.topn.TopNQueryConfig; -import org.apache.druid.quidem.DruidAvaticaTestDriver; import org.apache.druid.server.QueryStackTests; import org.apache.druid.sql.calcite.util.CacheTestHelperModule.ResultCacheMode; import org.apache.druid.sql.calcite.util.FakeIndexTaskUtil; @@ -63,11 +63,11 @@ import java.net.URI; import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; -import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -458,20 +458,15 @@ private Map getNonDefaultMap() return map; } - public static SqlTestFrameworkConfig fromURL(String url) throws SQLException + public static SqlTestFrameworkConfig fromURL(String url) { Map queryParams; queryParams = new HashMap<>(); try { URI uri = new URI(url); - if (!DruidAvaticaTestDriver.SCHEME.equals(uri.getScheme())) { - throw new SQLException( - StringUtils.format("URI [%s] is invalid ; only scheme [%s] is supported.", url, DruidAvaticaTestDriver.SCHEME) - ); - } if (uri.getHost() != null || uri.getPort() != -1) { - throw new SQLException(StringUtils.format("URI [%s] is invalid ; only query parameters are supported.", url)); + throw DruidException.defensive("URI [%s] is invalid ; only query parameters are supported.", url); } List params = URLEncodedUtils.parse(uri, StandardCharsets.UTF_8); for (NameValuePair pair : params) { @@ -480,13 +475,13 @@ public static SqlTestFrameworkConfig fromURL(String url) throws SQLException // possible caveat: duplicate entries overwrite earlier ones } catch (URISyntaxException e) { - throw new SQLException("Can't decode URI", e); + throw DruidException.defensive(e, "Can't decode URI"); } return new SqlTestFrameworkConfig(queryParams); } - abstract static class ConfigOptionProcessor + public abstract static class ConfigOptionProcessor { final Class annotationClass; @@ -554,7 +549,21 @@ public Set> load(String pkg) .includePackage(pkg) .and(s -> s.contains("ComponentSupplier")) ); - return new Reflections(cfg).getSubTypesOf(QueryComponentSupplier.class); + final Set> baseComponentClazzes = + new Reflections(cfg).getSubTypesOf(QueryComponentSupplier.class); + LinkedHashSet> retVal = new LinkedHashSet<>(baseComponentClazzes); + + for (Class baseClazz : baseComponentClazzes) { + if (MultiComponentSupplier.class.isAssignableFrom(baseClazz) && baseClazz != MultiComponentSupplier.class) { + final Class multiClazz = + (Class) baseClazz; + + MultiComponentSupplier.registerComponentSupplier(multiClazz); + retVal.addAll(MultiComponentSupplier.getSuppliers(multiClazz)); + } + } + + return retVal; } }); diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/util/CalciteTests.java b/sql/src/test/java/org/apache/druid/sql/calcite/util/CalciteTests.java index cb3ceaf442d7..b2c63d3b18b7 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/util/CalciteTests.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/util/CalciteTests.java @@ -291,7 +291,11 @@ public static QueryLifecycleFactory createMockQueryLifecycleFactory( final QueryRunnerFactoryConglomerate conglomerate ) { - return QueryFrameworkUtils.createMockQueryLifecycleFactory(walker, conglomerate); + return QueryFrameworkUtils.createMockQueryLifecycleFactory( + walker, + conglomerate, + CalciteTests.TEST_AUTHORIZER_MAPPER + ); } public static SqlStatementFactory createSqlStatementFactory( @@ -396,6 +400,15 @@ NodeRole.COORDINATOR, new FakeDruidNodeDiscovery(ImmutableMap.of(NodeRole.COORDI return provider; } + public static SystemSchema createMockSystemSchema( + final DruidSchema druidSchema, + final SpecificSegmentsQuerySegmentWalker walker, + final AuthorizerMapper authorizerMapper + ) + { + return createMockSystemSchema(druidSchema, new TestTimelineServerView(walker.getSegments()), authorizerMapper); + } + public static SystemSchema createMockSystemSchema( final DruidSchema druidSchema, final TimelineServerView timelineServerView, diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/util/DruidModuleCollection.java b/sql/src/test/java/org/apache/druid/sql/calcite/util/DruidModuleCollection.java index 764f190e41bf..ec728df96808 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/util/DruidModuleCollection.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/util/DruidModuleCollection.java @@ -70,12 +70,31 @@ public final void configure(Binder binder) public static DruidModule of(Module... modules) { - return new DruidModuleCollection(Arrays.asList(modules)); + return of(Arrays.asList(modules)); } - public static DruidModule of(List modules) + public static DruidModule of(List modules) { - return new DruidModuleCollection(modules); + return new DruidModuleCollection(flatten(modules)); + } + + public static List flatten(Module... modules) + { + return flatten(Arrays.asList(modules)); + } + + public static List flatten(List modules) + { + ArrayList flattenedModules = new ArrayList<>(modules.size()); + for (Module module : modules) { + if (module instanceof DruidModuleCollection) { + DruidModuleCollection moduleCollection = (DruidModuleCollection) module; + flattenedModules.addAll(moduleCollection.subModules); + } else { + flattenedModules.add(module); + } + } + return flattenedModules; } } diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/util/QueryFrameworkUtils.java b/sql/src/test/java/org/apache/druid/sql/calcite/util/QueryFrameworkUtils.java index f61f52343987..67b5b9d11e22 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/util/QueryFrameworkUtils.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/util/QueryFrameworkUtils.java @@ -85,7 +85,8 @@ public class QueryFrameworkUtils public static QueryLifecycleFactory createMockQueryLifecycleFactory( final QuerySegmentWalker walker, - final QueryRunnerFactoryConglomerate conglomerate + final QueryRunnerFactoryConglomerate conglomerate, + final AuthorizerMapper authorizerMapper ) { return new QueryLifecycleFactory( @@ -95,7 +96,7 @@ public static QueryLifecycleFactory createMockQueryLifecycleFactory( new ServiceEmitter("dummy", "dummy", new NoopEmitter()), new NoopRequestLogger(), new AuthConfig(), - CalciteTests.TEST_AUTHORIZER_MAPPER, + authorizerMapper, Suppliers.ofInstance(new DefaultQueryConfig(ImmutableMap.of())) ); } @@ -179,7 +180,7 @@ public static DruidSchemaCatalog createMockRootSchema( ); } - static DruidSchemaCatalog createMockRootSchema( + public static DruidSchemaCatalog createMockRootSchema( final PlannerConfig plannerConfig, final ViewManager viewManager, final AuthorizerMapper authorizerMapper, @@ -243,7 +244,7 @@ public static DruidSchemaCatalog createMockRootSchema( ); } - static DruidSchema createMockSchema( + public static DruidSchema createMockSchema( final Injector injector, final QueryRunnerFactoryConglomerate conglomerate, final SpecificSegmentsQuerySegmentWalker walker, @@ -253,7 +254,7 @@ static DruidSchema createMockSchema( ) { final BrokerSegmentMetadataCache cache = new BrokerSegmentMetadataCache( - createMockQueryLifecycleFactory(walker, conglomerate), + createMockQueryLifecycleFactory(walker, conglomerate, CalciteTests.TEST_AUTHORIZER_MAPPER), timelineServerView, BrokerSegmentMetadataCacheConfig.create(), CalciteTests.TEST_AUTHENTICATOR_ESCALATOR, diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/util/SqlTestFramework.java b/sql/src/test/java/org/apache/druid/sql/calcite/util/SqlTestFramework.java index e99550d08c15..7803b9082aae 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/util/SqlTestFramework.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/util/SqlTestFramework.java @@ -28,7 +28,6 @@ import com.google.inject.Injector; import com.google.inject.Module; import com.google.inject.Provides; -import com.google.inject.TypeLiteral; import org.apache.druid.client.TestHttpClient; import org.apache.druid.client.TimelineServerView; import org.apache.druid.client.cache.Cache; @@ -45,6 +44,7 @@ import org.apache.druid.guice.SegmentWranglerModule; import org.apache.druid.guice.ServerModule; import org.apache.druid.guice.StartupInjectorBuilder; +import org.apache.druid.guice.StorageNodeModule; import org.apache.druid.guice.annotations.Global; import org.apache.druid.guice.annotations.Merging; import org.apache.druid.guice.annotations.Self; @@ -56,9 +56,7 @@ import org.apache.druid.java.util.emitter.service.ServiceEmitter; import org.apache.druid.java.util.http.client.HttpClient; import org.apache.druid.math.expr.ExprMacroTable; -import org.apache.druid.query.DefaultGenericQueryMetricsFactory; import org.apache.druid.query.DruidProcessingConfig; -import org.apache.druid.query.GenericQueryMetricsFactory; import org.apache.druid.query.GlobalTableDataSource; import org.apache.druid.query.QueryRunnerFactoryConglomerate; import org.apache.druid.query.QueryRunnerTestHelper; @@ -77,8 +75,6 @@ import org.apache.druid.query.topn.TopNQueryConfig; import org.apache.druid.quidem.ProjectPathUtils; import org.apache.druid.quidem.TestSqlModule; -import org.apache.druid.segment.DefaultColumnFormatConfig; -import org.apache.druid.segment.column.ColumnConfig; import org.apache.druid.segment.join.JoinableFactoryWrapper; import org.apache.druid.segment.realtime.ChatHandlerProvider; import org.apache.druid.segment.realtime.NoopChatHandlerProvider; @@ -87,7 +83,6 @@ import org.apache.druid.server.LocalQuerySegmentWalker; import org.apache.druid.server.QueryLifecycle; import org.apache.druid.server.QueryLifecycleFactory; -import org.apache.druid.server.QueryScheduler; import org.apache.druid.server.QueryStackTests; import org.apache.druid.server.SpecificSegmentsQuerySegmentWalker; import org.apache.druid.server.SubqueryGuardrailHelper; @@ -128,7 +123,6 @@ import org.apache.druid.utils.JvmUtils; import javax.inject.Named; - import java.io.Closeable; import java.io.File; import java.io.IOException; @@ -201,6 +195,8 @@ public interface QueryComponentSupplier extends Closeable */ void gatherProperties(Properties properties); + Class getSqlEngineClass(); + SpecificSegmentsQuerySegmentWalker addSegmentsToWalker(SpecificSegmentsQuerySegmentWalker walker); /** @@ -213,12 +209,6 @@ public interface QueryComponentSupplier extends Closeable */ DruidModule getOverrideModule(); - SqlEngine createEngine( - QueryLifecycleFactory qlf, - ObjectMapper objectMapper, - Injector injector - ); - default CatalogResolver createCatalogResolver() { return CatalogResolver.NULL_RESOLVER; @@ -226,8 +216,6 @@ default CatalogResolver createCatalogResolver() /** * Configure the JSON mapper. - * - * @see #configureGuice(DruidInjectorBuilder) for the preferred solution. */ @Deprecated default void configureJsonMapper(ObjectMapper mapper) @@ -239,6 +227,7 @@ default void configureJsonMapper(ObjectMapper mapper) void finalizeTestFramework(SqlTestFramework sqlTestFramework); PlannerComponentSupplier getPlannerComponentSupplier(); + @Override default void close() throws IOException { @@ -292,15 +281,6 @@ public SpecificSegmentsQuerySegmentWalker addSegmentsToWalker(SpecificSegmentsQu return delegate.addSegmentsToWalker(walker); } - @Override - public SqlEngine createEngine( - QueryLifecycleFactory qlf, - ObjectMapper objectMapper, - Injector injector) - { - return delegate.createEngine(qlf, objectMapper, injector); - } - @Override public void configureJsonMapper(ObjectMapper mapper) { @@ -338,8 +318,10 @@ public Boolean isExplainSupported() } @Override - public QueryRunnerFactoryConglomerate wrapConglomerate(QueryRunnerFactoryConglomerate conglomerate, - Closer resourceCloser) + public QueryRunnerFactoryConglomerate wrapConglomerate( + QueryRunnerFactoryConglomerate conglomerate, + Closer resourceCloser + ) { return delegate.wrapConglomerate(conglomerate, resourceCloser); } @@ -356,6 +338,12 @@ public DruidModule getOverrideModule() return delegate.getOverrideModule(); } + @Override + public Class getSqlEngineClass() + { + return delegate.getSqlEngineClass(); + } + @Override public TempDirProducer getTempDirProducer() { @@ -417,23 +405,180 @@ public DruidModule getCoreModule() new LookylooModule(), new SegmentWranglerModule(), new ExpressionModule(), - new QueryRunnerFactoryModule(), + DruidModule.override( + new QueryRunnerFactoryModule(), + new Module() + { + @Override + public void configure(Binder binder) + { + + } + + @Provides + @Named("isExplainSupported") + public Boolean isExplainSupported(Builder builder) + { + return builder.componentSupplier.isExplainSupported(); + } + + @Provides + public QueryComponentSupplier getQueryComponentSupplier(Builder builder) + { + return builder.componentSupplier; + } + + @Provides + @LazySingleton + GroupByQueryMetricsFactory groupByQueryMetricsFactory() + { + return DefaultGroupByQueryMetricsFactory.instance(); + } + + @Provides + @LazySingleton + public TopNQueryConfig makeTopNQueryConfig(Builder builder) + { + return new TopNQueryConfig() + { + @Override + public int getMinTopNThreshold() + { + return builder.minTopNThreshold; + } + }; + } + + @Provides + public QueryWatcher getQueryWatcher() + { + return QueryRunnerTestHelper.NOOP_QUERYWATCHER; + } + } + ), new BuiltInTypesModule(), new TestSqlModule(), - new ServerModule(), + DruidModule.override( + new ServerModule(), + new Module() + { + @Provides + @Self + @LazySingleton + public DruidNode makeSelfDruidNode() + { + return new DruidNode("druid/broker", "local-test-host", false, 12345, 443, true, false); + } + + @Override + public void configure(Binder binder) + { + } + } + ), new LifecycleModule(), - new QueryableModule(), - new SqlModule() + DruidModule.override( + new QueryableModule(), + binder -> { + TestRequestLogger testRequestLogger = new TestRequestLogger(); + binder.bind(RequestLogger.class).toInstance(testRequestLogger); + } + ), + DruidModule.override( + new SqlModule(), + new Module() + { + @Override + public void configure(Binder binder) + { + } + + @Provides + @LazySingleton + ViewManager createViewManager(Builder builder) + { + return builder.componentSupplier.getPlannerComponentSupplier().createViewManager(); + } + + @Provides + @LazySingleton + private DruidSchema makeDruidSchema( + final Injector injector, + QueryRunnerFactoryConglomerate conglomerate, + QuerySegmentWalker walker, + Builder builder, + TimelineServerView timelineServerView + ) + { + return QueryFrameworkUtils.createMockSchema( + injector, + conglomerate, + (SpecificSegmentsQuerySegmentWalker) walker, + builder.componentSupplier.getPlannerComponentSupplier().createSchemaManager(), + builder.catalogResolver, + timelineServerView + ); + } + + @Provides + @LazySingleton + private SystemSchema makeSystemSchema( + AuthorizerMapper authorizerMapper, + DruidSchema druidSchema, + TimelineServerView timelineServerView) + { + return CalciteTests.createMockSystemSchema(druidSchema, timelineServerView, authorizerMapper); + } + + @Provides + @LazySingleton + private TimelineServerView makeTimelineServerView(SpecificSegmentsQuerySegmentWalker walker) + { + return new TestTimelineServerView(walker.getSegments()); + } + + @Provides + @LazySingleton + private LookupSchema makeLookupSchema(final Injector injector) + { + return QueryFrameworkUtils.createMockLookupSchema(injector); + } + + @Provides + @LazySingleton + private DruidSchemaCatalog makeCatalog( + final PlannerConfig plannerConfig, + final ViewManager viewManager, + AuthorizerMapper authorizerMapper, + DruidSchema druidSchema, + SystemSchema systemSchema, + LookupSchema lookupSchema, + DruidOperatorTable createOperatorTable + ) + { + final DruidSchemaCatalog rootSchema = QueryFrameworkUtils.createMockRootSchema( + plannerConfig, + viewManager, + authorizerMapper, + druidSchema, + systemSchema, + lookupSchema, + createOperatorTable + ); + return rootSchema; + } + } + ), + new TestSetupModule(), + new TestSchemaSetupModule(), + new StorageNodeModule() ); } @Override public DruidModule getOverrideModule() { - return DruidModuleCollection.of( - new TestSetupModule(), - new TestSchemaSetupModule() - ); + return DruidModuleCollection.of(); } /** @@ -460,16 +605,9 @@ public SpecificSegmentsQuerySegmentWalker addSegmentsToWalker(SpecificSegmentsQu } @Override - public SqlEngine createEngine( - QueryLifecycleFactory qlf, - ObjectMapper objectMapper, - Injector injector - ) + public Class getSqlEngineClass() { - return new NativeSqlEngine( - qlf, - objectMapper - ); + return NativeSqlEngine.class; } @Override @@ -508,8 +646,10 @@ public Boolean isExplainSupported() } @Override - public QueryRunnerFactoryConglomerate wrapConglomerate(QueryRunnerFactoryConglomerate conglomerate, - Closer resourceCloser) + public QueryRunnerFactoryConglomerate wrapConglomerate( + QueryRunnerFactoryConglomerate conglomerate, + Closer resourceCloser + ) { return conglomerate; } @@ -648,6 +788,21 @@ public Builder withConfig(SqlTestFrameworkConfig config) this.config = config; return this; } + + public QueryComponentSupplier getComponentSupplier() + { + return componentSupplier; + } + + public CatalogResolver getCatalogResolver() + { + return catalogResolver; + } + + public Closer getResourceCloser() + { + return resourceCloser; + } } /** @@ -761,74 +916,52 @@ ChatHandlerProvider getChatHandlerProvider() return new NoopChatHandlerProvider(); } - @Provides - GenericQueryMetricsFactory getGenericQueryMetricsFactory() - { - return DefaultGenericQueryMetricsFactory.instance(); - } - @Override public void configure(Binder binder) { binder.bind(DruidOperatorTable.class).in(LazySingleton.class); binder.bind(DataSegment.PruneSpecsHolder.class).toInstance(DataSegment.PruneSpecsHolder.DEFAULT); - binder.bind(DefaultColumnFormatConfig.class).toInstance(new DefaultColumnFormatConfig(null, null)); - - binder.bind(new TypeLiteral>(){}) - .annotatedWith(Global.class) - .to(TestBufferPool.class); - - binder.bind(new TypeLiteral>(){}) - .annotatedWith(Merging.class) - .to(TestBufferPool.class); - - TestRequestLogger testRequestLogger = new TestRequestLogger(); - binder.bind(RequestLogger.class).toInstance(testRequestLogger); } @Provides - @Self - @LazySingleton - public DruidNode makeSelfDruidNode() + @Global + NonBlockingPool getGlobalPool(TestBufferPool pool) { - return new DruidNode("druid/broker", "local-test-host", false, 12345, 443, true, false); + return pool; } @Provides - AuthorizerMapper getAuthorizerMapper() + @Merging + BlockingPool getMergingPool(TestBufferPool pool) { - return AuthTestUtils.TEST_AUTHORIZER_MAPPER; + return pool; } @Provides - @LazySingleton - public TopNQueryConfig makeTopNQueryConfig(Builder builder) - { - return new TopNQueryConfig() - { - @Override - public int getMinTopNThreshold() - { - return builder.minTopNThreshold; - } - }; + AuthorizerMapper getAuthorizerMapper() + { + return AuthTestUtils.TEST_AUTHORIZER_MAPPER; } @Provides @LazySingleton private GroupByResourcesReservationPool makeGroupByResourcesReservationPool( final GroupByQueryConfig config, - final TestGroupByBuffers bufferPools) + final TestGroupByBuffers bufferPools + ) { return new GroupByResourcesReservationPool(bufferPools.getMergePool(), config); } @Provides @LazySingleton - private GroupingEngine makeGroupingEngine(final ObjectMapper mapper, final DruidProcessingConfig processingConfig, + private GroupingEngine makeGroupingEngine( + final ObjectMapper mapper, + final DruidProcessingConfig processingConfig, final GroupByStatsProvider statsProvider, final GroupByQueryConfig config, - final GroupByResourcesReservationPool groupByResourcesReservationPool) + final GroupByResourcesReservationPool groupByResourcesReservationPool + ) { final Supplier configSupplier = Suppliers.ofInstance(config); return new GroupingEngine( @@ -842,19 +975,12 @@ private GroupingEngine makeGroupingEngine(final ObjectMapper mapper, final Druid ); } - @Provides - @LazySingleton - GroupByQueryMetricsFactory groupByQueryMetricsFactory() - { - return DefaultGroupByQueryMetricsFactory.instance(); - } - - @Provides @LazySingleton @Merging GroupByResourcesReservationPool makeMergingGroupByResourcesReservationPool( - final GroupByResourcesReservationPool groupByResourcesReservationPool) + final GroupByResourcesReservationPool groupByResourcesReservationPool + ) { return groupByResourcesReservationPool; } @@ -895,17 +1021,11 @@ public QueryLifecycleFactory queryLifecycleFactory(final Injector injector) { return QueryFrameworkUtils.createMockQueryLifecycleFactory( injector.getInstance(QuerySegmentWalker.class), - injector.getInstance(QueryRunnerFactoryConglomerate.class) + injector.getInstance(QueryRunnerFactoryConglomerate.class), + injector.getInstance(AuthorizerMapper.class) ); } - @Provides - @LazySingleton - ViewManager createViewManager(Builder builder) - { - return builder.componentSupplier.getPlannerComponentSupplier().createViewManager(); - } - @Provides SqlTestFrameworkConfig getTestConfig(Builder builder) { @@ -918,91 +1038,10 @@ public URI getDruidTestURI(SqlTestFrameworkConfig config) { return config.getDruidTestURI(); } - - @Provides - @Named("isExplainSupported") - public Boolean isExplainSupported(Builder builder) - { - return builder.componentSupplier.isExplainSupported(); - } - - @Provides - public QueryWatcher getQueryWatcher() - { - return QueryRunnerTestHelper.NOOP_QUERYWATCHER; - } } public static class TestSchemaSetupModule implements DruidModule { - - @Provides - @LazySingleton - private DruidSchema makeDruidSchema( - final Injector injector, - QueryRunnerFactoryConglomerate conglomerate, - QuerySegmentWalker walker, - Builder builder, - TimelineServerView timelineServerView) - { - return QueryFrameworkUtils.createMockSchema( - injector, - conglomerate, - (SpecificSegmentsQuerySegmentWalker) walker, - builder.componentSupplier.getPlannerComponentSupplier().createSchemaManager(), - builder.catalogResolver, - timelineServerView - ); - } - - @Provides - @LazySingleton - private SystemSchema makeSystemSchema(AuthorizerMapper authorizerMapper, DruidSchema druidSchema, - TimelineServerView timelineServerView) - { - return CalciteTests.createMockSystemSchema(druidSchema, timelineServerView, authorizerMapper); - } - - @Provides - @LazySingleton - private TimelineServerView makeTimelineServerView(SpecificSegmentsQuerySegmentWalker walker) - { - return new TestTimelineServerView(walker.getSegments()); - } - - - @Provides - @LazySingleton - private ColumnConfig getColumnConfig() - { - return ColumnConfig.DEFAULT; - } - - @Provides - @LazySingleton - private LookupSchema makeLookupSchema(final Injector injector) - { - return QueryFrameworkUtils.createMockLookupSchema(injector); - } - - @Provides - @LazySingleton - private DruidSchemaCatalog makeCatalog(final PlannerConfig plannerConfig, final ViewManager viewManager, - AuthorizerMapper authorizerMapper, DruidSchema druidSchema, SystemSchema systemSchema, - LookupSchema lookupSchema, DruidOperatorTable createOperatorTable) - { - final DruidSchemaCatalog rootSchema = QueryFrameworkUtils.createMockRootSchema( - plannerConfig, - viewManager, - authorizerMapper, - druidSchema, - systemSchema, - lookupSchema, - createOperatorTable - ); - return rootSchema; - } - @Provides @LazySingleton public SpecificSegmentsQuerySegmentWalker specificSegmentsQuerySegmentWalker( @@ -1117,12 +1156,6 @@ public SubqueryGuardrailHelper makeSubqueryGuardrailHelper() return new SubqueryGuardrailHelper(null, JvmUtils.getRuntimeInfo().getMaxHeapSizeBytes(), 1); } - @Provides - public QueryScheduler makeQueryScheduler() - { - return QueryStackTests.DEFAULT_NOOP_SCHEDULER; - } - @Override public void configure(Binder binder) { @@ -1152,18 +1185,19 @@ private SqlTestFramework(Builder builder) // not the Druid node to which the module is scoped. .ignoreLoadScopes(); - ArrayList overrideModules = new ArrayList<>(builder.overrideModules); - - injectorBuilder.add(componentSupplier.getCoreModule()); + injectorBuilder.addAll(DruidModuleCollection.flatten(componentSupplier.getCoreModule())); injectorBuilder.addModule(binder -> binder.bind(Builder.class).toInstance(builder)); - overrideModules.add(componentSupplier.getOverrideModule()); + + ArrayList overrideModules = new ArrayList<>(builder.overrideModules); + overrideModules.addAll(DruidModuleCollection.flatten(componentSupplier.getOverrideModule())); builder.componentSupplier.configureGuice(injectorBuilder, overrideModules); ServiceInjectorBuilder serviceInjector = new ServiceInjectorBuilder(injectorBuilder); serviceInjector.addAll(overrideModules); this.injector = serviceInjector.build(); - this.engine = builder.componentSupplier.createEngine(queryLifecycleFactory(), queryJsonMapper(), injector); + this.engine = injector.getInstance(componentSupplier.getSqlEngineClass()); + componentSupplier.configureJsonMapper(queryJsonMapper()); componentSupplier.finalizeTestFramework(this); } diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/util/TestDataBuilder.java b/sql/src/test/java/org/apache/druid/sql/calcite/util/TestDataBuilder.java index 4fd90a95c32b..309030f0280e 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/util/TestDataBuilder.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/util/TestDataBuilder.java @@ -519,7 +519,7 @@ public Optional build( ) ); - private static List USER_VISIT_ROWS = ImmutableList.of( + public static List USER_VISIT_ROWS = ImmutableList.of( toRow( "2021-01-01T01:00:00Z", USER_VISIT_DIMS, @@ -1158,12 +1158,12 @@ private static MapBasedInputRow toRow(String time, List dimensions, Map< return new MapBasedInputRow(DateTimes.ISO_DATE_OPTIONAL_TIME.parse(time), dimensions, event); } - public static InputRow createRow(final ImmutableMap map) + public static InputRow createRow(final Map map) { return MapInputRowParser.parse(FOO_SCHEMA, (Map) map); } - public static InputRow createRow(final ImmutableMap map, InputRowSchema inputRowSchema) + public static InputRow createRow(final Map map, InputRowSchema inputRowSchema) { return MapInputRowParser.parse(inputRowSchema, (Map) map); } diff --git a/sql/src/test/quidem/org.apache.druid.quidem.SqlQuidemTest/customdataset.iq b/sql/src/test/quidem/org.apache.druid.quidem.SqlQuidemTest/customdataset.iq index dd3b0d43bcf4..d467cf3da286 100644 --- a/sql/src/test/quidem/org.apache.druid.quidem.SqlQuidemTest/customdataset.iq +++ b/sql/src/test/quidem/org.apache.druid.quidem.SqlQuidemTest/customdataset.iq @@ -6,7 +6,7 @@ select count(1) from "rollup-tutorial"; +--------+ | EXPR$0 | +--------+ -| 9 | +| 5 | +--------+ (1 row) diff --git a/sql/src/test/quidem/qatests/qaAggFuncs/ingest.json b/sql/src/test/quidem/qatests/qaAggFuncs/ingest.json new file mode 100644 index 000000000000..c04242dc16ac --- /dev/null +++ b/sql/src/test/quidem/qatests/qaAggFuncs/ingest.json @@ -0,0 +1,66 @@ +{ + "type": "index_parallel", + "spec": { + "ioConfig": { + "type": "index_parallel", + "inputSource": { + "type": "inline", + "data": "2020-01-01 01:01:01.000,1111111111,AAAAAAAAAA,11.11111111,111.1111111\n2020-01-01 01:01:01.000,1111111111,BBBBBBBBBB,11.11111111,111.1111111\n2020-01-01 01:01:01.000,1111111111,,11.11111111,111.1111111\n2020-01-01 01:01:01.000,2222222222,AAAAAAAAAA,22.22222222,222.2222222\n2020-01-01 01:01:01.000,2222222222,BBBBBBBBBB,22.22222222,222.2222222\n2020-01-01 01:01:01.000,2222222222,,22.22222222,222.2222222\n2020-01-01 01:01:01.000,,AAAAAAAAAA,,\n2020-01-01 01:01:01.000,,BBBBBBBBBB,,\n2020-01-01 01:01:01.000,,,,\n2020-02-01 01:01:01.000,1111111111,AAAAAAAAAA,11.11111111,111.1111111\n2020-02-01 01:01:01.000,1111111111,BBBBBBBBBB,11.11111111,111.1111111\n2020-02-01 01:01:01.000,1111111111,,11.11111111,111.1111111\n2020-02-01 01:01:01.000,2222222222,AAAAAAAAAA,22.22222222,222.2222222\n2020-02-01 01:01:01.000,2222222222,BBBBBBBBBB,22.22222222,222.2222222\n2020-02-01 01:01:01.000,2222222222,,22.22222222,222.2222222\n2020-02-01 01:01:01.000,,AAAAAAAAAA,,\n2020-02-01 01:01:01.000,,BBBBBBBBBB,,\n2020-02-01 01:01:01.000,,,,\n" + }, + "inputFormat": { + "type": "csv", + "columns": [ + "timestamp", + "tab0l0", + "tab0s0", + "tab0f0", + "tab0d0" + ], + "findColumnsFromHeader": false + } + }, + "tuningConfig": { + "type": "index_parallel", + "partitionsSpec": { + "type": "dynamic", + "maxRowsPerSegment": 10000000, + "maxTotalRows": 500000000 + }, + "maxNumConcurrentSubTasks": 1 + }, + "dataSchema": { + "dataSource": "test_agg_funcs", + "granularitySpec": { + "type": "uniform", + "queryGranularity": "NONE", + "rollup": false, + "segmentGranularity": "MONTH" + }, + "timestampSpec": { + "column": "timestamp", + "format": "auto" + }, + "dimensionsSpec": { + "dimensions": [ + { + "type": "long", + "name": "tab0l0" + }, + { + "type": "string", + "name": "tab0s0", + "createBitmapIndex": true + }, + { + "type": "float", + "name": "tab0f0" + }, + { + "type": "double", + "name": "tab0d0" + } + ] + } + } + } +} diff --git a/sql/src/test/quidem/qatests/qaArray/ops_funcs/ingest.json b/sql/src/test/quidem/qatests/qaArray/ops_funcs/ingest.json new file mode 100644 index 000000000000..6a308e89736e --- /dev/null +++ b/sql/src/test/quidem/qatests/qaArray/ops_funcs/ingest.json @@ -0,0 +1,219 @@ +{ + "type": "index_parallel", + "spec": { + "ioConfig": { + "type": "index_parallel", + "inputSource": { + "type": "inline", + "data": "{\"timestamp\":\"2022-01-01T00:00:00\",\"a_bool\":[true,false,null],\"a_int\":[1,2,null],\"a_float\":[0.1,0.2,null],\"a_str\":[\"S1\",\"S2\",null],\"a_null\":[null,null,null],\"a_empty\":[],\"a_mixed\":[true,1,0.1,\"S1\",null],\"a_nested\":[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null],[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null],[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null]]]]}\n{\"timestamp\":\"2022-01-01T00:00:00\",\"a_bool\":[true,false,null],\"a_int\":[1,2,null],\"a_float\":[0.1,0.2,null],\"a_str\":[\"S1\",\"S2\",null],\"a_null\":[null,null,null],\"a_empty\":[],\"a_mixed\":[true,1,0.1,\"S1\",null],\"a_nested\":[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null],[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null],[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null]]]]}\n{\"timestamp\":\"2022-02-01T00:00:00\",\"a_bool\":[null,false,true],\"a_int\":[null,2,1],\"a_float\":[null,0.2,0.1],\"a_str\":[null,\"S2\",\"S1\"],\"a_null\":[null,null,null],\"a_empty\":[],\"a_mixed\":[null,\"S1\",0.1,1,true],\"a_nested\":[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true]]]]}\n{\"timestamp\":\"2022-02-01T00:00:00\",\"a_bool\":[null,false,true],\"a_int\":[null,2,1],\"a_float\":[null,0.2,0.1],\"a_str\":[null,\"S2\",\"S1\"],\"a_null\":[null,null,null],\"a_empty\":[],\"a_mixed\":[null,\"S1\",0.1,1,true],\"a_nested\":[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true]]]]}\n" + }, + "inputFormat": { + "type": "json" + }, + "appendToExisting": false + }, + "tuningConfig": { + "type": "index_parallel", + "partitionsSpec": { + "type": "dynamic", + "maxRowsPerSegment": 10000000, + "maxTotalRows": 500000000 + }, + "maxNumConcurrentSubTasks": 1, + "indexSpec": { + "stringDictionaryEncoding": { + "type": "frontCoded", + "bucketSize": 4, + "formatVersion": 1 + } + } + }, + "dataSchema": { + "dataSource": "test_array", + "granularitySpec": { + "type": "uniform", + "queryGranularity": "NONE", + "rollup": false, + "segmentGranularity": "MONTH" + }, + "timestampSpec": { + "column": "timestamp", + "format": "auto" + }, + "dimensionsSpec": { + "dimensions": [ + { + "name": "a_bool", + "type": "auto" + }, + { + "name": "a_int", + "type": "auto" + }, + { + "name": "a_float", + "type": "auto" + }, + { + "name": "a_str", + "type": "auto" + }, + { + "name": "a_null", + "type": "auto" + }, + { + "name": "a_empty", + "type": "auto" + }, + { + "name": "a_mixed", + "type": "auto" + }, + { + "name": "a_nested", + "type": "auto" + }, + { + "name": "t_bool_scalar1", + "type": "auto" + }, + { + "name": "t_bool_scalar2", + "type": "auto" + }, + { + "name": "t_int_scalar1", + "type": "auto" + }, + { + "name": "t_int_scalar2", + "type": "auto" + }, + { + "name": "t_float_scalar1", + "type": "auto" + }, + { + "name": "t_float_scalar2", + "type": "auto" + }, + { + "name": "t_str_scalar1", + "type": "auto" + }, + { + "name": "t_str_scalar2", + "type": "auto" + }, + { + "name": "t_null_scalar1", + "type": "auto" + }, + { + "name": "t_null_scalar2", + "type": "auto" + }, + { + "name": "t_empty_scalar1", + "type": "auto" + }, + { + "name": "t_empty_scalar2", + "type": "auto" + }, + { + "name": "t_mixed_scalar1", + "type": "auto" + }, + { + "name": "t_mixed_scalar2", + "type": "auto" + } + ] + }, + "metricsSpec": [ + { + "name": "cnt", + "type": "count" + } + ], + "transformSpec": { + "transforms": [ + { + "type": "expression", + "name": "t_bool_scalar1", + "expression": "json_value(a_bool, '$[0]')" + }, + { + "type": "expression", + "name": "t_bool_scalar2", + "expression": "json_value(a_nested, '$[0][0]')" + }, + { + "type": "expression", + "name": "t_int_scalar1", + "expression": "json_value(a_int, '$[0]')" + }, + { + "type": "expression", + "name": "t_int_scalar2", + "expression": "json_value(a_nested, '$[1][0]')" + }, + { + "type": "expression", + "name": "t_float_scalar1", + "expression": "json_value(a_float, '$[0]')" + }, + { + "type": "expression", + "name": "t_float_scalar2", + "expression": "json_value(a_nested, '$[2][0]')" + }, + { + "type": "expression", + "name": "t_str_scalar1", + "expression": "json_value(a_str, '$[0]')" + }, + { + "type": "expression", + "name": "t_str_scalar2", + "expression": "json_value(a_nested, '$[3][0]')" + }, + { + "type": "expression", + "name": "t_null_scalar1", + "expression": "json_value(a_null, '$[0]')" + }, + { + "type": "expression", + "name": "t_null_scalar2", + "expression": "json_value(a_nested, '$[4][0]')" + }, + { + "type": "expression", + "name": "t_empty_scalar1", + "expression": "json_value(a_empty, '$[0]')" + }, + { + "type": "expression", + "name": "t_empty_scalar2", + "expression": "json_value(a_nested, '$[5][0]')" + }, + { + "type": "expression", + "name": "t_mixed_scalar1", + "expression": "json_value(a_mixed, '$[0]')" + }, + { + "type": "expression", + "name": "t_mixed_scalar2", + "expression": "json_value(a_nested, '$[6][0]')" + } + ] + } + } + }, + "context": null +} + diff --git a/sql/src/test/quidem/qatests/qaArray/sql/ingest.json b/sql/src/test/quidem/qatests/qaArray/sql/ingest.json new file mode 100644 index 000000000000..6a308e89736e --- /dev/null +++ b/sql/src/test/quidem/qatests/qaArray/sql/ingest.json @@ -0,0 +1,219 @@ +{ + "type": "index_parallel", + "spec": { + "ioConfig": { + "type": "index_parallel", + "inputSource": { + "type": "inline", + "data": "{\"timestamp\":\"2022-01-01T00:00:00\",\"a_bool\":[true,false,null],\"a_int\":[1,2,null],\"a_float\":[0.1,0.2,null],\"a_str\":[\"S1\",\"S2\",null],\"a_null\":[null,null,null],\"a_empty\":[],\"a_mixed\":[true,1,0.1,\"S1\",null],\"a_nested\":[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null],[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null],[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null]]]]}\n{\"timestamp\":\"2022-01-01T00:00:00\",\"a_bool\":[true,false,null],\"a_int\":[1,2,null],\"a_float\":[0.1,0.2,null],\"a_str\":[\"S1\",\"S2\",null],\"a_null\":[null,null,null],\"a_empty\":[],\"a_mixed\":[true,1,0.1,\"S1\",null],\"a_nested\":[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null],[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null],[[true,false,null],[1,2,null],[0.1,0.2,null],[\"S1\",\"S2\",null],[null,null,null],[],[true,1,0.1,\"S1\",null]]]]}\n{\"timestamp\":\"2022-02-01T00:00:00\",\"a_bool\":[null,false,true],\"a_int\":[null,2,1],\"a_float\":[null,0.2,0.1],\"a_str\":[null,\"S2\",\"S1\"],\"a_null\":[null,null,null],\"a_empty\":[],\"a_mixed\":[null,\"S1\",0.1,1,true],\"a_nested\":[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true]]]]}\n{\"timestamp\":\"2022-02-01T00:00:00\",\"a_bool\":[null,false,true],\"a_int\":[null,2,1],\"a_float\":[null,0.2,0.1],\"a_str\":[null,\"S2\",\"S1\"],\"a_null\":[null,null,null],\"a_empty\":[],\"a_mixed\":[null,\"S1\",0.1,1,true],\"a_nested\":[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true],[[null,false,true],[null,2,1],[null,0.2,0.1],[null,\"S2\",\"S1\"],[null,null,null],[],[null,\"S1\",0.1,1,true]]]]}\n" + }, + "inputFormat": { + "type": "json" + }, + "appendToExisting": false + }, + "tuningConfig": { + "type": "index_parallel", + "partitionsSpec": { + "type": "dynamic", + "maxRowsPerSegment": 10000000, + "maxTotalRows": 500000000 + }, + "maxNumConcurrentSubTasks": 1, + "indexSpec": { + "stringDictionaryEncoding": { + "type": "frontCoded", + "bucketSize": 4, + "formatVersion": 1 + } + } + }, + "dataSchema": { + "dataSource": "test_array", + "granularitySpec": { + "type": "uniform", + "queryGranularity": "NONE", + "rollup": false, + "segmentGranularity": "MONTH" + }, + "timestampSpec": { + "column": "timestamp", + "format": "auto" + }, + "dimensionsSpec": { + "dimensions": [ + { + "name": "a_bool", + "type": "auto" + }, + { + "name": "a_int", + "type": "auto" + }, + { + "name": "a_float", + "type": "auto" + }, + { + "name": "a_str", + "type": "auto" + }, + { + "name": "a_null", + "type": "auto" + }, + { + "name": "a_empty", + "type": "auto" + }, + { + "name": "a_mixed", + "type": "auto" + }, + { + "name": "a_nested", + "type": "auto" + }, + { + "name": "t_bool_scalar1", + "type": "auto" + }, + { + "name": "t_bool_scalar2", + "type": "auto" + }, + { + "name": "t_int_scalar1", + "type": "auto" + }, + { + "name": "t_int_scalar2", + "type": "auto" + }, + { + "name": "t_float_scalar1", + "type": "auto" + }, + { + "name": "t_float_scalar2", + "type": "auto" + }, + { + "name": "t_str_scalar1", + "type": "auto" + }, + { + "name": "t_str_scalar2", + "type": "auto" + }, + { + "name": "t_null_scalar1", + "type": "auto" + }, + { + "name": "t_null_scalar2", + "type": "auto" + }, + { + "name": "t_empty_scalar1", + "type": "auto" + }, + { + "name": "t_empty_scalar2", + "type": "auto" + }, + { + "name": "t_mixed_scalar1", + "type": "auto" + }, + { + "name": "t_mixed_scalar2", + "type": "auto" + } + ] + }, + "metricsSpec": [ + { + "name": "cnt", + "type": "count" + } + ], + "transformSpec": { + "transforms": [ + { + "type": "expression", + "name": "t_bool_scalar1", + "expression": "json_value(a_bool, '$[0]')" + }, + { + "type": "expression", + "name": "t_bool_scalar2", + "expression": "json_value(a_nested, '$[0][0]')" + }, + { + "type": "expression", + "name": "t_int_scalar1", + "expression": "json_value(a_int, '$[0]')" + }, + { + "type": "expression", + "name": "t_int_scalar2", + "expression": "json_value(a_nested, '$[1][0]')" + }, + { + "type": "expression", + "name": "t_float_scalar1", + "expression": "json_value(a_float, '$[0]')" + }, + { + "type": "expression", + "name": "t_float_scalar2", + "expression": "json_value(a_nested, '$[2][0]')" + }, + { + "type": "expression", + "name": "t_str_scalar1", + "expression": "json_value(a_str, '$[0]')" + }, + { + "type": "expression", + "name": "t_str_scalar2", + "expression": "json_value(a_nested, '$[3][0]')" + }, + { + "type": "expression", + "name": "t_null_scalar1", + "expression": "json_value(a_null, '$[0]')" + }, + { + "type": "expression", + "name": "t_null_scalar2", + "expression": "json_value(a_nested, '$[4][0]')" + }, + { + "type": "expression", + "name": "t_empty_scalar1", + "expression": "json_value(a_empty, '$[0]')" + }, + { + "type": "expression", + "name": "t_empty_scalar2", + "expression": "json_value(a_nested, '$[5][0]')" + }, + { + "type": "expression", + "name": "t_mixed_scalar1", + "expression": "json_value(a_mixed, '$[0]')" + }, + { + "type": "expression", + "name": "t_mixed_scalar2", + "expression": "json_value(a_nested, '$[6][0]')" + } + ] + } + } + }, + "context": null +} + diff --git a/sql/src/test/quidem/qatests/qaJsonCols/funcs_and_sql/ingest.json b/sql/src/test/quidem/qatests/qaJsonCols/funcs_and_sql/ingest.json new file mode 100644 index 000000000000..0077d7e2bd04 --- /dev/null +++ b/sql/src/test/quidem/qatests/qaJsonCols/funcs_and_sql/ingest.json @@ -0,0 +1,242 @@ +{ + "type": "index_parallel", + "spec": { + "ioConfig": { + "type": "index_parallel", + "inputSource": { + "type": "inline", + "data": "{\"timestamp\":\"2022-01-01T00:00:00\",\"s_str\":\"A\",\"s_num_int\":1,\"s_num_float\":0.1,\"s_bool\":true,\"s_null\":null,\"c_empty_obj\":{},\"c_empty_array\":[],\"c_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"c_empty_array_nested\":[{},[],null],\"c1\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]}]},\"c2\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]}]}}\n{\"timestamp\":\"2022-01-01T00:00:00\",\"s_str\":\"A\",\"s_num_int\":1,\"s_num_float\":0.1,\"s_bool\":true,\"s_null\":null,\"c_empty_obj\":{},\"c_empty_array\":[],\"c_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"c_empty_array_nested\":[{},[],null],\"c1\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]}]},\"c2\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null],\"a_obj\":{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},\"a_array\":[{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]},{\"a_str\":\"A\",\"a_num_int\":1,\"a_num_float\":0.1,\"a_bool\":true,\"a_null\":null,\"a_empty_obj\":{},\"a_empty_array\":[],\"a_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"a_empty_array_nested\":[{},[],null]}]}]}}\n{\"timestamp\":\"2022-02-01T00:00:00\",\"s_str\":null,\"s_num_int\":null,\"s_num_float\":null,\"s_bool\":null,\"s_null\":null,\"c_empty_obj\":null,\"c_empty_array\":null,\"c_empty_obj_nested\":null,\"c_empty_array_nested\":null,\"c1\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]}]},\"c2\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]}]}}\n{\"timestamp\":\"2022-02-01T00:00:00\",\"s_str\":null,\"s_num_int\":null,\"s_num_float\":null,\"s_bool\":null,\"s_null\":null,\"c_empty_obj\":null,\"c_empty_array\":null,\"c_empty_obj_nested\":null,\"c_empty_array_nested\":null,\"c1\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]}]},\"c2\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null],\"b_obj\":{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},\"b_array\":[{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]},{\"b_str\":\"A\",\"b_num_int\":1,\"b_num_float\":0.1,\"b_bool\":true,\"b_null\":null,\"b_empty_obj\":{},\"b_empty_array\":[],\"b_empty_obj_nested\":{\"o1\":{},\"o2\":[],\"o3\":null},\"b_empty_array_nested\":[{},[],null]}]}]}}\n" + }, + "inputFormat": { + "type": "json" + }, + "appendToExisting": false + }, + "tuningConfig": { + "type": "index_parallel", + "partitionsSpec": { + "type": "dynamic", + "maxRowsPerSegment": 100, + "maxTotalRows": 100 + }, + "maxNumConcurrentSubTasks": 2, + "indexSpec": { + "stringDictionaryEncoding": { + "type": "frontCoded", + "bucketSize": 4, + "formatVersion": 1 + } + } + }, + "dataSchema": { + "dataSource": "test_json_cols", + "granularitySpec": { + "segmentGranularity": "month", + "queryGranularity": null, + "rollup": false + }, + "timestampSpec": { + "column": "timestamp", + "format": "auto" + }, + "dimensionsSpec": { + "dimensions": [ + { + "name": "s_str", + "type": "auto" + }, + { + "name": "s_num_int", + "type": "auto" + }, + { + "name": "s_num_float", + "type": "auto" + }, + { + "name": "s_bool", + "type": "auto" + }, + { + "name": "s_null", + "type": "auto" + }, + { + "name": "c_empty_obj", + "type": "auto" + }, + { + "name": "c_empty_array", + "type": "auto" + }, + { + "name": "c_empty_obj_nested", + "type": "auto" + }, + { + "name": "c_empty_array_nested", + "type": "auto" + }, + { + "name": "c1", + "type": "auto" + }, + { + "name": "c2", + "type": "auto" + }, + { + "name": "t_obj", + "type": "auto" + }, + { + "name": "t_array", + "type": "auto" + }, + { + "name": "t_str1", + "type": "auto" + }, + { + "name": "t_num_int1", + "type": "auto" + }, + { + "name": "t_num_float1", + "type": "auto" + }, + { + "name": "t_bool1", + "type": "auto" + }, + { + "name": "t_null1", + "type": "auto" + }, + { + "name": "t_empty_obj", + "type": "auto" + }, + { + "name": "t_empty_array", + "type": "auto" + }, + { + "name": "t_str2", + "type": "auto" + }, + { + "name": "t_num_int2", + "type": "long" + }, + { + "name": "t_num_float2", + "type": "auto" + }, + { + "name": "t_bool2", + "type": "auto" + }, + { + "name": "t_null2", + "type": "auto" + }, + { + "name": "t_new", + "type": "auto" + } + ] + }, + "metricsSpec": [ + { + "name": "cnt", + "type": "count" + } + ], + "transformSpec": { + "transforms": [ + { + "type": "expression", + "name": "t_obj", + "expression": "parse_json(to_json_string(json_query(c1, '$.a_obj')))" + }, + { + "type": "expression", + "name": "t_array", + "expression": "json_query(c1, '$.a_array[0]')" + }, + { + "type": "expression", + "name": "t_str1", + "expression": "json_query(s_str, '$.')" + }, + { + "type": "expression", + "name": "t_num_int1", + "expression": "json_query(s_num_int, '$.')" + }, + { + "type": "expression", + "name": "t_num_float1", + "expression": "json_query(s_num_float, '$.')" + }, + { + "type": "expression", + "name": "t_bool1", + "expression": "json_query(s_bool, '$.')" + }, + { + "type": "expression", + "name": "t_null1", + "expression": "json_query(s_null, '$.')" + }, + { + "type": "expression", + "name": "t_empty_obj", + "expression": "json_query(c_empty_array_nested, '$[0]')" + }, + { + "type": "expression", + "name": "t_empty_array", + "expression": "json_query(c_empty_obj_nested, '$.o2')" + }, + { + "type": "expression", + "name": "t_str2", + "expression": "json_query(c1, '$.a_str')" + }, + { + "type": "expression", + "name": "t_num_int2", + "expression": "json_query(c1, '$.a_obj.a_num_int')" + }, + { + "type": "expression", + "name": "t_num_float2", + "expression": "json_query(c1, '$.a_array[0].a_num_float')" + }, + { + "type": "expression", + "name": "t_bool2", + "expression": "json_query(c1, '$.a_array[1].a_bool')" + }, + { + "type": "expression", + "name": "t_null2", + "expression": "json_query(c1, '$.a_null')" + }, + { + "type": "expression", + "name": "t_new", + "expression": "json_object('c1', c1, 'c2', c2)" + } + ] + } + } + }, + "context": { + "storeEmptyColumns": true + } +} + + diff --git a/web-console/package-lock.json b/web-console/package-lock.json index e1f48743d00c..b36595a9c73e 100644 --- a/web-console/package-lock.json +++ b/web-console/package-lock.json @@ -37,6 +37,7 @@ "json-bigint-native": "^1.2.0", "lodash.debounce": "^4.0.8", "lodash.escape": "^4.0.1", + "markdown-table-ts": "^1.0.3", "memoize-one": "^5.2.1", "numeral": "^2.0.6", "react": "^18.3.1", @@ -186,12 +187,14 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -449,17 +452,19 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -474,37 +479,28 @@ } }, "node_modules/@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.0" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -690,25 +686,33 @@ } }, "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", + "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" @@ -769,13 +773,13 @@ "dev": true }, "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -4933,6 +4937,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -5235,12 +5240,6 @@ "postcss": "^8.1.0" } }, - "node_modules/autoprefixer/node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -5258,9 +5257,9 @@ } }, "node_modules/axios": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", - "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -5765,6 +5764,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -5933,6 +5933,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -5940,7 +5941,8 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/colord": { "version": "2.9.3", @@ -8970,6 +8972,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, "engines": { "node": ">=4" } @@ -12573,12 +12576,6 @@ "shell-quote": "^1.8.1" } }, - "node_modules/launch-editor/node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -12752,6 +12749,12 @@ "tmpl": "1.0.5" } }, + "node_modules/markdown-table-ts": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/markdown-table-ts/-/markdown-table-ts-1.0.3.tgz", + "integrity": "sha512-lYrp7FXmBqpmGmsEF92WnSukdgYvLm15FPIODZOx9+3nobkxJxjBYcszqZf5VqTjBtISPSNC7zjU9o3zwpL6AQ==", + "license": "MIT" + }, "node_modules/mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -13595,6 +13598,12 @@ "node": ">=8" } }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -14598,12 +14607,6 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "node_modules/postcss/node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -16689,13 +16692,6 @@ "dev": true, "license": "MIT" }, - "node_modules/stylelint/node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, "node_modules/stylelint/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -16709,6 +16705,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -16958,14 +16955,6 @@ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -17533,12 +17522,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/update-browserslist-db/node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true - }, "node_modules/upper-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", @@ -17844,12 +17827,6 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-bundle-analyzer/node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "node_modules/webpack-cli": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", @@ -18620,12 +18597,13 @@ } }, "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" } }, "@babel/compat-data": { @@ -18823,14 +18801,14 @@ } }, "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==" }, "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==" }, "@babel/helper-validator-option": { "version": "7.23.5", @@ -18839,32 +18817,24 @@ "dev": true }, "@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", "dev": true, "requires": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" } }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "@babel/parser": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/types": "^7.27.0" } }, - "@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "dev": true - }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -18992,22 +18962,29 @@ } }, "@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", "requires": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + } } }, "@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", "dev": true, "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" } }, "@babel/traverse": { @@ -19052,13 +19029,12 @@ } }, "@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" } }, "@bcoe/v8-coverage": { @@ -21805,6 +21781,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -22007,14 +21984,6 @@ "normalize-range": "^0.1.2", "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" - }, - "dependencies": { - "picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true - } } }, "available-typed-arrays": { @@ -22027,9 +21996,9 @@ } }, "axios": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", - "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -22417,6 +22386,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -22547,6 +22517,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -22554,7 +22525,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "colord": { "version": "2.9.3", @@ -24718,7 +24690,8 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-property-descriptors": { "version": "1.0.2", @@ -27326,14 +27299,6 @@ "requires": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" - }, - "dependencies": { - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - } } }, "leven": { @@ -27480,6 +27445,11 @@ "tmpl": "1.0.5" } }, + "markdown-table-ts": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/markdown-table-ts/-/markdown-table-ts-1.0.3.tgz", + "integrity": "sha512-lYrp7FXmBqpmGmsEF92WnSukdgYvLm15FPIODZOx9+3nobkxJxjBYcszqZf5VqTjBtISPSNC7zjU9o3zwpL6AQ==" + }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -28094,6 +28064,11 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -28147,14 +28122,6 @@ "nanoid": "^3.3.7", "picocolors": "^1.1.0", "source-map-js": "^1.2.1" - }, - "dependencies": { - "picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true - } } }, "postcss-attribute-case-insensitive": { @@ -30061,12 +30028,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -30120,6 +30081,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -30304,11 +30266,6 @@ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -30656,14 +30613,6 @@ "requires": { "escalade": "^3.2.0", "picocolors": "^1.1.0" - }, - "dependencies": { - "picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true - } } }, "upper-case": { @@ -30911,12 +30860,6 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true } } }, diff --git a/web-console/package.json b/web-console/package.json index 37e67a7bcd58..789faccd4984 100644 --- a/web-console/package.json +++ b/web-console/package.json @@ -78,6 +78,7 @@ "json-bigint-native": "^1.2.0", "lodash.debounce": "^4.0.8", "lodash.escape": "^4.0.1", + "markdown-table-ts": "^1.0.3", "memoize-one": "^5.2.1", "numeral": "^2.0.6", "react": "^18.3.1", diff --git a/web-console/pom.xml b/web-console/pom.xml index ab01d0f94ab9..80974b31b00f 100644 --- a/web-console/pom.xml +++ b/web-console/pom.xml @@ -32,6 +32,12 @@ + src + script + lib + assets + e2e-tests + typings ${project.build.directory}/resources false v20.9.0 @@ -39,6 +45,13 @@ + + + org.apache.maven.extensions + maven-build-cache-extension + 1.2.0 + + com.github.eirslett diff --git a/web-console/src/utils/download.spec.ts b/web-console/src/utils/download.spec.ts index 71c051500d0d..502d361325e8 100644 --- a/web-console/src/utils/download.spec.ts +++ b/web-console/src/utils/download.spec.ts @@ -16,18 +16,129 @@ * limitations under the License. */ -import { formatForFormat } from './download'; +import { QueryResult, sane } from 'druid-query-toolkit'; + +import { queryResultsToString, stringifyCsvValue, stringifyTsvValue } from './download'; describe('download', () => { - it('.formatForFormat', () => { - expect(formatForFormat(null, 'csv')).toEqual(''); - expect(formatForFormat(null, 'tsv')).toEqual(''); - expect(formatForFormat('', 'csv')).toEqual('""'); - expect(formatForFormat('null', 'csv')).toEqual('"null"'); - expect(formatForFormat('hello\nworld', 'csv')).toEqual('"hello world"'); - expect(formatForFormat(123, 'csv')).toEqual('"123"'); - expect(formatForFormat(new Date('2021-01-02T03:04:05.678Z'), 'csv')).toEqual( - '"2021-01-02T03:04:05.678Z"', + it('stringifyCsvValue', () => { + expect(stringifyCsvValue(null)).toEqual(''); + expect(stringifyCsvValue('')).toEqual(''); + expect(stringifyCsvValue('null')).toEqual('null'); + expect(stringifyCsvValue('hello\nworld')).toEqual('hello world'); + expect(stringifyCsvValue('Jane "JD" Smith')).toEqual('"Jane ""JD"" Smith"'); + expect(stringifyCsvValue(123)).toEqual('123'); + expect(stringifyCsvValue(new Date('2021-01-02T03:04:05.678Z'))).toEqual( + '2021-01-02T03:04:05.678Z', + ); + }); + + it('stringifyTsvValue', () => { + expect(stringifyTsvValue(null)).toEqual(''); + expect(stringifyTsvValue('')).toEqual(''); + expect(stringifyTsvValue('null')).toEqual('null'); + expect(stringifyTsvValue('hello\nworld')).toEqual('hello world'); + expect(stringifyTsvValue(123)).toEqual('123'); + expect(stringifyTsvValue(new Date('2021-01-02T03:04:05.678Z'))).toEqual( + '2021-01-02T03:04:05.678Z', ); }); + + describe('queryResultsToString', () => { + /* + Data for testing: + ================= + {"name": "John, Doe", "age": 29, "city": "New York", "bio": "Loves coding\nand coffee"} + {"name": "Jane \"JD\" Smith", "age": 34, "city": "Los Angeles", "bio": "Enjoys \"live music\" and travel"} + {"name": "Michael, O'Connor", "age": 41, "city": "Chicago", "bio": "Expert in AI\\ML"} + {"name": "李四 (Li Si)", "age": 27, "city": "北京 (Beijing)", "bio": "喜欢编程和阅读"} + {"name": "O'Reilly, Patrick", "age": 45, "city": null, "bio": "\nLoves\ttabs"} + */ + + const queryResult = QueryResult.fromRawResult( + [ + ['__time', 'name', 'age', 'city', 'bio'], + ['LONG', 'STRING', 'LONG', 'STRING', 'STRING'], + ['TIMESTAMP', 'VARCHAR', 'BIGINT', 'VARCHAR', 'VARCHAR'], + [ + '1970-01-01T00:00:00.000Z', + 'Jane "JD" Smith', + 34, + 'Los Angeles', + 'Enjoys "live music" and travel', + ], + ['1970-01-01T00:00:00.000Z', 'John, Doe', 29, 'New York', 'Loves coding\nand coffee'], + ['1970-01-01T00:00:00.000Z', "Michael, O'Connor", 41, 'Chicago', 'Expert in AI\\ML'], + ['1970-01-01T00:00:00.000Z', "O'Reilly, Patrick", 45, null, '\nLoves\ttabs'], + ['1970-01-01T00:00:00.000Z', '李四 (Li Si)', 27, '北京 (Beijing)', '喜欢编程和阅读'], + ], + true, + true, + true, + true, + ); + + it('works with CSV', () => { + expect(queryResultsToString(queryResult, 'csv').replaceAll('\t', '\\t')).toEqual(sane` + __time,name,age,city,bio + 1970-01-01T00:00:00.000Z,"Jane ""JD"" Smith",34,Los Angeles,"Enjoys ""live music"" and travel" + 1970-01-01T00:00:00.000Z,"John, Doe",29,New York,Loves coding and coffee + 1970-01-01T00:00:00.000Z,"Michael, O'Connor",41,Chicago,Expert in AI\\ML + 1970-01-01T00:00:00.000Z,"O'Reilly, Patrick",45,," Loves\ttabs" + 1970-01-01T00:00:00.000Z,李四 (Li Si),27,北京 (Beijing),喜欢编程和阅读 + `); + }); + + it('works with TSV', () => { + expect(queryResultsToString(queryResult, 'tsv').replaceAll('\t', '\\t')).toEqual(sane` + __time\tname\tage\tcity\tbio + 1970-01-01T00:00:00.000Z\tJane "JD" Smith\t34\tLos Angeles\tEnjoys "live music" and travel + 1970-01-01T00:00:00.000Z\tJohn, Doe\t29\tNew York\tLoves coding and coffee + 1970-01-01T00:00:00.000Z\tMichael, O'Connor\t41\tChicago\tExpert in AI\\ML + 1970-01-01T00:00:00.000Z\tO'Reilly, Patrick\t45\t\t Loves tabs + 1970-01-01T00:00:00.000Z\t李四 (Li Si)\t27\t北京 (Beijing)\t喜欢编程和阅读 + `); + }); + + it('works with JSON', () => { + expect(queryResultsToString(queryResult, 'json')).toEqual(sane` + {"__time":"1970-01-01T00:00:00.000Z","name":"Jane \\"JD\\" Smith","age":34,"city":"Los Angeles","bio":"Enjoys \\"live music\\" and travel"} + {"__time":"1970-01-01T00:00:00.000Z","name":"John, Doe","age":29,"city":"New York","bio":"Loves coding\\nand coffee"} + {"__time":"1970-01-01T00:00:00.000Z","name":"Michael, O'Connor","age":41,"city":"Chicago","bio":"Expert in AI\\\\ML"} + {"__time":"1970-01-01T00:00:00.000Z","name":"O'Reilly, Patrick","age":45,"city":null,"bio":"\\nLoves\\ttabs"} + {"__time":"1970-01-01T00:00:00.000Z","name":"李四 (Li Si)","age":27,"city":"北京 (Beijing)","bio":"喜欢编程和阅读"} + `); + }); + + it('works with SQL', () => { + expect(queryResultsToString(queryResult, 'sql')).toEqual(sane` + SELECT + CAST("c1" AS TIMESTAMP) AS "__time", + CAST("c2" AS VARCHAR) AS "name", + CAST("c3" AS BIGINT) AS "age", + CAST("c4" AS VARCHAR) AS "city", + CAST("c5" AS VARCHAR) AS "bio" + FROM ( + VALUES + ('1970-01-01T00:00:00.000Z', 'Jane "JD" Smith', 34, 'Los Angeles', 'Enjoys "live music" and travel'), + ('1970-01-01T00:00:00.000Z', 'John, Doe', 29, 'New York', U&'Loves coding\000aand coffee'), + ('1970-01-01T00:00:00.000Z', 'Michael, O''Connor', 41, 'Chicago', 'Expert in AI\ML'), + ('1970-01-01T00:00:00.000Z', 'O''Reilly, Patrick', 45, NULL, U&'\000aLoves\0009tabs'), + ('1970-01-01T00:00:00.000Z', '李四 (Li Si)', 27, '北京 (Beijing)', '喜欢编程和阅读') + ) AS "t" ("c1", "c2", "c3", "c4", "c5") + `); + }); + + it('works with Markdown', () => { + expect(queryResultsToString(queryResult, 'markdown').replaceAll('\t', '\\t')).toEqual(sane` + | __time | name | age | city | bio | + | :----------------------- | :---------------- | --: | :----------- | :----------------------------- | + | 1970-01-01T00:00:00.000Z | Jane "JD" Smith | 34 | Los Angeles | Enjoys "live music" and travel | + | 1970-01-01T00:00:00.000Z | John, Doe | 29 | New York | Loves coding
    and coffee | + | 1970-01-01T00:00:00.000Z | Michael, O'Connor | 41 | Chicago | Expert in AI\\ML | + | 1970-01-01T00:00:00.000Z | O'Reilly, Patrick | 45 | |
    Loves\ttabs | + | 1970-01-01T00:00:00.000Z | 李四 (Li Si) | 27 | 北京 (Beijing) | 喜欢编程和阅读 | + `); + }); + }); }); diff --git a/web-console/src/utils/download.ts b/web-console/src/utils/download.ts index 40b0d95e8b91..af97801012c0 100644 --- a/web-console/src/utils/download.ts +++ b/web-console/src/utils/download.ts @@ -19,78 +19,80 @@ import type { QueryResult } from 'druid-query-toolkit'; import FileSaver from 'file-saver'; import * as JSONBig from 'json-bigint-native'; +import { Align, getMarkdownTable } from 'markdown-table-ts'; import { copyAndAlert, stringifyValue } from './general'; import { queryResultToValuesQuery } from './values-query'; -export type Format = 'csv' | 'tsv' | 'json' | 'sql'; - -export function downloadUrl(url: string, filename: string) { - // Create a link and set the URL using `createObjectURL` - const link = document.createElement('a'); - link.style.display = 'none'; - link.href = url; - link.download = filename; - document.body.appendChild(link); - link.click(); - - // To make this work on Firefox we need to wait - // a little while before removing it. - setTimeout(() => { - if (!link.parentNode) return; - link.parentNode.removeChild(link); - }, 0); -} - -export function formatForFormat(s: null | string | number | Date, format: 'csv' | 'tsv'): string { +export type FileFormat = 'csv' | 'tsv' | 'json' | 'sql' | 'markdown'; +export const FILE_FORMATS: FileFormat[] = ['csv', 'tsv', 'json', 'sql', 'markdown']; + +const FILE_FORMAT_TO_MIME_TYPE: Record = { + csv: 'text/csv', + tsv: 'text/tab-separated-values', + json: 'application/json', + sql: 'text/plain', + markdown: 'text/markdown', +}; + +export const FILE_FORMAT_TO_LABEL: Record = { + csv: 'CSV', + tsv: 'TSV', + json: 'JSON (new line delimited)', + sql: 'SQL (VALUES)', + markdown: 'Markdown table', +}; + +export function stringifyCsvValue(s: null | string | number | Date): string { if (s == null) return ''; + const str = stringifyValue(s).replace(/\r?\n/g, ' ').replace(/"/g, '""'); - // stringify and remove line break - const str = stringifyValue(s).replace(/(?:\r\n|\r|\n)/g, ' '); - - if (format === 'csv') { - // csv: single quote => double quote, handle ',' - return `"${str.replace(/"/g, '""')}"`; - } else { - // tsv: single quote => double quote, \t => '' - return str.replace(/\t/g, '').replace(/"/g, '""'); + if (/["\n\t,]/.test(str)) { + return `"${str}"`; } + + return str; } -export function downloadFile(text: string, type: string, filename: string): void { - let blobType; - switch (type) { - case 'json': - blobType = 'application/json'; - break; - case 'tsv': - blobType = 'text/tab-separated-values'; - break; - default: - // csv - blobType = `text/${type}`; - break; - } +export function stringifyTsvValue(s: null | string | number | Date): string { + if (s == null) return ''; + return stringifyValue(s).replace(/\r?\n|\t/g, ' '); +} - const blob = new Blob([text], { - type: blobType, - }); +export function stringifyMarkdownValue(s: null | string | number | Date): string { + if (s == null) return ''; + return stringifyValue(s).replace(/\r?\n/g, '
    '); +} + +function queryResultToDsv( + queryResult: QueryResult, + delimiter: string, + valueFormatter: (v: any) => string, +): string { + return [ + queryResult.header.map(column => valueFormatter(column.name)).join(delimiter), + ...queryResult.rows.map(row => row.map(cell => valueFormatter(cell)).join(delimiter)), + ].join('\n'); +} - FileSaver.saveAs(blob, filename); +export function downloadFile(text: string, fileFormat: FileFormat, filename: string): void { + FileSaver.saveAs( + new Blob([text], { + type: FILE_FORMAT_TO_MIME_TYPE[fileFormat], + }), + filename, + ); } -function queryResultsToString(queryResult: QueryResult, format: Format): string { +export function queryResultsToString(queryResult: QueryResult, format: FileFormat): string { const { header, rows } = queryResult; switch (format) { case 'csv': - case 'tsv': { - const separator = format === 'csv' ? ',' : '\t'; - return [ - header.map(column => formatForFormat(column.name, format)).join(separator), - ...rows.map(r => r.map(cell => formatForFormat(cell, format)).join(separator)), - ].join('\n'); - } + return queryResultToDsv(queryResult, ',', stringifyCsvValue); + + case 'tsv': + return queryResultToDsv(queryResult, '\t', stringifyTsvValue); case 'sql': return queryResultToValuesQuery(queryResult).toString(); @@ -101,6 +103,15 @@ function queryResultsToString(queryResult: QueryResult, format: Format): string .map(r => JSONBig.stringify(r)) .join('\n'); + case 'markdown': + return getMarkdownTable({ + table: { + head: header.map(column => column.name), + body: rows.map(row => row.map(stringifyMarkdownValue)), + }, + alignment: header.map(column => (column.isNumeric() ? Align.Right : Align.Left)), + }); + default: throw new Error(`unknown format: ${format}`); } @@ -109,13 +120,16 @@ function queryResultsToString(queryResult: QueryResult, format: Format): string export function downloadQueryResults( queryResult: QueryResult, filename: string, - format: Format, + fileFormat: FileFormat, ): void { - const resultString: string = queryResultsToString(queryResult, format); - downloadFile(resultString, format, filename); + const resultString: string = queryResultsToString(queryResult, fileFormat); + downloadFile(resultString, fileFormat, filename); } -export function copyQueryResultsToClipboard(queryResult: QueryResult, format: Format): void { - const resultString: string = queryResultsToString(queryResult, format); +export function copyQueryResultsToClipboard( + queryResult: QueryResult, + fileFormat: FileFormat, +): void { + const resultString: string = queryResultsToString(queryResult, fileFormat); copyAndAlert(resultString, 'Query results copied to clipboard'); } diff --git a/web-console/src/utils/general.tsx b/web-console/src/utils/general.tsx index 8af818664fd1..d204c7a89e07 100644 --- a/web-console/src/utils/general.tsx +++ b/web-console/src/utils/general.tsx @@ -458,6 +458,23 @@ export function findMap( return filterMap(xs, f)[0]; } +export function minBy(xs: T[], f: (item: T, index: number) => number): T | undefined { + if (!xs.length) return undefined; + + let minItem = xs[0]; + let minValue = f(xs[0], 0); + + for (let i = 1; i < xs.length; i++) { + const currentValue = f(xs[i], i); + if (currentValue < minValue) { + minValue = currentValue; + minItem = xs[i]; + } + } + + return minItem; +} + export function changeByIndex( xs: readonly T[], i: number, diff --git a/web-console/src/utils/query-manager/query-manager.ts b/web-console/src/utils/query-manager/query-manager.ts index 0b7fcf5680ed..b7cbf3ab1c5d 100644 --- a/web-console/src/utils/query-manager/query-manager.ts +++ b/web-console/src/utils/query-manager/query-manager.ts @@ -39,6 +39,7 @@ export interface QueryManagerOptions { cancelToken: CancelToken, ) => Promise | ResultWithAuxiliaryWork>; onStateChange?: (queryResolve: QueryState) => void; + debounceInit?: number; debounceIdle?: number; debounceLoading?: number; backgroundStatusCheckInitDelay?: number; @@ -78,6 +79,7 @@ export class QueryManager { private state: QueryState; private currentQueryId = 0; + private readonly runWhenInit: () => void | Promise; private readonly runWhenIdle: () => void | Promise; private readonly runWhenLoading: () => void | Promise; @@ -88,6 +90,11 @@ export class QueryManager { this.backgroundStatusCheckInitDelay = options.backgroundStatusCheckInitDelay || 500; this.backgroundStatusCheckDelay = options.backgroundStatusCheckDelay || 1000; this.swallowBackgroundError = options.swallowBackgroundError; + if (options.debounceInit !== 0) { + this.runWhenInit = debounce(this.run, options.debounceInit || 50); + } else { + this.runWhenInit = this.run; + } if (options.debounceIdle !== 0) { this.runWhenIdle = debounce(this.run, options.debounceIdle || 100); } else { @@ -257,7 +264,11 @@ export class QueryManager { }), ); - void this.runWhenIdle(); + if (this.lastQuery) { + void this.runWhenIdle(); + } else { + void this.runWhenInit(); + } } } diff --git a/web-console/src/views/explore-view/components/column-picker-menu/column-picker-menu.tsx b/web-console/src/views/explore-view/components/column-picker-menu/column-picker-menu.tsx index 7634cbae4ccd..597df5c4d817 100644 --- a/web-console/src/views/explore-view/components/column-picker-menu/column-picker-menu.tsx +++ b/web-console/src/views/explore-view/components/column-picker-menu/column-picker-menu.tsx @@ -17,13 +17,14 @@ */ import type { IconName } from '@blueprintjs/core'; -import { Icon, InputGroup, Menu, MenuItem } from '@blueprintjs/core'; +import { ContextMenu, Icon, InputGroup, Menu, MenuItem } from '@blueprintjs/core'; import { IconNames } from '@blueprintjs/icons'; import classNames from 'classnames'; import type { Column } from 'druid-query-toolkit'; +import { C } from 'druid-query-toolkit'; import { useState } from 'react'; -import { caseInsensitiveContains, columnToIcon, filterMap } from '../../../../utils'; +import { caseInsensitiveContains, columnToIcon, copyAndAlert, filterMap } from '../../../../utils'; import './column-picker-menu.scss'; @@ -66,17 +67,33 @@ export const ColumnPickerMenu = function ColumnPickerMenu(props: ColumnPickerMen /> )} {filterMap(columns, (c, i) => { - if (!caseInsensitiveContains(c.name, columnSearch)) return; + const columnName = c.name; + if (!caseInsensitiveContains(columnName, columnSearch)) return; const iconName = rightIconForColumn?.(c); return ( - } - onClick={() => onSelectColumn(c)} - shouldDismissPopover={shouldDismissPopover} - /> + content={ + + copyAndAlert(String(columnName), `Copied to clipboard`)} + /> + copyAndAlert(String(C(columnName)), `Copied to clipboard`)} + /> + + } + > + } + onClick={() => onSelectColumn(c)} + shouldDismissPopover={shouldDismissPopover} + /> + ); })} diff --git a/web-console/src/views/explore-view/components/filter-pane/filter-menu/contains-filter-control/contains-filter-control.tsx b/web-console/src/views/explore-view/components/filter-pane/filter-menu/contains-filter-control/contains-filter-control.tsx index b3b6892bb4bd..15b9a75cadc4 100644 --- a/web-console/src/views/explore-view/components/filter-pane/filter-menu/contains-filter-control/contains-filter-control.tsx +++ b/web-console/src/views/explore-view/components/filter-pane/filter-menu/contains-filter-control/contains-filter-control.tsx @@ -30,6 +30,7 @@ import './contains-filter-control.scss'; export interface ContainsFilterControlProps { querySource: QuerySource; + extraFilter: SqlExpression; filter: SqlExpression; filterPattern: ContainsFilterPattern; setFilterPattern(filterPattern: ContainsFilterPattern): void; @@ -39,7 +40,7 @@ export interface ContainsFilterControlProps { export const ContainsFilterControl = React.memo(function ContainsFilterControl( props: ContainsFilterControlProps, ) { - const { querySource, filter, filterPattern, setFilterPattern, runSqlQuery } = props; + const { querySource, extraFilter, filter, filterPattern, setFilterPattern, runSqlQuery } = props; const { column, negated, contains } = filterPattern; const previewQuery = useMemo( @@ -47,6 +48,7 @@ export const ContainsFilterControl = React.memo(function ContainsFilterControl( querySource .getInitQuery( SqlExpression.and( + extraFilter, filter, contains ? filterPatternToExpression(filterPattern) : undefined, ), @@ -56,7 +58,7 @@ export const ContainsFilterControl = React.memo(function ContainsFilterControl( .changeLimitValue(101) .toString(), // eslint-disable-next-line react-hooks/exhaustive-deps -- exclude 'makePattern' from deps - [querySource.query, filter, column, contains, negated], + [querySource.query, extraFilter, filter, column, contains, negated], ); const [previewState] = useQueryManager({ diff --git a/web-console/src/views/explore-view/components/filter-pane/filter-menu/filter-menu.tsx b/web-console/src/views/explore-view/components/filter-pane/filter-menu/filter-menu.tsx index b5f5ee2fc9b7..39cff40d2a97 100644 --- a/web-console/src/views/explore-view/components/filter-pane/filter-menu/filter-menu.tsx +++ b/web-console/src/views/explore-view/components/filter-pane/filter-menu/filter-menu.tsx @@ -108,6 +108,7 @@ type FilterMenuTab = 'compose' | 'sql'; export interface FilterMenuProps { querySource: QuerySource; + extraFilter: SqlExpression; filter: SqlExpression; initPattern?: FilterPattern; onPatternChange(newPattern: FilterPattern): void; @@ -121,6 +122,7 @@ export interface FilterMenuProps { export const FilterMenu = React.memo(function FilterMenu(props: FilterMenuProps) { const { querySource, + extraFilter, filter, initPattern, onPatternChange, @@ -136,8 +138,18 @@ export const FilterMenu = React.memo(function FilterMenu(props: FilterMenuProps) initPattern?.type === 'custom' ? filterPatternToExpression(initPattern).toString() : '', ); const [pattern, setPattern] = useState(initPattern); + const [issue, setIssue] = useState(); const { columns } = querySource; + function setFilterPatternOrIssue(pattern: FilterPattern | undefined, issue: string | undefined) { + if (pattern) { + setPattern(pattern); + setIssue(undefined); + } else { + setIssue(issue || 'Issue'); + } + } + function onAcceptPattern(pattern: FilterPattern) { onPatternChange(pattern); onClose(); @@ -151,6 +163,7 @@ export const FilterMenu = React.memo(function FilterMenu(props: FilterMenuProps) cont = ( ); break; @@ -281,6 +297,7 @@ export const FilterMenu = React.memo(function FilterMenu(props: FilterMenuProps) active={tab === 'sql'} onClick={() => { setFormula(pattern ? filterPatternToExpression(pattern).toString() : ''); + setIssue(undefined); setTab('sql'); }} /> @@ -416,8 +433,17 @@ export const FilterMenu = React.memo(function FilterMenu(props: FilterMenuProps) intent={Intent.PRIMARY} text="Apply" disabled={tab === 'sql' && formula === ''} + data-tooltip={issue ? `Issue: ${issue}` : undefined} onClick={() => { if (tab === 'compose') { + if (issue) { + AppToaster.show({ + message: issue, + intent: Intent.DANGER, + }); + return; + } + if (pattern) { onAcceptPattern(pattern); } diff --git a/web-console/src/views/explore-view/components/filter-pane/filter-menu/regexp-filter-control/regexp-filter-control.tsx b/web-console/src/views/explore-view/components/filter-pane/filter-menu/regexp-filter-control/regexp-filter-control.tsx index 23d67ff2ec5a..fa0820667e2d 100644 --- a/web-console/src/views/explore-view/components/filter-pane/filter-menu/regexp-filter-control/regexp-filter-control.tsx +++ b/web-console/src/views/explore-view/components/filter-pane/filter-menu/regexp-filter-control/regexp-filter-control.tsx @@ -39,6 +39,7 @@ function regexpIssue(possibleRegexp: string): string | undefined { export interface RegexpFilterControlProps { querySource: QuerySource; + extraFilter: SqlExpression; filter: SqlExpression; filterPattern: RegexpFilterPattern; setFilterPattern(filterPattern: RegexpFilterPattern): void; @@ -48,21 +49,25 @@ export interface RegexpFilterControlProps { export const RegexpFilterControl = React.memo(function RegexpFilterControl( props: RegexpFilterControlProps, ) { - const { querySource, filter, filterPattern, setFilterPattern, runSqlQuery } = props; + const { querySource, extraFilter, filter, filterPattern, setFilterPattern, runSqlQuery } = props; const { column, negated, regexp } = filterPattern; const previewQuery = useMemo( () => querySource .getInitQuery( - SqlExpression.and(filter, regexp ? filterPatternToExpression(filterPattern) : undefined), + SqlExpression.and( + extraFilter, + filter, + regexp ? filterPatternToExpression(filterPattern) : undefined, + ), ) .addSelect(F.cast(C(column), 'VARCHAR').as('c'), { addToGroupBy: 'end' }) .changeOrderByExpression(F.count().toOrderByExpression('DESC')) .changeLimitValue(101) .toString(), // eslint-disable-next-line react-hooks/exhaustive-deps -- exclude 'makePattern' from deps - [querySource.query, filter, column, regexp, negated], + [querySource.query, extraFilter, filter, column, regexp, negated], ); const [previewState] = useQueryManager({ diff --git a/web-console/src/views/explore-view/components/filter-pane/filter-menu/time-interval-filter-control/time-interval-filter-control.tsx b/web-console/src/views/explore-view/components/filter-pane/filter-menu/time-interval-filter-control/time-interval-filter-control.tsx index 9200ee9e07e1..36bee8702838 100644 --- a/web-console/src/views/explore-view/components/filter-pane/filter-menu/time-interval-filter-control/time-interval-filter-control.tsx +++ b/web-console/src/views/explore-view/components/filter-pane/filter-menu/time-interval-filter-control/time-interval-filter-control.tsx @@ -18,35 +18,69 @@ import { FormGroup } from '@blueprintjs/core'; import type { TimeIntervalFilterPattern } from 'druid-query-toolkit'; -import React from 'react'; +import React, { useState } from 'react'; import type { QuerySource } from '../../../../models'; -import { UtcDateInput } from '../../../utc-date-input/utc-date-input'; +import { IsoDateInput } from '../../../iso-date-input/iso-date-input'; import './time-interval-filter-control.scss'; +function isSwappedFilterPattern(pattern: TimeIntervalFilterPattern) { + return pattern.end <= pattern.start; +} + export interface TimeIntervalFilterControlProps { querySource: QuerySource; filterPattern: TimeIntervalFilterPattern; - setFilterPattern(filterPattern: TimeIntervalFilterPattern): void; + setFilterPatternOrIssue( + filterPattern: TimeIntervalFilterPattern | undefined, + issue: string | undefined, + ): void; + onIssue(issue: string): void; } export const TimeIntervalFilterControl = React.memo(function TimeIntervalFilterControl( props: TimeIntervalFilterControlProps, ) { - const { filterPattern, setFilterPattern } = props; - const { start, end } = filterPattern; + const { filterPattern, setFilterPatternOrIssue, onIssue } = props; + const [swappedFilterPattern, setSwappedFilterPattern] = useState< + TimeIntervalFilterPattern | undefined + >(); + const { start, end } = swappedFilterPattern || filterPattern; return (
    - setFilterPattern({ ...filterPattern, start })} + onChange={start => { + const newPattern = { ...filterPattern, start }; + if (isSwappedFilterPattern(newPattern)) { + setSwappedFilterPattern(newPattern); + setFilterPatternOrIssue(undefined, 'Start date must be before end date'); + } else { + setSwappedFilterPattern(undefined); + setFilterPatternOrIssue(newPattern, undefined); + } + }} + onIssue={() => onIssue('Bad start date')} /> - setFilterPattern({ ...filterPattern, end })} /> + { + const newPattern = { ...filterPattern, end }; + if (isSwappedFilterPattern(newPattern)) { + setSwappedFilterPattern(newPattern); + setFilterPatternOrIssue(undefined, 'End date must be after start date'); + } else { + setSwappedFilterPattern(undefined); + setFilterPatternOrIssue(newPattern, undefined); + } + }} + onIssue={() => onIssue('Bad end date')} + />
    ); diff --git a/web-console/src/views/explore-view/components/filter-pane/filter-menu/values-filter-control/values-filter-control.tsx b/web-console/src/views/explore-view/components/filter-pane/filter-menu/values-filter-control/values-filter-control.tsx index f14851f081fb..cf4701fe4563 100644 --- a/web-console/src/views/explore-view/components/filter-pane/filter-menu/values-filter-control/values-filter-control.tsx +++ b/web-console/src/views/explore-view/components/filter-pane/filter-menu/values-filter-control/values-filter-control.tsx @@ -16,16 +16,16 @@ * limitations under the License. */ -import { FormGroup, Menu, MenuItem } from '@blueprintjs/core'; +import { ContextMenu, FormGroup, Menu, MenuItem } from '@blueprintjs/core'; import { IconNames } from '@blueprintjs/icons'; import type { CancelToken } from 'axios'; import type { QueryResult, SqlQuery, ValuesFilterPattern } from 'druid-query-toolkit'; -import { C, F, SqlExpression } from 'druid-query-toolkit'; +import { C, F, L, SqlExpression } from 'druid-query-toolkit'; import React, { useMemo, useState } from 'react'; import { ClearableInput } from '../../../../../../components'; import { useQueryManager } from '../../../../../../hooks'; -import { caseInsensitiveContains, filterMap, toggle } from '../../../../../../utils'; +import { caseInsensitiveContains, copyAndAlert, filterMap, toggle } from '../../../../../../utils'; import type { QuerySource } from '../../../../models'; import { ColumnValue } from '../../../column-value/column-value'; @@ -33,6 +33,7 @@ import './values-filter-control.scss'; export interface ValuesFilterControlProps { querySource: QuerySource; + extraFilter: SqlExpression; filter: SqlExpression; filterPattern: ValuesFilterPattern; setFilterPattern(filterPattern: ValuesFilterPattern): void; @@ -42,7 +43,7 @@ export interface ValuesFilterControlProps { export const ValuesFilterControl = React.memo(function ValuesFilterControl( props: ValuesFilterControlProps, ) { - const { querySource, filter, filterPattern, setFilterPattern, runSqlQuery } = props; + const { querySource, extraFilter, filter, filterPattern, setFilterPattern, runSqlQuery } = props; const { column, negated, values: selectedValues } = filterPattern; const [initValues] = useState(selectedValues); const [searchString, setSearchString] = useState(''); @@ -52,6 +53,7 @@ export const ValuesFilterControl = React.memo(function ValuesFilterControl( querySource .getInitQuery( SqlExpression.and( + extraFilter, filter, searchString ? F('ICONTAINS_STRING', C(column), searchString) : undefined, ), @@ -61,7 +63,7 @@ export const ValuesFilterControl = React.memo(function ValuesFilterControl( .changeLimitValue(101) .toString(), // eslint-disable-next-line react-hooks/exhaustive-deps - [querySource.query, filter, column, searchString], + [querySource.query, extraFilter, filter, column, searchString], ); const [valuesState] = useQueryManager({ @@ -90,24 +92,39 @@ export const ValuesFilterControl = React.memo(function ValuesFilterControl( {filterMap(valuesToShow, (v, i) => { if (!caseInsensitiveContains(v, searchString)) return; return ( - + copyAndAlert(String(v), `Copied to clipboard`)} + /> + copyAndAlert(String(L(v)), `Copied to clipboard`)} + /> + } - text={} - shouldDismissPopover={false} - onClick={e => { - setFilterPattern({ - ...filterPattern, - values: e.altKey ? [v] : toggle(selectedValues, v), - }); - }} - /> + > + } + shouldDismissPopover={false} + onClick={e => { + setFilterPattern({ + ...filterPattern, + values: e.altKey ? [v] : toggle(selectedValues, v), + }); + }} + /> + ); })} {valuesState.loading && } diff --git a/web-console/src/views/explore-view/components/filter-pane/filter-pane.tsx b/web-console/src/views/explore-view/components/filter-pane/filter-pane.tsx index cab39295b9fe..fa62e0d65cde 100644 --- a/web-console/src/views/explore-view/components/filter-pane/filter-pane.tsx +++ b/web-console/src/views/explore-view/components/filter-pane/filter-pane.tsx @@ -48,6 +48,7 @@ import './filter-pane.scss'; export interface FilterPaneProps { querySource: QuerySource | undefined; + extraFilter: SqlExpression; timezone: Timezone; filter: SqlExpression; onFilterChange(filter: SqlExpression): void; @@ -59,6 +60,7 @@ export interface FilterPaneProps { export const FilterPane = forwardRef(function FilterPane(props: FilterPaneProps, ref) { const { querySource, + extraFilter, timezone, filter, onFilterChange, @@ -139,6 +141,7 @@ export const FilterPane = forwardRef(function FilterPane(props: FilterPaneProps, content={ { @@ -201,6 +204,7 @@ export const FilterPane = forwardRef(function FilterPane(props: FilterPaneProps, content={ { @@ -220,7 +224,7 @@ export const FilterPane = forwardRef(function FilterPane(props: FilterPaneProps, text={patterns.length ? undefined : 'Add filter'} onClick={() => setMenuNew({})} minimal - data-tooltip="Add filter" + data-tooltip={patterns.length ? 'Add filter' : undefined} /> ) : ( @@ -229,7 +233,7 @@ export const FilterPane = forwardRef(function FilterPane(props: FilterPaneProps, text={patterns.length ? undefined : 'Add filter'} disabled minimal - data-tooltip="Add filter" + data-tooltip="No query source, unable to query" /> )} diff --git a/web-console/src/views/explore-view/components/index.ts b/web-console/src/views/explore-view/components/index.ts index 085bbff3c3e0..58a8fb6fa72e 100644 --- a/web-console/src/views/explore-view/components/index.ts +++ b/web-console/src/views/explore-view/components/index.ts @@ -21,6 +21,7 @@ export * from './droppable-container/droppable-container'; export * from './filter-pane/filter-pane'; export * from './generic-output-table/generic-output-table'; export * from './helper-table/helper-table'; +export * from './iso-date-input/iso-date-input'; export * from './issue/issue'; export * from './module-pane/module-pane'; export * from './module-picker/module-picker'; @@ -28,4 +29,3 @@ export * from './resource-pane/resource-pane'; export * from './source-pane/source-pane'; export * from './source-query-pane/source-query-pane'; export * from './sql-input/sql-input'; -export * from './utc-date-input/utc-date-input'; diff --git a/web-console/src/views/explore-view/components/utc-date-input/utc-date-input.tsx b/web-console/src/views/explore-view/components/iso-date-input/iso-date-input.tsx similarity index 62% rename from web-console/src/views/explore-view/components/utc-date-input/utc-date-input.tsx rename to web-console/src/views/explore-view/components/iso-date-input/iso-date-input.tsx index b1de4ce7c13d..b145e31a2211 100644 --- a/web-console/src/views/explore-view/components/utc-date-input/utc-date-input.tsx +++ b/web-console/src/views/explore-view/components/iso-date-input/iso-date-input.tsx @@ -16,10 +16,10 @@ * limitations under the License. */ -import { InputGroup } from '@blueprintjs/core'; +import { InputGroup, Intent } from '@blueprintjs/core'; import { useState } from 'react'; -function utcParseDate(dateString: string): Date | undefined { +function isoParseDate(dateString: string): Date | undefined { const dateParts = dateString.split(/[-T:. ]/g); // Extract the individual date and time components @@ -44,7 +44,7 @@ function utcParseDate(dateString: string): Date | undefined { const millisecond = parseInt(dateParts[6], 10); if (millisecond >= 1000) return; - const value = Date.UTC(year, month - 1, day, hour, minute, second); // Month is zero-based + const value = Date.UTC(year, month - 1, day, hour, minute, second, millisecond); // Month is zero-based if (isNaN(value)) return; return new Date(value); @@ -61,26 +61,42 @@ function formatDate(date: Date): string { export interface UtcDateInputProps { date: Date; onChange(newDate: Date): void; + onIssue(): void; } -export function UtcDateInput(props: UtcDateInputProps) { - const { date, onChange } = props; - const [dateString, setDateString] = useState(); +export function IsoDateInput(props: UtcDateInputProps) { + const { date, onChange, onIssue } = props; + const [invalidDateString, setInvalidDateString] = useState(); + const [customDateString, setCustomDateString] = useState(); + const [focused, setFocused] = useState(false); return ( { - const v = normalizeDateString(e.target.value); - const parsedDate = utcParseDate(v); - if (parsedDate && formatDate(parsedDate) === v) { + const normalizedDateString = normalizeDateString(e.target.value); + const parsedDate = isoParseDate(normalizedDateString); + if (parsedDate) { onChange(parsedDate); - setDateString(undefined); + setInvalidDateString(undefined); + setCustomDateString(normalizedDateString); } else { - setDateString(v); + onIssue(); + setInvalidDateString(normalizedDateString); + setCustomDateString(undefined); } }} + onFocus={() => setFocused(true)} + onBlur={() => setFocused(false)} /> ); } diff --git a/web-console/src/views/explore-view/components/module-pane/module-pane.scss b/web-console/src/views/explore-view/components/module-pane/module-pane.scss index e74e3fe4bae3..0fa698cfc9b2 100644 --- a/web-console/src/views/explore-view/components/module-pane/module-pane.scss +++ b/web-console/src/views/explore-view/components/module-pane/module-pane.scss @@ -18,47 +18,71 @@ @import '../../../../variables'; -$tob-bar-height: 34px; +$filter-bar-height: 34px; +$control-bar-height: 34px; $control-pane-width: 240px; +$small-border: 1px; .module-pane { position: relative; @include card-like; overflow: hidden; - .module-top-bar { + .filter-pane { + position: absolute; + top: 0; + left: 0; + right: 90px; + height: $filter-bar-height; + border-bottom: $small-border solid $dark-gray2; + padding: 2px 0; + } + + .module-control-bar { position: absolute; top: 0; left: 0; width: 100%; - height: $tob-bar-height; - border-bottom: 1px solid $dark-gray2; + height: $control-bar-height; + border-bottom: $small-border solid $dark-gray2; padding: 2px; display: flex; - - .bar-expander { - flex: 1; - } } .control-pane-container { position: absolute; - top: $tob-bar-height + 1; + top: $control-bar-height + 1; bottom: 0; width: $control-pane-width; right: 0; - border-left: 1px solid $dark-gray2; + border-left: $small-border solid $dark-gray2; padding: 8px; overflow: auto; } &.show-controls .module-inner-container { - right: $control-pane-width + 1; + right: $control-pane-width + $small-border; + } + + &.show-filter { + .module-control-bar { + top: $filter-bar-height + $small-border; + } + + .module-inner-container { + top: $filter-bar-height + $small-border + $control-bar-height + $small-border; + } + } + + .corner-buttons { + position: absolute; + top: 2px; + right: 2px; } .module-inner-container { position: absolute; - top: $tob-bar-height + 1; + top: $control-bar-height + $small-border; bottom: 0; left: 0; right: 0; diff --git a/web-console/src/views/explore-view/components/module-pane/module-pane.tsx b/web-console/src/views/explore-view/components/module-pane/module-pane.tsx index b06e7b1c3465..96ed6e8fe90c 100644 --- a/web-console/src/views/explore-view/components/module-pane/module-pane.tsx +++ b/web-console/src/views/explore-view/components/module-pane/module-pane.tsx @@ -30,6 +30,7 @@ import { IconNames } from '@blueprintjs/icons'; import type { Timezone } from 'chronoshift'; import classNames from 'classnames'; import type { Column, QueryResult, SqlExpression, SqlQuery } from 'druid-query-toolkit'; +import { SqlLiteral } from 'druid-query-toolkit'; import React, { useState } from 'react'; import { useMemoWithPrevious } from '../../../../hooks'; @@ -53,6 +54,7 @@ import { ModuleRepository } from '../../module-repository/module-repository'; import { adjustTransferValue, normalizeType } from '../../utils'; import { ControlPane } from '../control-pane/control-pane'; import { DroppableContainer } from '../droppable-container/droppable-container'; +import { FilterPane } from '../filter-pane/filter-pane'; import { Issue } from '../issue/issue'; import { ModulePicker } from '../module-picker/module-picker'; @@ -115,7 +117,7 @@ export const ModulePane = function ModulePane(props: ModulePaneProps) { onAddToSourceQueryAsColumn, onAddToSourceQueryAsMeasure, } = props; - const { moduleId, parameterValues, showControls } = moduleState; + const { moduleId, moduleWhere, parameterValues, showModuleWhere, showControls } = moduleState; const [stage, setStage] = useState(); const module = ModuleRepository.getModule(moduleId); @@ -174,6 +176,7 @@ export const ModulePane = function ModulePane(props: ModulePaneProps) { timezone, where, setWhere, + moduleWhere, parameterValues: parameterValuesWithDefaults, setParameterValues: updateParameterValues, runSqlQuery, @@ -191,15 +194,27 @@ export const ModulePane = function ModulePane(props: ModulePaneProps) { setModuleState(moduleState.applyShowMeasure(measure)); } + const moduleHasFilter = !SqlLiteral.isTrue(moduleWhere); return (
    -
    + {showModuleWhere && ( + setModuleState(moduleState.changeModuleWhere(newFilter))} + runSqlQuery={runSqlQuery} + /> + )} +
    { @@ -254,42 +269,49 @@ export const ModulePane = function ModulePane(props: ModulePaneProps) { onAddToSourceQueryAsMeasure={onAddToSourceQueryAsMeasure} /> )} -
    - - - { - setModuleState( - moduleState.changeParameterValues( - getStickyParameterValuesForModule(moduleId), - ), - ); - }} - /> - - - } - > -
    + + + { + setModuleState( + moduleState.changeParameterValues(getStickyParameterValuesForModule(moduleId)), + ); + }} + /> + + + } + > +