diff --git a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchSqlAggregatorTest.java b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchSqlAggregatorTest.java index 02359a50b62e..074955625a64 100644 --- a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchSqlAggregatorTest.java +++ b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchSqlAggregatorTest.java @@ -1051,6 +1051,7 @@ public void testHllEstimateAsVirtualColumn() ) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("v0", "v1", "v2", "v3") + .columnTypes(ColumnType.DOUBLE, ColumnType.DOUBLE, ColumnType.DOUBLE, ColumnType.DOUBLE) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1089,6 +1090,7 @@ public void testHllEstimateAsVirtualColumnWithRound() )) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("v0", "v1") + .columnTypes(ColumnType.DOUBLE, ColumnType.DOUBLE) .context(QUERY_CONTEXT_DEFAULT) .build() ), diff --git a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchSqlAggregatorTest.java b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchSqlAggregatorTest.java index a85d508a8791..ba1eb347fe71 100644 --- a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchSqlAggregatorTest.java +++ b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchSqlAggregatorTest.java @@ -398,7 +398,8 @@ public void testSubqueryWithNestedGroupBy() new ExpressionVirtualColumn("v0", "946684800000", ColumnType.LONG, TestExprMacroTable.INSTANCE), new ExpressionVirtualColumn("v1", "case_searched((\"j0.a0\" < \"_a0\"),'val2',((\"j0.a0\" >= \"_a0\") && (\"j0.a0\" < \"_a1\")),'val3',(\"j0.a0\" >= \"_a1\"),'val1',null)", ColumnType.STRING, TestExprMacroTable.INSTANCE) ) - .columns("j0.a0", "j0.d0", "v0", "v1") + .columns("v0", "j0.d0", "j0.a0", "v1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.LONG, ColumnType.STRING) .build() ), expectedResults diff --git a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchSqlAggregatorTest.java b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchSqlAggregatorTest.java index d82863a8bf15..809c0c950031 100644 --- a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchSqlAggregatorTest.java +++ b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchSqlAggregatorTest.java @@ -1108,6 +1108,7 @@ public void testThetaSketchEstimateAsVirtualColumn() )) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("v0") + .columnTypes(ColumnType.DOUBLE) .context(QUERY_CONTEXT_DEFAULT) .build() ), diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQArraysTest.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQArraysTest.java index 03890d7a3263..9e323b52577a 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQArraysTest.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQArraysTest.java @@ -758,13 +758,13 @@ public void testSelectOnArrays(String contextName, Map context, .build(); RowSignature scanSignature = RowSignature.builder() - .add("arrayDouble", ColumnType.DOUBLE_ARRAY) - .add("arrayDoubleNulls", ColumnType.DOUBLE_ARRAY) - .add("arrayLong", ColumnType.LONG_ARRAY) - .add("arrayLongNulls", ColumnType.LONG_ARRAY) + .add("v0", ColumnType.LONG) .add("arrayString", ColumnType.STRING_ARRAY) .add("arrayStringNulls", ColumnType.STRING_ARRAY) - .add("v0", ColumnType.LONG) + .add("arrayLong", ColumnType.LONG_ARRAY) + .add("arrayLongNulls", ColumnType.LONG_ARRAY) + .add("arrayDouble", ColumnType.DOUBLE_ARRAY) + .add("arrayDoubleNulls", ColumnType.DOUBLE_ARRAY) .build(); final Map adjustedContext = new HashMap<>(context); @@ -773,15 +773,8 @@ public void testSelectOnArrays(String contextName, Map context, Query expectedQuery = newScanQueryBuilder() .dataSource(dataFileExternalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) - .columns( - "arrayDouble", - "arrayDoubleNulls", - "arrayLong", - "arrayLongNulls", - "arrayString", - "arrayStringNulls", - "v0" - ) + .columns(scanSignature.getColumnNames()) + .columnTypes(scanSignature.getColumnTypes()) .virtualColumns(new ExpressionVirtualColumn( "v0", "timestamp_parse(\"timestamp\",null,'UTC')", @@ -862,6 +855,7 @@ public void testScanWithOrderByOnStringArray(String contextName, Map c ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("a_bool") + .columnTypes(scanSignature.getColumnTypes()) .context(defaultScanQueryContext(context, scanSignature)) .build(); @@ -1088,6 +1085,7 @@ public void testScanExternArrayWithNonConvertibleType(String contextName, Map cont .dataSource(dataFileExternalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) .columns("obj") + .columnTypes(ColumnType.NESTED_DATA) .context(defaultScanQueryContext(context, rowSignature)) .orderBy(Collections.singletonList(OrderBy.ascending("obj"))) .build() diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQLoadedSegmentTests.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQLoadedSegmentTests.java index 4ea4cb0344ff..ff7ca696bed9 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQLoadedSegmentTests.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQLoadedSegmentTests.java @@ -127,6 +127,7 @@ public void testSelectWithLoadedSegmentsOnFoo() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("cnt", "dim1") + .columnTypes(resultSignature.getColumnTypes()) .context(defaultScanQueryContext(REALTIME_QUERY_CTX, resultSignature)) .build() ) @@ -190,6 +191,7 @@ public void testSelectWithLoadedSegmentsOnFooWithOrderBy() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("cnt", "dim1") + .columnTypes(resultSignature.getColumnTypes()) .orderBy(ImmutableList.of(OrderBy.ascending("dim1"))) .context(defaultScanQueryContext(REALTIME_QUERY_CTX, resultSignature)) .build() diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQParseExceptionsTest.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQParseExceptionsTest.java index 8577dcd18d4e..9801ea225c06 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQParseExceptionsTest.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQParseExceptionsTest.java @@ -180,6 +180,7 @@ public void testIngestWithSanitizedNullByte() throws IOException ) ) .columns("v0", "v1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(defaultScanQueryContext( context, @@ -272,13 +273,14 @@ public void testIngestWithSanitizedNullByteUsingContextParameter() throws IOExce ColumnType.LONG ) ) - .columns("agent_category", "v0") + .columns("v0", "agent_category") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(defaultScanQueryContext( context, RowSignature.builder() - .add("agent_category", ColumnType.STRING) .add("v0", ColumnType.LONG) + .add("agent_category", ColumnType.STRING) .build() )) .build(); diff --git a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQSelectTest.java b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQSelectTest.java index 91a1983bfd68..09dcbfcda144 100644 --- a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQSelectTest.java +++ b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQSelectTest.java @@ -164,6 +164,7 @@ public void testCalculator(String contextName, Map context) ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .context(defaultScanQueryContext(context, resultSignature)) .build() ) @@ -197,6 +198,7 @@ public void testSelectOnFoo(String contextName, Map context) .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("cnt", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .context(defaultScanQueryContext(context, resultSignature)) .build() ) @@ -254,12 +256,13 @@ public void testSelectOnFoo2(String contextName, Map context) .query(newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE2) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("dim2", "m1") + .columns("m1", "dim2") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .context(defaultScanQueryContext( context, RowSignature.builder() - .add("dim2", ColumnType.STRING) .add("m1", ColumnType.LONG) + .add("dim2", ColumnType.STRING) .build() )) .build()) @@ -331,6 +334,7 @@ public void testSelectOnFooDuplicateColumnNames(String contextName, Map context) .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("cnt", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .context(defaultScanQueryContext(context, resultSignature)) .limit(10) .build() @@ -998,6 +1007,7 @@ private void testJoin(String contextName, Map context, final Joi .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2", "m1", "m2") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT, ColumnType.DOUBLE) .context( defaultScanQueryContext( queryContext, @@ -1016,7 +1026,8 @@ private void testJoin(String contextName, Map context, final Joi newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("m1")) + .columns("m1") + .columnTypes(ColumnType.FLOAT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context( defaultScanQueryContext( @@ -1475,17 +1486,17 @@ public void testExternSelectWithMultipleWorkers(String contextName, Map ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .context(defaultScanQueryContext( context, resultSignature @@ -2648,7 +2664,8 @@ public void testSelectUnnestOnFoo(String contextName, Map contex context, resultSignature )) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build()) .columnMappings(expectedColumnMappings) .tuningConfig(MSQTuningConfig.defaultConfig()) @@ -2719,6 +2736,7 @@ public void testSelectUnnestOnQueryFoo(String contextName, Map c .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .filters(equality("dim2", "a", ColumnType.STRING)) .columns("dim3") + .columnTypes(ColumnType.STRING) .context(defaultScanQueryContext( context, resultSignature1 @@ -2735,7 +2753,8 @@ public void testSelectUnnestOnQueryFoo(String contextName, Map c context, resultSignature )) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build()) .columnMappings(expectedColumnMappings) .tuningConfig(MSQTuningConfig.defaultConfig()) @@ -2802,7 +2821,8 @@ public void testUnionAllUsingUnionDataSource(String contextName, Map\\\"}]\",\"sqlQueryId\":\"queryId\"},\"columnTypes\":[\"LONG\",\"LONG\",\"STRING\",\"STRING\",\"STRING\",\"FLOAT\",\"DOUBLE\",\"COMPLEX\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}], RESOURCES=[{\"name\":\"foo\",\"type\":\"DATASOURCE\"}], ATTRIBUTES={\"statementType\":\"SELECT\"}}", + "{PLAN=[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"columns\":[\"__time\",\"dim1\",\"dim2\",\"dim3\",\"cnt\",\"m1\",\"m2\",\"unique_dim1\"],\"context\":{\"__resultFormat\":\"object\",\"executionMode\":\"ASYNC\",\"scanSignature\":\"[{\\\"name\\\":\\\"__time\\\",\\\"type\\\":\\\"LONG\\\"},{\\\"name\\\":\\\"dim1\\\",\\\"type\\\":\\\"STRING\\\"},{\\\"name\\\":\\\"dim2\\\",\\\"type\\\":\\\"STRING\\\"},{\\\"name\\\":\\\"dim3\\\",\\\"type\\\":\\\"STRING\\\"},{\\\"name\\\":\\\"cnt\\\",\\\"type\\\":\\\"LONG\\\"},{\\\"name\\\":\\\"m1\\\",\\\"type\\\":\\\"FLOAT\\\"},{\\\"name\\\":\\\"m2\\\",\\\"type\\\":\\\"DOUBLE\\\"},{\\\"name\\\":\\\"unique_dim1\\\",\\\"type\\\":\\\"COMPLEX\\\"}]\",\"sqlQueryId\":\"queryId\"},\"columnTypes\":[\"LONG\",\"STRING\",\"STRING\",\"STRING\",\"LONG\",\"FLOAT\",\"DOUBLE\",\"COMPLEX\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}], RESOURCES=[{\"name\":\"foo\",\"type\":\"DATASOURCE\"}], ATTRIBUTES={\"statementType\":\"SELECT\"}}", String.valueOf(SqlStatementResourceTest.getResultRowsFromResponse(response).get(0)) ); } diff --git a/extensions-core/testing-tools/src/test/java/org/apache/druid/query/sql/SleepSqlTest.java b/extensions-core/testing-tools/src/test/java/org/apache/druid/query/sql/SleepSqlTest.java index 528d82bd9656..0b6125d8e3d0 100644 --- a/extensions-core/testing-tools/src/test/java/org/apache/druid/query/sql/SleepSqlTest.java +++ b/extensions-core/testing-tools/src/test/java/org/apache/druid/query/sql/SleepSqlTest.java @@ -72,6 +72,7 @@ public void testSleepFunction() ) ) .columns("v0") + .columnTypes(ColumnType.STRING) .filters(range("m1", ColumnType.DOUBLE, null, 2.0, false, true)) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) diff --git a/processing/src/main/java/org/apache/druid/query/scan/ScanQuery.java b/processing/src/main/java/org/apache/druid/query/scan/ScanQuery.java index be3d4fa2d5ea..57f3a8772fc4 100644 --- a/processing/src/main/java/org/apache/druid/query/scan/ScanQuery.java +++ b/processing/src/main/java/org/apache/druid/query/scan/ScanQuery.java @@ -463,7 +463,9 @@ public boolean equals(Object o) Objects.equals(resultFormat, scanQuery.resultFormat) && Objects.equals(dimFilter, scanQuery.dimFilter) && Objects.equals(columns, scanQuery.columns) && - Objects.equals(orderBys, scanQuery.orderBys); + Objects.equals(columnTypes, scanQuery.columnTypes) && + Objects.equals(orderBys, scanQuery.orderBys) && + Objects.equals(timeOrder, scanQuery.timeOrder); } @Override @@ -478,7 +480,9 @@ public int hashCode() scanRowsLimit, dimFilter, columns, - orderBys + columnTypes, + orderBys, + timeOrder ); } @@ -495,6 +499,7 @@ public String toString() ", limit=" + scanRowsLimit + ", dimFilter=" + dimFilter + ", columns=" + columns + + ", columnTypes=" + columnTypes + (orderBys.isEmpty() ? "" : ", orderBy=" + orderBys) + ", context=" + getContext() + '}'; diff --git a/processing/src/test/java/org/apache/druid/query/scan/ScanQueryLimitRowIteratorTest.java b/processing/src/test/java/org/apache/druid/query/scan/ScanQueryLimitRowIteratorTest.java index e187ddfd630a..c4dccff2b3c8 100644 --- a/processing/src/test/java/org/apache/druid/query/scan/ScanQueryLimitRowIteratorTest.java +++ b/processing/src/test/java/org/apache/druid/query/scan/ScanQueryLimitRowIteratorTest.java @@ -27,6 +27,7 @@ import org.apache.druid.query.QueryPlus; import org.apache.druid.query.QueryRunnerTestHelper; import org.apache.druid.query.context.ResponseContext; +import org.apache.druid.testing.InitializedNullHandlingTest; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -39,7 +40,7 @@ import java.util.concurrent.ThreadLocalRandom; @RunWith(Parameterized.class) -public class ScanQueryLimitRowIteratorTest +public class ScanQueryLimitRowIteratorTest extends InitializedNullHandlingTest { private static final int NUM_ELEMENTS = 1000; private final int batchSize; diff --git a/processing/src/test/java/org/apache/druid/query/scan/ScanQueryTest.java b/processing/src/test/java/org/apache/druid/query/scan/ScanQueryTest.java index f5a784b3841e..847226ccb0d2 100644 --- a/processing/src/test/java/org/apache/druid/query/scan/ScanQueryTest.java +++ b/processing/src/test/java/org/apache/druid/query/scan/ScanQueryTest.java @@ -23,6 +23,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; +import nl.jqno.equalsverifier.EqualsVerifier; +import nl.jqno.equalsverifier.Warning; import org.apache.druid.java.util.common.DateTimes; import org.apache.druid.java.util.common.ISE; import org.apache.druid.java.util.common.guava.Sequence; @@ -449,4 +451,15 @@ public void testAsCursorBuildSpec() Assert.assertNull(buildSpec.getAggregators()); Assert.assertEquals(virtualColumns, buildSpec.getVirtualColumns()); } + + @Test + public void testEquals() + { + EqualsVerifier.forClass(ScanQuery.class) + .suppress(Warning.NULL_FIELDS, Warning.NONFINAL_FIELDS) + // these fields are derived from the context + .withIgnoredFields("maxRowsQueuedForOrdering", "maxSegmentPartitionsOrderedInMemory") + .usingGetClass() + .verify(); + } } diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/rel/DruidQuery.java b/sql/src/main/java/org/apache/druid/sql/calcite/rel/DruidQuery.java index f8d33f558957..4470ebde361b 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/rel/DruidQuery.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/rel/DruidQuery.java @@ -113,12 +113,11 @@ import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; -import java.util.SortedSet; -import java.util.TreeSet; import java.util.stream.Collectors; /** @@ -1673,8 +1672,8 @@ private ScanQuery toScanQuery(final boolean considerSorting) } } - // Compute the list of columns to select, sorted and deduped. - final SortedSet scanColumns = new TreeSet<>(outputRowSignature.getColumnNames()); + // Deduplicate column list + final Set scanColumns = new LinkedHashSet<>(outputRowSignature.getColumnNames()); orderByColumns.forEach(column -> scanColumns.add(column.getColumnName())); final VirtualColumns virtualColumns = getVirtualColumns(true); diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteArraysQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteArraysQueryTest.java index f2ef6941fc35..93b2fc526e41 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteArraysQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteArraysQueryTest.java @@ -129,7 +129,8 @@ public void testSelectConstantArrayExpressionFromTable() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "array(1,2)", ColumnType.LONG_ARRAY)) - .columns("dim1", "v0") + .columns("v0", "dim1") + .columnTypes(ColumnType.LONG_ARRAY, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) .context(QUERY_CONTEXT_DEFAULT) @@ -214,7 +215,8 @@ public void testSelectNonConstantArrayExpressionFromTable() "array(concat(\"dim1\",'word'),'up')", ColumnType.STRING_ARRAY )) - .columns("dim1", "v0") + .columns("v0", "dim1") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -240,7 +242,8 @@ public void testSelectNonConstantArrayExpressionFromTableForMultival() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "array(concat(\"dim3\",'word'),'up')", ColumnType.STRING_ARRAY)) - .columns("dim1", "v0") + .columns("v0", "dim1") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -329,6 +332,31 @@ public void testSomeArrayFunctionsWithScanQuery() } ); } + RowSignature resultSignature = RowSignature.builder() + .add("dim1", ColumnType.STRING) + .add("dim2", ColumnType.STRING) + .add("dim3", ColumnType.STRING) + .add("l1", ColumnType.LONG) + .add("l2", ColumnType.LONG) + .add("d1", ColumnType.DOUBLE) + .add("d2", ColumnType.DOUBLE) + .add("EXPR$7", ColumnType.STRING_ARRAY) + .add("EXPR$8", ColumnType.LONG_ARRAY) + .add("EXPR$9", ColumnType.DOUBLE_ARRAY) + .add("EXPR$10", ColumnType.STRING_ARRAY) + .add("EXPR$11", ColumnType.STRING_ARRAY) + .add("EXPR$12", ColumnType.LONG_ARRAY) + .add("EXPR$13", ColumnType.LONG_ARRAY) + .add("EXPR$14", ColumnType.DOUBLE_ARRAY) + .add("EXPR$15", ColumnType.DOUBLE_ARRAY) + .add("EXPR$16", ColumnType.STRING_ARRAY) + .add("EXPR$17", ColumnType.LONG_ARRAY) + .add("EXPR$18", ColumnType.DOUBLE_ARRAY) + .add("EXPR$19", ColumnType.LONG) + .add("EXPR$20", ColumnType.DOUBLE) + .add("EXPR$21", ColumnType.LONG) + .add("EXPR$22", ColumnType.DOUBLE) + .build(); testQuery( "SELECT" + " dim1," @@ -384,21 +412,15 @@ public void testSomeArrayFunctionsWithScanQuery() expressionVirtualColumn("v9", "array_concat(\"dim2\",\"dim3\")", ColumnType.STRING_ARRAY) ) .columns( - "d1", - "d2", "dim1", "dim2", "dim3", "l1", "l2", + "d1", + "d2", "v0", "v1", - "v10", - "v11", - "v12", - "v13", - "v14", - "v15", "v2", "v3", "v4", @@ -406,39 +428,22 @@ public void testSomeArrayFunctionsWithScanQuery() "v6", "v7", "v8", - "v9" + "v9", + "v10", + "v11", + "v12", + "v13", + "v14", + "v15" ) + .columnTypes(resultSignature.getColumnTypes()) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) .context(QUERY_CONTEXT_DEFAULT) .build() ), expectedResults, - RowSignature.builder() - .add("dim1", ColumnType.STRING) - .add("dim2", ColumnType.STRING) - .add("dim3", ColumnType.STRING) - .add("l1", ColumnType.LONG) - .add("l2", ColumnType.LONG) - .add("d1", ColumnType.DOUBLE) - .add("d2", ColumnType.DOUBLE) - .add("EXPR$7", ColumnType.STRING_ARRAY) - .add("EXPR$8", ColumnType.LONG_ARRAY) - .add("EXPR$9", ColumnType.DOUBLE_ARRAY) - .add("EXPR$10", ColumnType.STRING_ARRAY) - .add("EXPR$11", ColumnType.STRING_ARRAY) - .add("EXPR$12", ColumnType.LONG_ARRAY) - .add("EXPR$13", ColumnType.LONG_ARRAY) - .add("EXPR$14", ColumnType.DOUBLE_ARRAY) - .add("EXPR$15", ColumnType.DOUBLE_ARRAY) - .add("EXPR$16", ColumnType.STRING_ARRAY) - .add("EXPR$17", ColumnType.LONG_ARRAY) - .add("EXPR$18", ColumnType.DOUBLE_ARRAY) - .add("EXPR$19", ColumnType.LONG) - .add("EXPR$20", ColumnType.DOUBLE) - .add("EXPR$21", ColumnType.LONG) - .add("EXPR$22", ColumnType.DOUBLE) - .build() + resultSignature ); } @@ -481,6 +486,26 @@ public void testSomeArrayFunctionsWithScanQueryArrayColumns() new Object[]{"[null,\"b\"]", null, "[999.0,null,5.5]", "[null,\"b\",\"foo\"]", "[\"foo\",null,\"b\"]", null, null, "[999.0,null,5.5,1.1]", "[2.2,999.0,null,5.5]", "[\"a\",\"b\",\"c\",null,\"b\"]", null, "[3.3,4.4,5.5,999.0,null,5.5]", null, null, 999.0D, null, null, 999.0D} ); } + RowSignature resultSignature = RowSignature.builder() + .add("arrayStringNulls", ColumnType.STRING_ARRAY) + .add("arrayLongNulls", ColumnType.LONG_ARRAY) + .add("arrayDoubleNulls", ColumnType.DOUBLE_ARRAY) + .add("EXPR$3", ColumnType.STRING_ARRAY) + .add("EXPR$4", ColumnType.STRING_ARRAY) + .add("EXPR$5", ColumnType.LONG_ARRAY) + .add("EXPR$6", ColumnType.LONG_ARRAY) + .add("EXPR$7", ColumnType.DOUBLE_ARRAY) + .add("EXPR$8", ColumnType.DOUBLE_ARRAY) + .add("EXPR$9", ColumnType.STRING_ARRAY) + .add("EXPR$10", ColumnType.LONG_ARRAY) + .add("EXPR$11", ColumnType.DOUBLE_ARRAY) + .add("EXPR$12", ColumnType.STRING) + .add("EXPR$13", ColumnType.LONG) + .add("EXPR$14", ColumnType.DOUBLE) + .add("EXPR$15", ColumnType.STRING) + .add("EXPR$16", ColumnType.LONG) + .add("EXPR$17", ColumnType.DOUBLE) + .build(); testQuery( "SELECT" + " arrayStringNulls," @@ -525,16 +550,11 @@ public void testSomeArrayFunctionsWithScanQueryArrayColumns() expressionVirtualColumn("v9", "array_offset(\"arrayStringNulls\",0)", ColumnType.STRING) ) .columns( - "arrayDoubleNulls", - "arrayLongNulls", "arrayStringNulls", + "arrayLongNulls", + "arrayDoubleNulls", "v0", "v1", - "v10", - "v11", - "v12", - "v13", - "v14", "v2", "v3", "v4", @@ -542,33 +562,20 @@ public void testSomeArrayFunctionsWithScanQueryArrayColumns() "v6", "v7", "v8", - "v9" + "v9", + "v10", + "v11", + "v12", + "v13", + "v14" ) + .columnTypes(resultSignature.getColumnTypes()) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() ), expectedResults, - RowSignature.builder() - .add("arrayStringNulls", ColumnType.STRING_ARRAY) - .add("arrayLongNulls", ColumnType.LONG_ARRAY) - .add("arrayDoubleNulls", ColumnType.DOUBLE_ARRAY) - .add("EXPR$3", ColumnType.STRING_ARRAY) - .add("EXPR$4", ColumnType.STRING_ARRAY) - .add("EXPR$5", ColumnType.LONG_ARRAY) - .add("EXPR$6", ColumnType.LONG_ARRAY) - .add("EXPR$7", ColumnType.DOUBLE_ARRAY) - .add("EXPR$8", ColumnType.DOUBLE_ARRAY) - .add("EXPR$9", ColumnType.STRING_ARRAY) - .add("EXPR$10", ColumnType.LONG_ARRAY) - .add("EXPR$11", ColumnType.DOUBLE_ARRAY) - .add("EXPR$12", ColumnType.STRING) - .add("EXPR$13", ColumnType.LONG) - .add("EXPR$14", ColumnType.DOUBLE) - .add("EXPR$15", ColumnType.STRING) - .add("EXPR$16", ColumnType.LONG) - .add("EXPR$17", ColumnType.DOUBLE) - .build() + resultSignature ); } @@ -670,8 +677,6 @@ public void testSomeArrayFunctionsWithScanQueryNoStringify() "dim3", "v0", "v1", - "v10", - "v11", "v2", "v3", "v4", @@ -679,8 +684,11 @@ public void testSomeArrayFunctionsWithScanQueryNoStringify() "v6", "v7", "v8", - "v9" + "v9", + "v10", + "v11" ) + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.ofArray(ColumnType.STRING), ColumnType.ofArray(ColumnType.LONG), ColumnType.ofArray(ColumnType.DOUBLE), ColumnType.ofArray(ColumnType.STRING), ColumnType.ofArray(ColumnType.STRING), ColumnType.ofArray(ColumnType.LONG), ColumnType.ofArray(ColumnType.LONG), ColumnType.ofArray(ColumnType.DOUBLE), ColumnType.ofArray(ColumnType.DOUBLE), ColumnType.ofArray(ColumnType.STRING), ColumnType.ofArray(ColumnType.LONG), ColumnType.ofArray(ColumnType.DOUBLE)) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) .context(QUERY_CONTEXT_NO_STRINGIFY_ARRAY) @@ -701,6 +709,7 @@ public void testArrayOverlapFilter() .intervals(querySegmentSpec(Filtration.eternity())) .filters(in("dim3", ImmutableList.of("a", "b"))) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -729,6 +738,7 @@ public void testArrayOverlapFilterStringArrayColumn() ) ) .columns("arrayStringNulls") + .columnTypes(ColumnType.STRING_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -760,6 +770,7 @@ public void testArrayOverlapFilterLongArrayColumn() ) ) .columns("arrayLongNulls") + .columnTypes(ColumnType.LONG_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -791,6 +802,7 @@ public void testArrayOverlapFilterDoubleArrayColumn() ) ) .columns("arrayDoubleNulls") + .columnTypes(ColumnType.DOUBLE_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -819,6 +831,7 @@ public void testArrayOverlapFilterWithExtractionFn() new InDimFilter("dim3", ImmutableList.of("a", "b"), new SubstringDimExtractionFn(0, 1)) ) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -842,6 +855,7 @@ public void testArrayOverlapFilterNonLiteral() .intervals(querySegmentSpec(Filtration.eternity())) .filters(expressionFilter("array_overlap(\"dim3\",array(\"dim2\"))")) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -863,7 +877,8 @@ public void testArrayOverlapFilterArrayStringColumns() .dataSource(CalciteTests.ARRAYS_DATASOURCE) .intervals(querySegmentSpec(Filtration.eternity())) .filters(expressionFilter("array_overlap(\"arrayStringNulls\",\"arrayString\")")) - .columns("arrayString", "arrayStringNulls") + .columns("arrayStringNulls", "arrayString") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.STRING_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -889,7 +904,8 @@ public void testArrayOverlapFilterArrayLongColumns() .dataSource(CalciteTests.ARRAYS_DATASOURCE) .intervals(querySegmentSpec(Filtration.eternity())) .filters(expressionFilter("array_overlap(\"arrayLongNulls\",\"arrayLong\")")) - .columns("arrayLong", "arrayLongNulls") + .columns("arrayLongNulls", "arrayLong") + .columnTypes(ColumnType.LONG_ARRAY, ColumnType.LONG_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -915,7 +931,8 @@ public void testArrayOverlapFilterArrayDoubleColumns() .dataSource(CalciteTests.ARRAYS_DATASOURCE) .intervals(querySegmentSpec(Filtration.eternity())) .filters(expressionFilter("array_overlap(\"arrayDoubleNulls\",\"arrayDouble\")")) - .columns("arrayDouble", "arrayDoubleNulls") + .columns("arrayDoubleNulls", "arrayDouble") + .columnTypes(ColumnType.DOUBLE_ARRAY, ColumnType.DOUBLE_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -938,6 +955,7 @@ public void testArrayOverlapFilterWithDynamicParameter() .intervals(querySegmentSpec(Filtration.eternity())) .filters(expressionFilter("array_overlap(array(1.0,1.7,null),array(\"d1\"))")) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT); @@ -980,6 +998,7 @@ public void testArrayContainsFilter() ) ) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -1008,6 +1027,7 @@ public void testArrayContainsFilterArrayStringColumn() ) .columns("arrayStringNulls") + .columnTypes(ColumnType.STRING_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -1037,6 +1057,7 @@ public void testArrayContainsFilterArrayLongColumn() ) ) .columns("arrayLongNulls") + .columnTypes(ColumnType.LONG_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -1065,6 +1086,7 @@ public void testArrayContainsFilterArrayDoubleColumn() ) ) .columns("arrayDoubleNulls") + .columnTypes(ColumnType.DOUBLE_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -1085,6 +1107,7 @@ public void testArrayContainsFilterWithExtractionFn() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT); @@ -1125,6 +1148,7 @@ public void testArrayContainsArrayOfOneElement() .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim3", "a", ColumnType.STRING)) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -1148,6 +1172,7 @@ public void testArrayContainsArrayOfNonLiteral() .intervals(querySegmentSpec(Filtration.eternity())) .filters(expressionFilter("array_contains(\"dim3\",array(\"dim2\"))")) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_NO_STRINGIFY_ARRAY) @@ -1171,7 +1196,8 @@ public void testArrayContainsFilterArrayStringColumns() .filters( expressionFilter("array_contains(\"arrayStringNulls\",\"arrayString\")") ) - .columns("arrayString", "arrayStringNulls") + .columns("arrayStringNulls", "arrayString") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.STRING_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -1193,6 +1219,7 @@ public void testArrayContainsArrayStringColumns() .dataSource(CalciteTests.ARRAYS_DATASOURCE) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0", "v1") + .columnTypes(ColumnType.LONG, ColumnType.LONG) .virtualColumns( expressionVirtualColumn("v0", "array_contains(\"arrayStringNulls\",array('a','b'))", ColumnType.LONG), expressionVirtualColumn("v1", "array_contains(\"arrayStringNulls\",\"arrayString\")", ColumnType.LONG) @@ -1225,6 +1252,7 @@ public void testArrayContainsFilterArrayLongColumns() expressionFilter("array_contains(\"arrayLong\",\"arrayLongNulls\")") ) .columns("arrayLong", "arrayLongNulls") + .columnTypes(ColumnType.LONG_ARRAY, ColumnType.LONG_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -1251,7 +1279,8 @@ public void testArrayContainsFilterArrayDoubleColumns() .filters( expressionFilter("array_contains(\"arrayDoubleNulls\",\"arrayDouble\")") ) - .columns("arrayDouble", "arrayDoubleNulls") + .columns("arrayDoubleNulls", "arrayDouble") + .columnTypes(ColumnType.DOUBLE_ARRAY, ColumnType.DOUBLE_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -1277,6 +1306,7 @@ public void testArrayContainsConstantNull() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1290,6 +1320,7 @@ public void testArrayContainsConstantNull() .virtualColumns(expressionVirtualColumn("v0", "0", ColumnType.LONG)) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1308,6 +1339,7 @@ public void testArrayContainsFilterWithDynamicParameter() .intervals(querySegmentSpec(Filtration.eternity())) .filters(expressionFilter("array_contains(array(1,null),array((\"d1\" > 1)))")) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT); @@ -1371,6 +1403,7 @@ public void testScalarInArrayFilter() ) ) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1394,6 +1427,7 @@ public void testNotScalarInArrayFilter() .intervals(querySegmentSpec(Filtration.eternity())) .filters(not(in("dim2", Arrays.asList("a", "d")))) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1441,6 +1475,7 @@ public void testArrayScalarInFilter_MVD() ) ) .columns("dim3", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1470,7 +1505,8 @@ public void testArraySlice() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "array_slice(\"dim3\",1)", ColumnType.STRING_ARRAY)) - .columns(ImmutableList.of("v0")) + .columns("v0") + .columnTypes(ColumnType.STRING_ARRAY) .context(QUERY_CONTEXT_NO_STRINGIFY_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -1502,6 +1538,7 @@ public void testArraySliceArrayColumns() expressionVirtualColumn("v2", "array_slice(\"arrayDoubleNulls\",1)", ColumnType.DOUBLE_ARRAY) ) .columns("v0", "v1", "v2") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.LONG_ARRAY, ColumnType.DOUBLE_ARRAY) .context(QUERY_CONTEXT_NO_STRINGIFY_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -3458,6 +3495,7 @@ public void testArrayAggAsArrayFromJoin() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim4", "j0.a0", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING_ARRAY, ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -3804,6 +3842,7 @@ public void testArrayAggArrayContainsSubquery() ) ) .columns("dim1", "dim2") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -3917,9 +3956,8 @@ public void testUnnestInline() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of( - "EXPR$0" - )) + .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .build() ), ImmutableList.of( @@ -3978,7 +4016,8 @@ public void testUnnest() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), useDefault ? @@ -4021,7 +4060,8 @@ public void testUnnestArrayColumnsString() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -4068,7 +4108,8 @@ public void testUnnestArrayColumnsStringThenFunction() .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "concat(\"j0.unnest\",'.txt')", ColumnType.STRING)) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("v0")) + .columns("v0") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -4114,7 +4155,8 @@ public void testUnnestArrayColumnsStringNulls() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -4159,7 +4201,8 @@ public void testUnnestArrayColumnsLong() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.LONG) .build() ), ImmutableList.of( @@ -4211,7 +4254,8 @@ public void testUnnestArrayColumnsLongNulls() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.LONG) .build() ), ImmutableList.of( @@ -4259,7 +4303,8 @@ public void testUnnestArrayColumnsDouble() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.DOUBLE) .build() ), ImmutableList.of( @@ -4311,7 +4356,8 @@ public void testUnnestArrayColumnsDoubleNulls() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.DOUBLE) .build() ), ImmutableList.of( @@ -4389,7 +4435,8 @@ public void testUnnestTwice() ) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("_j0.unnest", "dim1", "j0.unnest", "v0", "v1")) + .columns("dim1", "v0", "v1", "j0.unnest", "_j0.unnest") + .columnTypes(ColumnType.STRING, ColumnType.STRING_ARRAY, ColumnType.STRING_ARRAY, ColumnType.STRING, ColumnType.STRING) .build() ), NullHandling.replaceWithDefault() ? @@ -4452,7 +4499,8 @@ public void testUnnestTwiceArrayColumns() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("_j0.unnest", "arrayLongNulls", "arrayStringNulls", "j0.unnest")) + .columns("arrayStringNulls", "arrayLongNulls", "j0.unnest", "_j0.unnest") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.LONG_ARRAY, ColumnType.STRING, ColumnType.LONG) .build() ), ImmutableList.of( @@ -4547,7 +4595,8 @@ public void testUnnestTwiceWithFiltersAndExpressions() ) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("dim1", "j0.unnest", "v0", "v1", "v2")) + .columns("dim1", "v0", "v1", "j0.unnest", "v2") + .columnTypes(ColumnType.STRING, ColumnType.STRING_ARRAY, ColumnType.STRING_ARRAY, ColumnType.STRING, ColumnType.STRING) .build() ), ImmutableList.of( @@ -4601,7 +4650,8 @@ public void testUnnestThriceWithFiltersOnDimAndUnnestCol() "'Baz'", ColumnType.STRING )) - .columns(ImmutableList.of("__j0.unnest", "_j0.unnest", "dimZipf", "v0")) + .columns("dimZipf", "v0", "_j0.unnest", "__j0.unnest") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .build() ); testQuery( @@ -4699,7 +4749,8 @@ public void testUnnestThriceWithFiltersOnDimAndAllUnnestColumns() ColumnType.STRING )) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("__j0.unnest", "_j0.unnest", "dimZipf", "v0")) + .columns("dimZipf", "v0", "_j0.unnest", "__j0.unnest") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .build() ); testQuery( @@ -4766,7 +4817,8 @@ public void testUnnestThriceWithFiltersOnDimAndAllUnnestColumnsArrayColumns() expressionVirtualColumn("v1", "1", ColumnType.LONG) ) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("__j0.unnest", "_j0.unnest", "v0", "v1")) + .columns("v0", "v1", "_j0.unnest", "__j0.unnest") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.LONG, ColumnType.DOUBLE, ColumnType.STRING) .build() ); testQuery( @@ -4824,12 +4876,14 @@ public void testUnnestThriceWithFiltersOnDimAndUnnestColumnsORCombinations() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("__j0.unnest", "_j0.unnest", "dimZipf", "j0.unnest")) + .columns("dimZipf", "j0.unnest", "_j0.unnest", "__j0.unnest") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .build() ); testQuery( sql, - QUERY_CONTEXT_UNNEST, expectedQuerySqlCom, + QUERY_CONTEXT_UNNEST, + expectedQuerySqlCom, ImmutableList.of( new Object[]{"27", "Baz", "Baz", "World"}, new Object[]{"27", "Baz", "Baz", "World"}, @@ -4900,7 +4954,8 @@ public void testUnnestThriceWithFiltersOnDimAndAllUnnestColumnsArrayColumnsOrFil expressionVirtualColumn("v0", "array('a','b')", ColumnType.STRING_ARRAY) ) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("__j0.unnest", "_j0.unnest", "j0.unnest", "v0")) + .columns("v0", "j0.unnest", "_j0.unnest", "__j0.unnest") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.LONG, ColumnType.DOUBLE, ColumnType.STRING) .build() ); testQuery( @@ -5132,7 +5187,8 @@ public void testUnnestWithLimit() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .limit(3) .build() ), @@ -5161,7 +5217,8 @@ public void testUnnestFirstQueryOnSelect() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), useDefault ? @@ -5217,7 +5274,8 @@ public void testUnnestVirtualWithColumns1() equality("j0.unnest", "b", ColumnType.STRING) )) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest", "m1")) + .columns("j0.unnest", "m1") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT) .build()), ImmutableList.of(new Object[]{"a", 1.0f}) ); @@ -5248,7 +5306,8 @@ public void testUnnestVirtualWithColumns2() ) )) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest", "m1")) + .columns("j0.unnest", "m1") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT) .build()), ImmutableList.of( new Object[]{"a", 1.0f}, @@ -5277,7 +5336,8 @@ public void testUnnestWithFilters() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -5313,7 +5373,8 @@ public void testUnnestWithFiltersWithExpressionInInnerQuery() )) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest", "v0")) + .columns("v0", "j0.unnest") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .build() ), ImmutableList.of( @@ -5347,7 +5408,8 @@ public void testUnnestWithInFiltersWithExpressionInInnerQuery() ColumnType.LONG)) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest", "v0")) + .columns("v0", "j0.unnest") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .build() ), ImmutableList.of( @@ -5377,6 +5439,7 @@ public void testUnnestWithFiltersInnerLimit() .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .filters(equality("dim2", "a", ColumnType.STRING)) .columns("dim3") + .columnTypes(ColumnType.STRING) .limit(2) .context(QUERY_CONTEXT_UNNEST) .build() @@ -5387,7 +5450,8 @@ public void testUnnestWithFiltersInnerLimit() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), NullHandling.replaceWithDefault() ? @@ -5430,7 +5494,8 @@ public void testUnnestWithFiltersInsideAndOutside() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -5470,7 +5535,8 @@ public void testUnnestWithFiltersInsideAndOutside1() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -5511,7 +5577,8 @@ public void testUnnestWithFiltersOutside() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -5541,7 +5608,8 @@ public void testUnnestWithInFilters() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -5570,7 +5638,8 @@ public void testUnnestVirtualWithColumns() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -5667,6 +5736,7 @@ public void testUnnestWithJoinOnTheLeft() .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .filters(in("dim2", ImmutableList.of("a", "b", "ab", "abc"))) .columns("dim2") + .columnTypes(ColumnType.STRING) .context(QUERY_CONTEXT_UNNEST) .build() ), @@ -5680,7 +5750,8 @@ public void testUnnestWithJoinOnTheLeft() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("_j0.unnest")) + .columns("_j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), useDefault ? @@ -5736,7 +5807,8 @@ public void testUnnestWithConstant() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.EXPR$0")) + .columns("j0.EXPR$0") + .columnTypes(ColumnType.LONG) .build() ), ImmutableList.of( @@ -5780,7 +5852,8 @@ public void testUnnestWithSQLFunctionOnUnnestedColumn() .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .virtualColumns(expressionVirtualColumn("v0", "strlen(\"j0.unnest\")", ColumnType.LONG)) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("v0")) + .columns("v0") + .columnTypes(ColumnType.LONG) .build() ), useDefault ? @@ -5826,7 +5899,8 @@ public void testUnnestWithINFiltersWithLeftRewrite() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -5853,7 +5927,8 @@ public void testUnnestWithINFiltersWithNoLeftRewrite() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -5883,7 +5958,8 @@ public void testUnnestWithInvalidINFiltersOnUnnestedColumn() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of() @@ -5907,7 +5983,8 @@ public void testUnnestWithNotFiltersOnUnnestedColumn() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), useDefault ? @@ -5946,7 +6023,8 @@ public void testUnnestWithSelectorFiltersOnSelectedColumn() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -5974,7 +6052,8 @@ public void testUnnestWithSelectorFiltersOnVirtualColumn() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.FLOAT) .build() ), ImmutableList.of( @@ -6000,7 +6079,8 @@ public void testUnnestWithSelectorFiltersOnVirtualStringColumn() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6035,7 +6115,8 @@ public void testUnnestWithMultipleAndFiltersOnSelectedColumns() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6067,7 +6148,8 @@ public void testUnnestWithMultipleOrFiltersOnSelectedColumns() range("m1", ColumnType.LONG, null, 2L, false, true) ) ) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6094,7 +6176,8 @@ public void testUnnestWithMultipleAndFiltersOnSelectedUnnestedColumns() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6121,7 +6204,8 @@ public void testUnnestWithMultipleOrFiltersOnUnnestedColumns() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6152,7 +6236,8 @@ public void testUnnestWithMultipleOrFiltersOnVariationsOfUnnestedColumns() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), useDefault ? @@ -6199,7 +6284,8 @@ public void testUnnestWithMultipleOrFiltersOnSelectedNonUnnestedColumns() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6231,7 +6317,8 @@ public void testUnnestWithMultipleOrFiltersOnSelectedVirtualColumns() range("m1", ColumnType.LONG, null, 2L, false, true) ) ) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6266,7 +6353,8 @@ public void testUnnestWithMultipleOrFiltersOnUnnestedColumnsAndOnOriginalColumn( ) ) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6299,7 +6387,8 @@ public void testUnnestWithMultipleOrFiltersOnUnnestedColumnsAndOnOriginalColumnD ) ) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("dim3", "j0.unnest")) + .columns("dim3", "j0.unnest") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .build() ), ImmutableList.of( @@ -6592,7 +6681,8 @@ public void testUnnestVirtualWithColumnsAndNullIf() ) ) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest", "m2")) + .columns("j0.unnest", "m2") + .columnTypes(ColumnType.FLOAT, ColumnType.DOUBLE) .build() ), ImmutableList.of( @@ -6632,7 +6722,8 @@ public void testUnnestWithTimeFilterOnly() .intervals(querySegmentSpec(Intervals.of("2000-01-02T00:00:00.000Z/2000-01-03T00:10:00.001Z"))) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6663,7 +6754,8 @@ public void testUnnestWithTimeFilterOnlyArrayColumn() .intervals(querySegmentSpec(Intervals.of("2023-01-02T00:00:00.000Z/2023-01-03T00:10:00.001Z"))) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6706,7 +6798,8 @@ public void testUnnestWithTimeFilterAndAnotherFilter() .intervals(querySegmentSpec(Intervals.of("2000-01-02T00:00:00.000Z/2000-01-03T00:10:00.001Z"))) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6740,7 +6833,8 @@ public void testUnnestWithTimeFilterOrAnotherFilter() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6775,7 +6869,8 @@ public void testUnnestWithTimeFilterOnlyNested() .intervals(querySegmentSpec(Intervals.of("2000-01-02T00:00:00.000Z/2000-01-03T00:10:00.001Z"))) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("_j0.unnest")) + .columns("_j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6818,7 +6913,8 @@ public void testUnnestWithTimeFilterOnlyNestedAndNestedAgain() .intervals(querySegmentSpec(Intervals.of("2000-01-02T00:00:00.000Z/2000-01-03T00:10:00.001Z"))) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("__j0.unnest")) + .columns("__j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6865,7 +6961,8 @@ public void testUnnestWithTimeFilterInsideSubquery() .intervals(querySegmentSpec(Intervals.of( "2000-01-02T00:00:00.000Z/2000-01-03T00:10:00.001Z"))) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) - .columns("j0.unnest", "m1") + .columns("m1", "j0.unnest") + .columnTypes(ColumnType.FLOAT, ColumnType.STRING) .limit(2) .context(QUERY_CONTEXT_UNNEST) .build() @@ -6879,7 +6976,8 @@ public void testUnnestWithTimeFilterInsideSubquery() ) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -6917,6 +7015,7 @@ public void testUnnestWithTimeFilterInsideSubqueryArrayColumns() "2023-01-02T00:00:00.000Z/2023-01-03T00:10:00.001Z"))) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("arrayLongNulls", "j0.unnest") + .columnTypes(ColumnType.LONG_ARRAY, ColumnType.LONG) .limit(2) .context(QUERY_CONTEXT_UNNEST) .build() @@ -6928,7 +7027,8 @@ public void testUnnestWithTimeFilterInsideSubqueryArrayColumns() ) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest")) + .columns("j0.unnest") + .columnTypes(ColumnType.LONG) .build() ), ImmutableList.of( @@ -7009,7 +7109,8 @@ public void testUnnestWithFilterAndUnnestNestedBackToBack() .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .virtualColumns(expressionVirtualColumn("v0", "2.0", ColumnType.FLOAT)) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("__j0.unnest", "_j0.unnest", "j0.unnest", "v0")) + .columns("v0", "j0.unnest", "_j0.unnest", "__j0.unnest") + .columnTypes(ColumnType.FLOAT, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .build() ), ImmutableList.of( @@ -7040,7 +7141,8 @@ public void testUnnestWithLookup() .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .virtualColumns(expressionVirtualColumn("v0", "'a'", ColumnType.STRING)) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("j0.unnest", "v", "v0")) + .columns("v0", "v", "j0.unnest") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .build() ), ImmutableList.of( @@ -7097,6 +7199,7 @@ public void testUnnestWithGroupByOnExpression() ) .eternityInterval() .columns("d0", "j0.unnest") + .columnTypes(ColumnType.LONG_ARRAY, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -7220,7 +7323,8 @@ public void testUnnestExtractionFn() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("v0")) + .columns("v0") + .columnTypes(ColumnType.STRING) .build() ), useDefault ? @@ -7259,7 +7363,8 @@ public void testUnnestExtractionFnNull() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_UNNEST) - .columns(ImmutableList.of("v0")) + .columns("v0") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -7289,6 +7394,7 @@ public void testBooleanConstExprArray() ColumnType.LONG_ARRAY )) .columns("v0") + .columnTypes(ColumnType.LONG_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) .context(QUERY_CONTEXT_DEFAULT) @@ -7471,6 +7577,7 @@ public void testNullArray() .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "(\"arrayLongNulls\" == array(null,null))", ColumnType.LONG)) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) .context(QUERY_CONTEXT_DEFAULT) diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteCatalogIngestionDmlTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteCatalogIngestionDmlTest.java index 3a60386dbc61..d89d618bda13 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteCatalogIngestionDmlTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteCatalogIngestionDmlTest.java @@ -392,9 +392,8 @@ public void testInsertHourGrainPartitonedByFromCatalog() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(queryContextWithGranularity(Granularities.HOUR)) .build() ) @@ -419,9 +418,8 @@ public void testInsertHourGrainWithDayPartitonedByFromQuery() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(queryContextWithGranularity(Granularities.DAY)) .build() ) @@ -465,9 +463,8 @@ public void testInsertNoPartitonedByWithDayPartitonedByFromQuery() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(queryContextWithGranularity(Granularities.DAY)) .build() ) @@ -526,9 +523,8 @@ public void testInsertAddNonDefinedColumnIntoNonSealedCatalogTable() expressionVirtualColumn("v2", "CAST(\"c\", 'DOUBLE')", ColumnType.DOUBLE), expressionVirtualColumn("v3", "CAST(\"d\", 'LONG')", ColumnType.LONG) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. - .columns("b", "e", "v0", "v1", "v2", "v3") + .columns("v0", "b", "v1", "v2", "v3", "e") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.LONG, ColumnType.DOUBLE, ColumnType.LONG, ColumnType.STRING) .context(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -588,9 +584,8 @@ public void testInsertTableWithClusteringWithClusteringFromCatalog() OrderBy.ascending("d") ) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. - .columns("b", "d", "v0", "v1") + .columns("v0", "b", "d", "v1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -649,9 +644,8 @@ public void testInsertTableWithClusteringWithClusteringFromQuery() OrderBy.ascending("b") ) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. - .columns("b", "d", "v0", "v1") + .columns("v0", "b", "d", "v1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -714,9 +708,8 @@ public void testInsertTableWithClusteringWithClusteringOnNewColumnFromQuery() OrderBy.ascending("e") ) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. - .columns("b", "d", "e", "v0", "v1") + .columns("v0", "b", "d", "e", "v1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -911,8 +904,6 @@ public void testGroupByInsertAddNonDefinedColumnIntoNonSealedCatalogTable() expressionPostAgg("p0", "1", ColumnType.LONG), expressionPostAgg("p1", "CAST(\"d3\", 'DOUBLE')", ColumnType.DOUBLE) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. .setContext(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -997,9 +988,8 @@ public void testInsertAddNonDefinedColumnIntoSealedCatalogTableAndValidationDisa expressionVirtualColumn("v0", "timestamp_parse(\"a\",null,'UTC')", ColumnType.LONG), expressionVirtualColumn("v1", "1", ColumnType.LONG) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. - .columns("b", "c", "d", "v0", "v1") + .columns("v0", "b", "v1", "c", "d") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.LONG, ColumnType.LONG, ColumnType.STRING) .context(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -1063,9 +1053,8 @@ public void testInsertWithSourceIntoCatalogTable() expressionVirtualColumn("v2", "CAST(\"c\", 'DOUBLE')", ColumnType.DOUBLE), expressionVirtualColumn("v3", "CAST(\"d\", 'LONG')", ColumnType.LONG) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. - .columns("b", "e", "v0", "v1", "v2", "v3") + .columns("v0", "b", "v1", "v2", "v3", "e") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.LONG, ColumnType.DOUBLE, ColumnType.LONG, ColumnType.STRING) .context(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -1158,8 +1147,6 @@ public void testGroupByInsertWithSourceIntoCatalogTable() expressionPostAgg("p0", "1", ColumnType.LONG), expressionPostAgg("p1", "CAST(\"d3\", 'DOUBLE')", ColumnType.DOUBLE) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. .setContext(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -1226,9 +1213,8 @@ public void testInsertIntoExistingWithIncompatibleTypeAssignmentAndValidationDis .virtualColumns( expressionVirtualColumn("v0", "array(\"dim1\")", ColumnType.STRING_ARRAY) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. .columns("__time", "v0") + .columnTypes(ColumnType.LONG, ColumnType.STRING_ARRAY) .context(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -1284,9 +1270,8 @@ public void testGroupByInsertIntoExistingWithIncompatibleTypeAssignmentAndValida .virtualColumns( expressionVirtualColumn("v0", "array(\"dim1\")", ColumnType.STRING_ARRAY) ) - // Scan query lists columns in alphabetical order independent of the - // SQL project list or the defined schema. .columns("__time", "v0") + .columnTypes(ColumnType.LONG, ColumnType.STRING_ARRAY) .context(CalciteIngestionDmlTest.PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteCorrelatedQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteCorrelatedQueryTest.java index ef442ecac43c..bcb7759c981f 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteCorrelatedQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteCorrelatedQueryTest.java @@ -288,7 +288,8 @@ public void testCorrelatedSubqueryWithLeftFilter_leftDirectAccessDisabled(Map\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}]"; + String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"columns\":[\"__time\",\"dim1\",\"dim2\",\"dim3\",\"cnt\",\"m1\",\"m2\",\"unique_dim1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"STRING\",\"STRING\",\"STRING\",\"LONG\",\"FLOAT\",\"DOUBLE\",\"COMPLEX\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}]"; String sql = "EXPLAIN PLAN FOR SELECT * FROM druid.foo"; String resources = "[{\"name\":\"foo\",\"type\":\"DATASOURCE\"}]"; diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteExportTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteExportTest.java index af77671cee41..a69ac8735671 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteExportTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteExportTest.java @@ -122,6 +122,7 @@ public void testReplaceIntoExtern() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ) @@ -196,6 +197,7 @@ public void testInsertIntoExtern() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ) @@ -221,6 +223,7 @@ public void testInsertIntoExternParameterized() .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim2", "val", ColumnType.STRING)) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ) @@ -247,6 +250,7 @@ public void testReplaceIntoExternParameterized() .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim2", "val", ColumnType.STRING)) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ) @@ -301,6 +305,7 @@ public void testSelectFromTableNamedExport() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ) diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteInsertDmlTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteInsertDmlTest.java index 61d955c3be7f..73b4b45c30c2 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteInsertDmlTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteInsertDmlTest.java @@ -88,7 +88,8 @@ public void testInsertFromTable() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -109,6 +110,7 @@ public void testInsertFromViewA() .virtualColumns(expressionVirtualColumn("v0", "substring(\"dim1\", 0, 1)", ColumnType.STRING)) .filters(equality("dim2", "a", ColumnType.STRING)) .columns("v0") + .columnTypes(ColumnType.STRING) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -139,6 +141,7 @@ public void testInsertFromViewC() .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim2", "a", ColumnType.STRING)) .columns("dim1", "dim2") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ), @@ -147,6 +150,7 @@ public void testInsertFromViewC() .dataSource("numfoo") .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2", "l2") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ), @@ -160,7 +164,8 @@ public void testInsertFromViewC() expressionVirtualColumn("v0", "substring(\"dim1\", 0, 1)", ColumnType.STRING), expressionVirtualColumn("v1", "'a'", ColumnType.STRING) ) - .columns("j0.l2", "v0", "v1") + .columns("v0", "v1", "j0.l2") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -178,7 +183,8 @@ public void testInsertIntoExistingTable() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -196,7 +202,8 @@ public void testInsertIntoQualifiedTable() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -314,6 +321,7 @@ public void testInsertFromExternal() .dataSource(externalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) .columns("x", "y", "z") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -335,6 +343,7 @@ public void testInsertFromExternalWithInputSourceSecurityEnabled() .dataSource(externalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) .columns("x", "y", "z") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -392,6 +401,7 @@ public void testInsertFromExternalWithSchema() .dataSource(externalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) .columns("x", "y", "z") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -437,6 +447,7 @@ public void testInsertFromExternalWithSchemaWithInputsourceSecurity() .dataSource(externalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) .columns("x", "y", "z") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -480,6 +491,7 @@ public void testInsertFromExternalFunctionalStyleWithSchemaWithInputsourceSecuri .dataSource(externalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) .columns("x", "y", "z") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -532,6 +544,7 @@ public void testInsertFromExternalWithoutSecuritySupport() .dataSource(externalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) .columns("x", "y", "z") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) @@ -596,7 +609,8 @@ public void testInsertWithPartitionedBy() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "dim1", "v0") + .columns("__time", "v0", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT, ColumnType.STRING) .virtualColumns(expressionVirtualColumn("v0", "floor(\"m1\")", ColumnType.FLOAT)) .context(queryContextWithGranularity(Granularities.HOUR)) .build() @@ -650,6 +664,7 @@ public void testPartitionedBySupportedClauses() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) .columns("__time", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .context(queryContext) .build() ) @@ -696,6 +711,7 @@ public void testPartitionedBySupportedGranularityLiteralClauses() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) .columns("__time", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .context(queryContext) .build() ) @@ -744,7 +760,7 @@ public void testExplainPlanInsertWithClusteredBy() throws JsonProcessingExceptio // Test correctness of the query when only the CLUSTERED BY clause is present final String explanation = - "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"virtualColumns\":[{\"type\":\"expression\",\"name\":\"v0\",\"expression\":\"floor(\\\"m1\\\")\",\"outputType\":\"FLOAT\"},{\"type\":\"expression\",\"name\":\"v1\",\"expression\":\"ceil(\\\"m2\\\")\",\"outputType\":\"DOUBLE\"}],\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"v0\",\"order\":\"ascending\"},{\"columnName\":\"dim1\",\"order\":\"ascending\"},{\"columnName\":\"v1\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"dim1\",\"v0\",\"v1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"DAY\\\"\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"STRING\",\"FLOAT\",\"DOUBLE\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"v0\",\"type\":\"FLOAT\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"v1\",\"type\":\"DOUBLE\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"v0\",\"outputColumn\":\"floor_m1\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"v1\",\"outputColumn\":\"ceil_m2\"}]}]"; + "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"virtualColumns\":[{\"type\":\"expression\",\"name\":\"v0\",\"expression\":\"floor(\\\"m1\\\")\",\"outputType\":\"FLOAT\"},{\"type\":\"expression\",\"name\":\"v1\",\"expression\":\"ceil(\\\"m2\\\")\",\"outputType\":\"DOUBLE\"}],\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"v0\",\"order\":\"ascending\"},{\"columnName\":\"dim1\",\"order\":\"ascending\"},{\"columnName\":\"v1\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"v0\",\"dim1\",\"v1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"DAY\\\"\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"FLOAT\",\"STRING\",\"DOUBLE\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"v0\",\"type\":\"FLOAT\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"v1\",\"type\":\"DOUBLE\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"v0\",\"outputColumn\":\"floor_m1\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"v1\",\"outputColumn\":\"ceil_m2\"}]}]"; testQuery( PLANNER_CONFIG_NATIVE_QUERY_EXPLAIN, @@ -797,7 +813,7 @@ public void testExplainPlanInsertWithAsSubQueryClusteredBy() + "CLUSTERED BY 2, 3"; // Test correctness of the query when only the CLUSTERED BY clause is present - final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"external\",\"inputSource\":{\"type\":\"inline\",\"data\":\"{\\\" \\\": 1681794225551, \\\"namespace\\\": \\\"day1\\\", \\\"country\\\": \\\"one\\\"}\\n{\\\"__time\\\": 1681794225558, \\\"namespace\\\": \\\"day2\\\", \\\"country\\\": \\\"two\\\"}\"},\"inputFormat\":{\"type\":\"json\"},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"namespace\",\"type\":\"STRING\"},{\"name\":\"country\",\"type\":\"STRING\"}]},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"namespace\",\"order\":\"ascending\"},{\"columnName\":\"country\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"country\",\"namespace\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"{\\\"type\\\":\\\"all\\\"}\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"STRING\",\"STRING\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"namespace\",\"type\":\"STRING\"},{\"name\":\"country\",\"type\":\"STRING\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"namespace\",\"outputColumn\":\"namespace\"},{\"queryColumn\":\"country\",\"outputColumn\":\"country\"}]}]"; + final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"external\",\"inputSource\":{\"type\":\"inline\",\"data\":\"{\\\" \\\": 1681794225551, \\\"namespace\\\": \\\"day1\\\", \\\"country\\\": \\\"one\\\"}\\n{\\\"__time\\\": 1681794225558, \\\"namespace\\\": \\\"day2\\\", \\\"country\\\": \\\"two\\\"}\"},\"inputFormat\":{\"type\":\"json\"},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"namespace\",\"type\":\"STRING\"},{\"name\":\"country\",\"type\":\"STRING\"}]},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"namespace\",\"order\":\"ascending\"},{\"columnName\":\"country\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"namespace\",\"country\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"{\\\"type\\\":\\\"all\\\"}\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"STRING\",\"STRING\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"namespace\",\"type\":\"STRING\"},{\"name\":\"country\",\"type\":\"STRING\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"namespace\",\"outputColumn\":\"namespace\"},{\"queryColumn\":\"country\",\"outputColumn\":\"country\"}]}]"; testQuery( PLANNER_CONFIG_NATIVE_QUERY_EXPLAIN, @@ -860,7 +876,7 @@ public void testExplainPlanInsertJoinQuery() // Test correctness of the query when only the CLUSTERED BY clause is present - final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"join\",\"left\":{\"type\":\"external\",\"inputSource\":{\"type\":\"http\",\"uris\":[\"https://boo.gz\"],\"requestHeaders\":{}},\"inputFormat\":{\"type\":\"json\"},\"signature\":[{\"name\":\"isRobot\",\"type\":\"STRING\"},{\"name\":\"timestamp\",\"type\":\"STRING\"},{\"name\":\"cityName\",\"type\":\"STRING\"},{\"name\":\"countryIsoCode\",\"type\":\"STRING\"},{\"name\":\"regionName\",\"type\":\"STRING\"}]},\"right\":{\"type\":\"query\",\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"external\",\"inputSource\":{\"type\":\"http\",\"uris\":[\"https://foo.tsv\"],\"requestHeaders\":{}},\"inputFormat\":{\"type\":\"tsv\",\"delimiter\":\"\\t\",\"findColumnsFromHeader\":true},\"signature\":[{\"name\":\"Country\",\"type\":\"STRING\"},{\"name\":\"Capital\",\"type\":\"STRING\"},{\"name\":\"ISO3\",\"type\":\"STRING\"},{\"name\":\"ISO2\",\"type\":\"STRING\"}]},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"columns\":[\"Capital\",\"ISO2\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"HOUR\\\"\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"STRING\",\"STRING\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false}},\"rightPrefix\":\"j0.\",\"condition\":\"(\\\"countryIsoCode\\\" == \\\"j0.ISO2\\\")\",\"joinType\":\"LEFT\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"virtualColumns\":[{\"type\":\"expression\",\"name\":\"v0\",\"expression\":\"timestamp_parse(\\\"timestamp\\\",null,'UTC')\",\"outputType\":\"LONG\"}],\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"v0\",\"order\":\"ascending\"},{\"columnName\":\"isRobot\",\"order\":\"ascending\"},{\"columnName\":\"j0.Capital\",\"order\":\"ascending\"},{\"columnName\":\"regionName\",\"order\":\"ascending\"}],\"columns\":[\"isRobot\",\"j0.Capital\",\"regionName\",\"v0\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"HOUR\\\"\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"STRING\",\"STRING\",\"STRING\",\"LONG\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"v0\",\"type\":\"LONG\"},{\"name\":\"isRobot\",\"type\":\"STRING\"},{\"name\":\"j0.Capital\",\"type\":\"STRING\"},{\"name\":\"regionName\",\"type\":\"STRING\"}],\"columnMappings\":[{\"queryColumn\":\"v0\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"isRobot\",\"outputColumn\":\"isRobotAlias\"},{\"queryColumn\":\"j0.Capital\",\"outputColumn\":\"countryCapital\"},{\"queryColumn\":\"regionName\",\"outputColumn\":\"regionName\"}]}]"; + final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"join\",\"left\":{\"type\":\"external\",\"inputSource\":{\"type\":\"http\",\"uris\":[\"https://boo.gz\"],\"requestHeaders\":{}},\"inputFormat\":{\"type\":\"json\"},\"signature\":[{\"name\":\"isRobot\",\"type\":\"STRING\"},{\"name\":\"timestamp\",\"type\":\"STRING\"},{\"name\":\"cityName\",\"type\":\"STRING\"},{\"name\":\"countryIsoCode\",\"type\":\"STRING\"},{\"name\":\"regionName\",\"type\":\"STRING\"}]},\"right\":{\"type\":\"query\",\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"external\",\"inputSource\":{\"type\":\"http\",\"uris\":[\"https://foo.tsv\"],\"requestHeaders\":{}},\"inputFormat\":{\"type\":\"tsv\",\"delimiter\":\"\\t\",\"findColumnsFromHeader\":true},\"signature\":[{\"name\":\"Country\",\"type\":\"STRING\"},{\"name\":\"Capital\",\"type\":\"STRING\"},{\"name\":\"ISO3\",\"type\":\"STRING\"},{\"name\":\"ISO2\",\"type\":\"STRING\"}]},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"columns\":[\"Capital\",\"ISO2\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"HOUR\\\"\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"STRING\",\"STRING\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false}},\"rightPrefix\":\"j0.\",\"condition\":\"(\\\"countryIsoCode\\\" == \\\"j0.ISO2\\\")\",\"joinType\":\"LEFT\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"virtualColumns\":[{\"type\":\"expression\",\"name\":\"v0\",\"expression\":\"timestamp_parse(\\\"timestamp\\\",null,'UTC')\",\"outputType\":\"LONG\"}],\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"v0\",\"order\":\"ascending\"},{\"columnName\":\"isRobot\",\"order\":\"ascending\"},{\"columnName\":\"j0.Capital\",\"order\":\"ascending\"},{\"columnName\":\"regionName\",\"order\":\"ascending\"}],\"columns\":[\"v0\",\"isRobot\",\"j0.Capital\",\"regionName\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"HOUR\\\"\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"STRING\",\"STRING\",\"STRING\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"v0\",\"type\":\"LONG\"},{\"name\":\"isRobot\",\"type\":\"STRING\"},{\"name\":\"j0.Capital\",\"type\":\"STRING\"},{\"name\":\"regionName\",\"type\":\"STRING\"}],\"columnMappings\":[{\"queryColumn\":\"v0\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"isRobot\",\"outputColumn\":\"isRobotAlias\"},{\"queryColumn\":\"j0.Capital\",\"outputColumn\":\"countryCapital\"},{\"queryColumn\":\"regionName\",\"outputColumn\":\"regionName\"}]}]"; testQuery( PLANNER_CONFIG_NATIVE_QUERY_EXPLAIN, @@ -924,7 +940,8 @@ public void testInsertWithClusteredBy() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "dim1", "v0", "v1") + .columns("__time", "v0", "dim1", "v1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT, ColumnType.STRING, ColumnType.DOUBLE) .virtualColumns( expressionVirtualColumn("v0", "floor(\"m1\")", ColumnType.FLOAT), expressionVirtualColumn("v1", "ceil(\"m2\")", ColumnType.DOUBLE) @@ -965,7 +982,8 @@ public void testInsertPeriodFormGranularityWithClusteredBy() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "dim1", "v0", "v1") + .columns("__time", "v0", "dim1", "v1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT, ColumnType.STRING, ColumnType.DOUBLE) .virtualColumns( expressionVirtualColumn("v0", "floor(\"m1\")", ColumnType.FLOAT), expressionVirtualColumn("v1", "ceil(\"m2\")", ColumnType.DOUBLE) @@ -1018,7 +1036,8 @@ public void testInsertWithPartitionedByAndClusteredBy() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "dim1", "v0") + .columns("__time", "v0", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT, ColumnType.STRING) .virtualColumns(expressionVirtualColumn("v0", "floor(\"m1\")", ColumnType.FLOAT)) .orderBy( ImmutableList.of( @@ -1050,7 +1069,8 @@ public void testInsertWithPartitionedByAndLimitOffset() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "dim1", "v0") + .columns("__time", "v0", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT, ColumnType.STRING) .virtualColumns(expressionVirtualColumn("v0", "floor(\"m1\")", ColumnType.FLOAT)) .limit(10) .offset(20) @@ -1226,7 +1246,7 @@ public void testExplainPlanForInsertWithClusteredBy() throws JsonProcessingExcep .build(); final String explanation = - "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"virtualColumns\":[{\"type\":\"expression\",\"name\":\"v0\",\"expression\":\"floor(\\\"m1\\\")\",\"outputType\":\"FLOAT\"},{\"type\":\"expression\",\"name\":\"v1\",\"expression\":\"ceil(\\\"m2\\\")\",\"outputType\":\"DOUBLE\"}],\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"v0\",\"order\":\"ascending\"},{\"columnName\":\"dim1\",\"order\":\"ascending\"},{\"columnName\":\"v1\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"dim1\",\"v0\",\"v1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"DAY\\\"\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"STRING\",\"FLOAT\",\"DOUBLE\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"v0\",\"type\":\"FLOAT\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"v1\",\"type\":\"DOUBLE\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"v0\",\"outputColumn\":\"floor_m1\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"v1\",\"outputColumn\":\"ceil_m2\"}]}]"; + "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"virtualColumns\":[{\"type\":\"expression\",\"name\":\"v0\",\"expression\":\"floor(\\\"m1\\\")\",\"outputType\":\"FLOAT\"},{\"type\":\"expression\",\"name\":\"v1\",\"expression\":\"ceil(\\\"m2\\\")\",\"outputType\":\"DOUBLE\"}],\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"v0\",\"order\":\"ascending\"},{\"columnName\":\"dim1\",\"order\":\"ascending\"},{\"columnName\":\"v1\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"v0\",\"dim1\",\"v1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"DAY\\\"\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"FLOAT\",\"STRING\",\"DOUBLE\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"v0\",\"type\":\"FLOAT\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"v1\",\"type\":\"DOUBLE\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"v0\",\"outputColumn\":\"floor_m1\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"v1\",\"outputColumn\":\"ceil_m2\"}]}]"; final String resources = "[{\"name\":\"dst\",\"type\":\"DATASOURCE\"},{\"name\":\"foo\",\"type\":\"DATASOURCE\"}]"; final String attributes = "{\"statementType\":\"INSERT\",\"targetDataSource\":\"dst\",\"partitionedBy\":\"DAY\",\"clusteredBy\":[\"floor_m1\",\"dim1\",\"CEIL(\\\"m2\\\")\"]}"; @@ -1324,6 +1344,7 @@ public void testInsertFromExternalProjectSort() .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "concat(\"x\",\"y\")", ColumnType.STRING)) .columns("v0", "z") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .orderBy( ImmutableList.of( OrderBy.ascending("v0"), diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteJoinQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteJoinQueryTest.java index 68db38052754..95a1b2102dc9 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteJoinQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteJoinQueryTest.java @@ -167,6 +167,7 @@ public void testInnerJoinWithLimitAndAlias() ) ) .columns("_d0") + .columnTypes(ColumnType.LONG) .context(context) .build() ), @@ -254,6 +255,7 @@ public void testJoinOuterGroupByAndSubqueryHasLimit() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns(ImmutableList.of("m1")) + .columnTypes(ColumnType.FLOAT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -269,6 +271,7 @@ public void testJoinOuterGroupByAndSubqueryHasLimit() .intervals(querySegmentSpec(Filtration.eternity())) .limit(10) .columns("dim2", "m2") + .columnTypes(ColumnType.STRING, ColumnType.DOUBLE) .context(QUERY_CONTEXT_DEFAULT) .build() ) @@ -342,6 +345,7 @@ public void testJoinOuterGroupByAndSubqueryNoLimit(Map queryCont .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns(ImmutableList.of("m1")) + .columnTypes(ColumnType.FLOAT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -421,6 +425,7 @@ public void testJoinWithLimitBeforeJoining() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2", "m1", "m2") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT, ColumnType.DOUBLE) .context(QUERY_CONTEXT_DEFAULT) .limit(10) .build() @@ -429,7 +434,8 @@ public void testJoinWithLimitBeforeJoining() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("m1")) + .columns("m1") + .columnTypes(ColumnType.FLOAT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -790,6 +796,7 @@ public void testFilterAndGroupByLookupUsingJoinOperatorBackwards(Map queryCo ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2", "j0.k", "j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -1110,7 +1119,8 @@ public void testLeftJoinTwoLookupsUsingJoinOperator(Map queryCon ) ) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("_j0.v", "dim1", "dim2", "j0.v") + .columns("dim1", "dim2", "j0.v", "_j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -1162,6 +1172,7 @@ public void testInnerJoinTableLookupLookupWithFilterWithOuterLimit(Map queryConte .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("j0.v", "xa", ColumnType.STRING)) .columns("dim1") + .columnTypes(ColumnType.STRING) .context(queryContext) .build() ), @@ -1573,6 +1588,7 @@ public void testInnerJoinQueryOfLookup(Map queryContext) ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "dim2", "j0.a0") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -1638,6 +1654,7 @@ public void testInnerJoinQueryOfLookupRemovable(Map queryContext .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "substring(\"j0.v\", 0, 3)", ColumnType.STRING)) .columns("dim1", "dim2", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -1682,6 +1699,7 @@ public void testInnerJoinTwoLookupsToTableUsingNumericColumn(Map ) ) .columns("k", "v0") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1745,6 +1763,7 @@ public void testInnerJoinTwoLookupsToTableUsingNumericColumnInReverse(Map queryContext) .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "m1") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1810,6 +1830,7 @@ public void testInnerJoinLookupTableTable(Map queryContext) .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "m1") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1875,6 +1896,7 @@ public void testInnerJoinLookupTableTableChained(Map queryContex .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "m1") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1890,6 +1912,7 @@ public void testInnerJoinLookupTableTableChained(Map queryContex .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "m1") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1965,7 +1988,8 @@ public void testWhereInSelectNullFromLookup() .virtualColumns( expressionVirtualColumn("v0", "null", ColumnType.STRING) ) - .columns("__time", "cnt", "dim2", "dim3", "m1", "m2", "unique_dim1", "v0") + .columns("__time", "v0", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1997,6 +2021,7 @@ public void testCommaJoinLeftFunction() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "dim2", "j0.k", "j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -2046,6 +2071,7 @@ public void testCommaJoinTableLookupTableMismatchedTypes(Map que .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("cnt") + .columnTypes(ColumnType.LONG) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -2110,6 +2136,7 @@ public void testJoinTableLookupTableMismatchedTypesWithoutComma(Map queryContext) ) ) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("j0.k", "j0.v", "m1") + .columns("m1", "j0.k", "j0.v") + .columnTypes(ColumnType.FLOAT, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2209,6 +2238,7 @@ public void testInnerJoinCastRight(Map queryContext) ) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("k", "v", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.FLOAT) .context(queryContext) .build() ), @@ -2221,7 +2251,8 @@ public void testInnerJoinCastRight(Map queryContext) ) ) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("j0.k", "j0.v", "m1") + .columns("m1", "j0.k", "j0.v") + .columnTypes(ColumnType.FLOAT, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2256,6 +2287,7 @@ public void testInnerJoinMismatchedTypes(Map queryContext) ) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("k", "v", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.FLOAT) .context(queryContext) .build() ), @@ -2268,7 +2300,8 @@ public void testInnerJoinMismatchedTypes(Map queryContext) ) ) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("j0.k", "j0.v", "m1") + .columns("m1", "j0.k", "j0.v") + .columnTypes(ColumnType.FLOAT, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2304,6 +2337,7 @@ public void testInnerJoinLeftFunction(Map queryContext) ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "dim2", "j0.k", "j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2338,6 +2372,7 @@ public void testInnerJoinRightFunction(Map queryContext) ) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("k", "v", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2348,6 +2383,7 @@ public void testInnerJoinRightFunction(Map queryContext) ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "dim2", "j0.k", "j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2386,7 +2422,8 @@ public void testLeftJoinLookupOntoLookupUsingJoinOperator(Map qu ) ) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("_j0.v", "dim2", "j0.v") + .columns("dim2", "j0.v", "_j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2439,7 +2476,8 @@ public void testLeftJoinThreeLookupsUsingJoinOperator(Map queryC ) ) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__j0.v", "_j0.v", "dim1", "dim2", "j0.v") + .columns("dim1", "dim2", "j0.v", "_j0.v", "__j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2486,6 +2524,7 @@ public void testSelectOnLookupUsingLeftJoinOperator(Map queryCon ) ) .columns("dim1", "j0.k", "j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2535,6 +2574,7 @@ public void testSelectOnLookupUsingRightJoinOperator(Map queryCo ) ) .columns("dim1", "j0.k", "j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2577,7 +2617,8 @@ public void testSelectOnLookupUsingFullJoinOperator(Map queryCon not(equality("j0.v", "xxx", ColumnType.STRING)) ) ) - .columns("cnt", "dim1", "j0.k", "j0.v", "m1") + .columns("dim1", "m1", "cnt", "j0.k", "j0.v") + .columnTypes(ColumnType.STRING, ColumnType.FLOAT, ColumnType.LONG, ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -2818,6 +2859,7 @@ public void testInnerJoinWithIsNullFilter(Map queryContext) .intervals(querySegmentSpec(Filtration.eternity())) .filters(isNull("dim2")) .columns("dim1", "j0.v") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .build() ), ImmutableList.of( @@ -2895,7 +2937,8 @@ public void testLeftJoinOnTwoInlineDataSourcesWithTimeFilter(Map ) .filters(equality("dim1", "10.1", ColumnType.STRING)) .virtualColumns(expressionVirtualColumn("v0", "'10.1'", ColumnType.STRING)) - .columns(ImmutableList.of("__time", "v0")) + .columns(ImmutableList.of("v0", "__time")) + .columnTypes(ColumnType.STRING, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -2914,6 +2957,7 @@ public void testLeftJoinOnTwoInlineDataSourcesWithTimeFilter(Map .filters(equality("dim1", "10.1", ColumnType.STRING)) .virtualColumns(expressionVirtualColumn("v0", "'10.1'", ColumnType.STRING)) .columns(ImmutableList.of("v0")) + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -2926,7 +2970,8 @@ public void testLeftJoinOnTwoInlineDataSourcesWithTimeFilter(Map .virtualColumns(expressionVirtualColumn("_v0", "'10.1'", ColumnType.STRING)) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("_v0", "'10.1'", ColumnType.STRING)) - .columns("__time", "_v0") + .columns("_v0", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .context(queryContext) .build() ), @@ -2968,6 +3013,7 @@ public void testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAcces .filters(equality("dim1", "10.1", ColumnType.STRING)) .virtualColumns(expressionVirtualColumn("v0", "\'10.1\'", ColumnType.STRING)) .columns(ImmutableList.of("v0")) + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -2985,7 +3031,8 @@ public void testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAcces ) )) .virtualColumns(expressionVirtualColumn("v0", "\'10.1\'", ColumnType.STRING)) - .columns("__time", "v0") + .columns("v0", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .context(queryContext) .build() ), @@ -3016,7 +3063,8 @@ public void testLeftJoinOnTwoInlineDataSourcesWithOuterWhere(Map .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim1", "10.1", ColumnType.STRING)) .virtualColumns(expressionVirtualColumn("v0", "'10.1'", ColumnType.STRING)) - .columns(ImmutableList.of("__time", "v0")) + .columns(ImmutableList.of("v0", "__time")) + .columnTypes(ColumnType.STRING, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -3027,6 +3075,7 @@ public void testLeftJoinOnTwoInlineDataSourcesWithOuterWhere(Map .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim1", "10.1", ColumnType.STRING)) .columns(ImmutableList.of("dim1")) + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -3038,7 +3087,8 @@ public void testLeftJoinOnTwoInlineDataSourcesWithOuterWhere(Map ) .virtualColumns(expressionVirtualColumn("_v0", "'10.1'", ColumnType.STRING)) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "_v0") + .columns("_v0", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .context(queryContext) .build() ), @@ -3071,7 +3121,8 @@ public void testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAcces .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim1", "10.1", ColumnType.STRING)) - .columns(ImmutableList.of("dim1")) + .columns("dim1") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -3087,7 +3138,8 @@ public void testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAcces ) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "\'10.1\'", ColumnType.STRING)) - .columns("__time", "v0") + .columns("v0", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .context(queryContext) .build() ), @@ -3118,7 +3170,8 @@ public void testLeftJoinOnTwoInlineDataSources(Map queryContext) .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim1", "10.1", ColumnType.STRING)) .virtualColumns(expressionVirtualColumn("v0", "\'10.1\'", ColumnType.STRING)) - .columns(ImmutableList.of("__time", "v0")) + .columns(ImmutableList.of("v0", "__time")) + .columnTypes(ColumnType.STRING, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -3129,6 +3182,7 @@ public void testLeftJoinOnTwoInlineDataSources(Map queryContext) .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim1", "10.1", ColumnType.STRING)) .columns(ImmutableList.of("dim1")) + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -3140,7 +3194,8 @@ public void testLeftJoinOnTwoInlineDataSources(Map queryContext) ) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("_v0", "\'10.1\'", ColumnType.STRING)) - .columns("__time", "_v0") + .columns("_v0", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .context(queryContext) .build() ), @@ -3174,6 +3229,7 @@ public void testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess(Map queryContext .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim1", "10.1", ColumnType.STRING)) .virtualColumns(expressionVirtualColumn("v0", "\'10.1\'", ColumnType.STRING)) - .columns(ImmutableList.of("__time", "v0")) + .columns(ImmutableList.of("v0", "__time")) + .columnTypes(ColumnType.STRING, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -3333,6 +3396,7 @@ public void testInnerJoinOnTwoInlineDataSources(Map queryContext .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim1", "10.1", ColumnType.STRING)) .columns(ImmutableList.of("dim1")) + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -3344,7 +3408,8 @@ public void testInnerJoinOnTwoInlineDataSources(Map queryContext ) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("_v0", "\'10.1\'", ColumnType.STRING)) - .columns("__time", "_v0") + .columnTypes(ColumnType.STRING, ColumnType.LONG) + .columns("_v0", "__time") .context(queryContext) .build() ), @@ -3384,7 +3449,8 @@ public void testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources(Map queryConte ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "j0.d0") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build(); @@ -3645,6 +3717,7 @@ public void testLeftJoinSubqueryWithNullKeyFilter(Map queryConte ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "j0.d0") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .filters(notNull("j0.d0")) .context(queryContext) .build(); @@ -3716,6 +3789,7 @@ public void testLeftJoinSubqueryWithSelectorFilter(Map queryCont ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "j0.d0") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .filters(equality("j0.d0", "abc", ColumnType.STRING)) .context(queryContext) .build() @@ -3746,6 +3820,7 @@ public void testLeftJoinWithNotNullFilter(Map queryContext) .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns(ImmutableList.of("dim1")) + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build()), @@ -3756,6 +3831,7 @@ public void testLeftJoinWithNotNullFilter(Map queryContext) ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "j0.dim1") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -3792,6 +3868,7 @@ public void testInnerJoin(Map queryContext) .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns(ImmutableList.of("dim1")) + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build()), @@ -3802,6 +3879,7 @@ public void testInnerJoin(Map queryContext) ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "j0.dim1") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -3848,6 +3926,7 @@ public void testJoinWithExplicitIsNotDistinctFromCondition(Map q .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns(ImmutableList.of("dim1")) + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build()), @@ -3858,6 +3937,7 @@ public void testJoinWithExplicitIsNotDistinctFromCondition(Map q ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "j0.dim1") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -3922,6 +4002,7 @@ public void testInnerJoinSubqueryWithSelectorFilter(Map queryCon ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "j0.d0") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -3970,6 +4051,7 @@ public void testSemiJoinWithOuterTimeExtractScan() not(equality("dim1", "", ColumnType.STRING)) ) .columns("dim1", "v0") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -4713,6 +4795,7 @@ public void testJoinWithNonEquiCondition(Map queryContext) .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("m1") + .columnTypes(ColumnType.FLOAT) .context(queryContext) .build() ), @@ -4723,7 +4806,8 @@ public void testJoinWithNonEquiCondition(Map queryContext) ) .intervals(querySegmentSpec(Filtration.eternity())) .filters(expressionFilter("(\"m1\" > \"j0.m1\")")) - .columns("j0.m1", "m1") + .columns("m1", "j0.m1") + .columnTypes(ColumnType.FLOAT, ColumnType.FLOAT) .context(queryContext) .build() ), @@ -4774,6 +4858,7 @@ public void testJoinWithEquiAndNonEquiCondition(Map queryContext .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("m1") + .columnTypes(ColumnType.FLOAT) .context(queryContext) .build() ), @@ -4787,7 +4872,8 @@ public void testJoinWithEquiAndNonEquiCondition(Map queryContext .filters( equality("v0", 6.0, ColumnType.DOUBLE) ) - .columns("j0.m1", "m1") + .columns("m1", "j0.m1") + .columnTypes(ColumnType.FLOAT, ColumnType.FLOAT) .context(queryContext) .build() ), @@ -4989,6 +5075,7 @@ public void testNestedGroupByOnInlineDataSourceWithFilter(Map qu .intervals(querySegmentSpec(Intervals.of( "2001-01-02T00:00:00.000Z/146140482-04-24T15:36:27.903Z"))) .columns("dim1") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -4999,6 +5086,7 @@ public void testNestedGroupByOnInlineDataSourceWithFilter(Map qu .intervals(querySegmentSpec(Intervals.of( "2001-01-02T00:00:00.000Z/146140482-04-24T15:36:27.903Z"))) .columns("dim1", "m2") + .columnTypes(ColumnType.STRING, ColumnType.DOUBLE) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -5063,6 +5151,7 @@ public void testGroupByJoinAsNativeQueryWithUnoptimizedFilter(Map queryContext) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "\'10.1\'", ColumnType.STRING)) .columns("v0") + .columnTypes(ColumnType.STRING) .context(queryContext) .build() ), @@ -5261,6 +5352,7 @@ public void testVirtualColumnOnMVFilterJoinExpression(Map queryC true )) .columns("dim3", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -5278,6 +5370,7 @@ public void testVirtualColumnOnMVFilterJoinExpression(Map queryC true )) .columns("dim3", "j0.dim3") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -5325,6 +5418,7 @@ public void testVirtualColumnOnMVFilterMultiJoinExpression(Map q true )) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -5342,6 +5436,7 @@ public void testVirtualColumnOnMVFilterMultiJoinExpression(Map q true )) .columns("dim3", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -5357,7 +5452,8 @@ public void testVirtualColumnOnMVFilterMultiJoinExpression(Map q ImmutableSet.of("a"), true )) - .columns("_j0.dim3", "dim3") + .columns("dim3", "_j0.dim3") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(queryContext) .build() ), @@ -5381,6 +5477,7 @@ public void testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults(Map> buildFilterTestExpectedQueryAlwaysFalse() .build() )) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("$f1", "EXPR$0") + .columns("EXPR$0", "$f1") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT) .build() diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteMultiValueStringQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteMultiValueStringQueryTest.java index 4ce75b6270d3..8c76d6f9da6b 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteMultiValueStringQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteMultiValueStringQueryTest.java @@ -193,6 +193,7 @@ public void testMultiValueStringWorksLikeStringScan() .eternityInterval() .virtualColumns(expressionVirtualColumn("v0", "concat(\"dim3\",'foo')", ColumnType.STRING)) .columns(ImmutableList.of("v0")) + .columnTypes(ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -220,6 +221,7 @@ public void testMultiValueStringWorksLikeStringSelfConcatScan() .eternityInterval() .virtualColumns(expressionVirtualColumn("v0", "concat(\"dim3\",'-lol-',\"dim3\")", ColumnType.STRING)) .columns(ImmutableList.of("v0")) + .columnTypes(ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -248,6 +250,7 @@ public void testMultiValueStringWorksLikeStringScanWithFilter() .virtualColumns(expressionVirtualColumn("v0", "concat(\"dim3\",'','foo')", ColumnType.STRING)) .filters(equality("v0", "bfoo", ColumnType.STRING)) .columns(ImmutableList.of("v0")) + .columnTypes(ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -271,6 +274,7 @@ public void testMultiValueStringOverlapFilter() .eternityInterval() .filters(in("dim3", ImmutableList.of("a", "b"))) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -296,6 +300,7 @@ public void testMultiValueStringOverlapFilterNull() NullHandling.sqlCompatible() ? NullFilter.forColumn("dim3") : selector("dim3", null) ) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -325,6 +330,7 @@ public void testMultiValueStringOverlapFilterNonLiteral() .eternityInterval() .filters(expressionFilter("array_overlap(mv_harmonize_nulls(\"dim3\"),array(\"dim2\"))")) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -353,6 +359,7 @@ public void testMultiValueStringContainsFilter() ) ) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -377,6 +384,7 @@ public void testMultiValueStringContainsFilterNull() NullHandling.sqlCompatible() ? NullFilter.forColumn("dim3") : selector("dim3", null) ) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -406,6 +414,7 @@ public void testMultiValueStringContainsArrayOfOneElement() .eternityInterval() .filters(equality("dim3", "a", ColumnType.STRING)) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -428,6 +437,7 @@ public void testMultiValueStringContainsArrayOfNonLiteral() .eternityInterval() .filters(expressionFilter("array_contains(mv_harmonize_nulls(\"dim3\"),array(\"dim2\"))")) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -451,6 +461,7 @@ public void testMultiValueStringSlice() .eternityInterval() .virtualColumns(expressionVirtualColumn("v0", "array_slice(\"dim3\",1)", ColumnType.STRING)) .columns(ImmutableList.of("v0")) + .columnTypes(ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -1121,6 +1132,7 @@ public void testSelectAndFilterByStringToMV() .filters(expressionFilter( "array_contains(string_to_array(concat(array_to_string(\"dim3\",','),',d'),','),'d')")) .columns("v0") + .columnTypes(ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .build() ) @@ -1330,6 +1342,7 @@ public void testMultiValueListFilterNonLiteral() ) ) .columns("v0") + .columnTypes(ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1417,6 +1430,7 @@ public void testMultiValueListFilterDenyNonLiteral() ) ) .columns("v0") + .columnTypes(ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -2159,6 +2173,7 @@ public void testMultiValueStringOverlapFilterCoalesceNvl() .filters(expressionFilter( "array_overlap(nvl(mv_to_array(\"dim3\"),array('other')),array('a','b','other'))")) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -2205,6 +2220,7 @@ public void testMultiValueStringOverlapFilterCoalesceSingleValue() ) ) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -2258,6 +2274,7 @@ public void testMultiValueStringOverlapFilterCoalesceSingleValueOtherColumn() ) ) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT) @@ -2329,6 +2346,7 @@ public void testMvContainsFilterWithExtractionFn() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim3") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(5) .context(QUERY_CONTEXT_DEFAULT); @@ -2368,6 +2386,7 @@ public void testMvContainsSelectColumns() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0", "v1") + .columnTypes(ColumnType.LONG, ColumnType.LONG) .virtualColumns( expressionVirtualColumn("v0", "array_contains(mv_harmonize_nulls(\"dim3\"),array('a','b'))", ColumnType.LONG), expressionVirtualColumn("v1", "array_overlap(mv_harmonize_nulls(\"dim3\"),array('a','b'))", ColumnType.LONG) diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteNestedDataQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteNestedDataQueryTest.java index ec4d5812dd5d..328e9cbdd5ba 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteNestedDataQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteNestedDataQueryTest.java @@ -1183,6 +1183,7 @@ public void testJsonValueArrays() new NestedFieldVirtualColumn("arrayNestedLong", "$[0]", "v3", ColumnType.LONG_ARRAY) ) .columns("v0", "v1", "v2", "v3") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.LONG_ARRAY, ColumnType.DOUBLE_ARRAY, ColumnType.LONG_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ) @@ -1270,6 +1271,7 @@ public void testUnnestRootSingleTypeArrayLongNulls() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("j0.unnest") + .columnTypes(ColumnType.LONG) .context(QUERY_CONTEXT_NO_STRINGIFY_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -1329,6 +1331,7 @@ public void testUnnestRootSingleTypeArrayStringNulls() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("j0.unnest") + .columnTypes(ColumnType.STRING) .context(QUERY_CONTEXT_NO_STRINGIFY_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -1385,6 +1388,7 @@ public void testUnnestRootSingleTypeArrayDoubleNulls() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("j0.unnest") + .columnTypes(ColumnType.DOUBLE) .context(QUERY_CONTEXT_NO_STRINGIFY_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -4856,6 +4860,7 @@ public void testJsonQuery() ) ) .columns("v0", "v1") + .columnTypes(ColumnType.NESTED_DATA, ColumnType.NESTED_DATA) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -4905,6 +4910,7 @@ public void testJsonQueryAndJsonObject() new NestedFieldVirtualColumn("nest", "$.x", "v2", ColumnType.STRING) ) .columns("v0") + .columnTypes(ColumnType.NESTED_DATA) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -4954,6 +4960,7 @@ public void testJsonMerging() ) ) .columns("v0") + .columnTypes(ColumnType.ofComplex("json")) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -5001,6 +5008,7 @@ public void testCompositionTyping() ) ) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -5051,6 +5059,7 @@ public void testToJsonAndParseJson() ) ) .columns("string", "v0", "v1", "v2") + .columnTypes(ColumnType.STRING, ColumnType.NESTED_DATA, ColumnType.NESTED_DATA, ColumnType.NESTED_DATA) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -5146,6 +5155,7 @@ public void testJsonPathNegativeIndex() expressionVirtualColumn("v2", "json_keys(\"nester\",'$.array[-1]')", ColumnType.STRING_ARRAY) ) .columns("v0", "v1", "v2") + .columnTypes(ColumnType.STRING, ColumnType.NESTED_DATA, ColumnType.STRING_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -5182,6 +5192,7 @@ public void testJsonPathsNonJsonInput() expressionVirtualColumn("v1", "array('$')", ColumnType.STRING_ARRAY) ) .columns("v0", "v1") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.STRING_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -5220,6 +5231,7 @@ public void testJsonKeysNonJsonInput() expressionVirtualColumn("v1", "null", ColumnType.STRING_ARRAY) ) .columns("v0", "v1") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.STRING_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -5343,9 +5355,8 @@ public void testSelectPathSelectorFilterVariantNull() new NestedFieldVirtualColumn("nester", "$.n.x", "v0", ColumnType.LONG), new NestedFieldVirtualColumn("nest", "$.x", "v1", ColumnType.STRING) ) - .columns( - "v0", "v1" - ) + .columns("v1", "v0") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .filters(isNull("v0")) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -5551,6 +5562,7 @@ public void testScanStringNotNullCast() ) .filters(notNull("v0")) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -6020,42 +6032,43 @@ public void testScanAllTypesAuto() .intervals(querySegmentSpec(Filtration.eternity())) .columns( "__time", - "arrayBool", - "arrayDouble", - "arrayDoubleNulls", + "str", + "long", + "double", + "bool", + "variant", + "variantNumeric", + "variantEmptyObj", + "variantEmtpyArray", + "variantWithArrays", + "obj", + "complexObj", + "arrayString", + "arrayStringNulls", "arrayLong", "arrayLongNulls", + "arrayDouble", + "arrayDoubleNulls", + "arrayVariant", + "arrayBool", "arrayNestedLong", "arrayObject", - "arrayString", - "arrayStringNulls", - "arrayVariant", - "bool", + "null", + "cstr", + "clong", + "cdouble", + "cObj", + "cstringArray", + "cLongArray", "cDoubleArray", "cEmptyArray", "cEmptyObj", - "cEmptyObjectArray", - "cLongArray", "cNullArray", - "cObj", + "cEmptyObjectArray", "cObjectArray", - "cdouble", - "clong", - "cnt", - "complexObj", - "cstr", - "cstringArray", - "double", - "long", - "null", - "obj", - "str", - "variant", - "variantEmptyObj", - "variantEmtpyArray", - "variantNumeric", - "variantWithArrays" + "cnt" ) + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.LONG, ColumnType.DOUBLE, ColumnType.LONG, ColumnType.STRING, ColumnType.DOUBLE, ColumnType.ofComplex("json"), ColumnType.LONG_ARRAY, ColumnType.STRING_ARRAY, ColumnType.ofComplex("json"), ColumnType.ofComplex("json"), ColumnType.STRING_ARRAY, ColumnType.STRING_ARRAY, ColumnType.LONG_ARRAY, ColumnType.LONG_ARRAY, ColumnType.DOUBLE_ARRAY, ColumnType.DOUBLE_ARRAY, ColumnType.STRING_ARRAY, ColumnType.LONG_ARRAY, ColumnType.ofComplex("json"), ColumnType.ofComplex("json"), ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.DOUBLE, ColumnType.ofComplex("json"), ColumnType.STRING_ARRAY, ColumnType.LONG_ARRAY, ColumnType.DOUBLE_ARRAY, ColumnType.LONG_ARRAY, ColumnType.ofComplex("json"), ColumnType.LONG_ARRAY, ColumnType.ofComplex("json"), ColumnType.ofComplex("json"), ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -6648,6 +6661,7 @@ public void testFilterJsonIsNotNull() .dataSource(DATA_SOURCE) .intervals(querySegmentSpec(Filtration.eternity())) .columns("nest") + .columnTypes(ColumnType.NESTED_DATA) .filters(notNull("nest")) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -6677,6 +6691,7 @@ public void testFilterJsonIsNull() .dataSource(DATA_SOURCE) .intervals(querySegmentSpec(Filtration.eternity())) .columns("nest", "nester") + .columnTypes(ColumnType.ofComplex("json"), ColumnType.ofComplex("json")) .filters(isNull("nest")) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -6733,6 +6748,7 @@ public void testCoalesceOnNestedColumns() .virtualColumns(expressionVirtualColumn("v0", "nvl(\"j0.unnest\",\"long\")", ColumnType.LONG)) .intervals(querySegmentSpec(Filtration.eternity())) .columns("j0.unnest", "long", "v0") + .columnTypes(ColumnType.LONG, ColumnType.LONG, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -6780,6 +6796,7 @@ public void testCoalesceOnNestedColumnsLater() )) .intervals(querySegmentSpec(Filtration.eternity())) .columns("long") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -6794,6 +6811,7 @@ public void testCoalesceOnNestedColumnsLater() .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "nvl(\"long\",\"j0.unnest\")", ColumnType.LONG)) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -6879,6 +6897,7 @@ public void testJsonQueryDynamicArg() ) ) .columns("v0", "v1") + .columnTypes(ColumnType.STRING_ARRAY, ColumnType.ofComplex("json")) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -6919,6 +6938,7 @@ public void testJsonQueryArrays() ) ) .columns("v0") + .columnTypes(ColumnType.ofArray(ColumnType.NESTED_DATA)) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -6972,6 +6992,7 @@ public void testJsonQueryArrayNullArray() ) .filters(isNull("arrayObject")) .columns("v0") + .columnTypes(ColumnType.ofArray(ColumnType.NESTED_DATA)) .limit(1) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -7012,6 +7033,7 @@ public void testUnnestJsonQueryArrays() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("j0.unnest") + .columnTypes(ColumnType.ofComplex("json")) .context(QUERY_CONTEXT_NO_STRINGIFY_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -7182,9 +7204,8 @@ public void testJsonValueNestedEmptyArray() Druids.newScanQueryBuilder() .dataSource(DATA_SOURCE_ALL) .intervals(querySegmentSpec(Filtration.eternity())) - .columns( - "v0" - ) + .columns("v0") + .columnTypes(ColumnType.STRING) .virtualColumns( new NestedFieldVirtualColumn( "cObj", @@ -7238,7 +7259,8 @@ public void testNvlJsonValueDoubleMissingColumn() ) .filters(range("v0", ColumnType.LONG, NullHandling.sqlCompatible() ? 0.0 : "0", null, true, false)) .limit(1) - .columns("v0", "v1", "v2") + .columns("v1", "v0", "v2") + .columnTypes(ColumnType.DOUBLE, ColumnType.DOUBLE, ColumnType.LONG) .build() ), NullHandling.sqlCompatible() @@ -7273,6 +7295,7 @@ public void testNvlJsonValueDoubleSometimesMissing() expressionVirtualColumn("v3", "(nvl(\"v0\",1.0) == 1.0)", ColumnType.LONG) ) .columns("v0", "v1", "v2", "v3") + .columnTypes(ColumnType.DOUBLE, ColumnType.DOUBLE, ColumnType.LONG, ColumnType.LONG) .build() ), NullHandling.sqlCompatible() @@ -7323,7 +7346,8 @@ public void testNvlJsonValueDoubleSometimesMissingRangeFilter() expressionVirtualColumn("v2", "notnull(nvl(\"v1\",1.0))", ColumnType.LONG) ) .filters(range("v0", ColumnType.LONG, NullHandling.sqlCompatible() ? 0.0 : "0", null, true, false)) - .columns("v0", "v1", "v2") + .columns("v1", "v0", "v2") + .columnTypes(ColumnType.DOUBLE, ColumnType.DOUBLE, ColumnType.LONG) .build() ), NullHandling.sqlCompatible() @@ -7397,7 +7421,8 @@ public void testNvlJsonValueDoubleSometimesMissingEqualityFilter() expressionVirtualColumn("v2", "notnull(nvl(\"v1\",1.0))", ColumnType.LONG) ) .filters(equality("v0", 1.0, ColumnType.DOUBLE)) - .columns("v0", "v1", "v2") + .columns("v1", "v0", "v2") + .columnTypes(ColumnType.DOUBLE, ColumnType.DOUBLE, ColumnType.LONG) .build() ), NullHandling.sqlCompatible() diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteParameterQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteParameterQueryTest.java index bd9c5649df17..a023e731e58c 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteParameterQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteParameterQueryTest.java @@ -74,6 +74,7 @@ public void testSelectConstantParamGetsConstant() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -94,7 +95,8 @@ public void testParamsGetOptimizedIntoConstant() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "2", ColumnType.LONG)) - .columns("dim1", "v0") + .columns("v0", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) .context(QUERY_CONTEXT_DEFAULT) @@ -246,6 +248,7 @@ public void testParamsInSelectExpressionAndLimit() expressionVirtualColumn("v0", "substring(\"dim2\", 0, 1)", ColumnType.STRING) ) .columns("v0") + .columnTypes(ColumnType.STRING) .limit(2) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) @@ -684,6 +687,7 @@ public void testWrongTypeParameter() .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .context(QUERY_CONTEXT_DEFAULT) .build() ), diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java index 791e5bf4bb79..68fd07701439 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java @@ -624,7 +624,8 @@ public void testDiv() expressionVirtualColumn("v0", "div(\"m1\",2)", ColumnType.LONG), expressionVirtualColumn("v1", "div((\"cnt\" + 2),(\"cnt\" + 1))", ColumnType.LONG) ) - .columns(ImmutableList.of("cnt", "m1", "v0", "v1")) + .columns("cnt", "m1", "v0", "v1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT, ColumnType.LONG, ColumnType.LONG) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1354,6 +1355,7 @@ public void testStringLatestGroupByWithAlwaysFalseCondition() )) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0", "dim2") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -1378,6 +1380,7 @@ public void testStringLatestByGroupByWithAlwaysFalseCondition() )) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0", "dim2") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -2529,7 +2532,8 @@ public void testDECODE_BASE64_UTF8() ) ) .limit(1) - .columns(ImmutableList.of("v0")) + .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -3347,6 +3351,7 @@ public void testDecomposeCaseWhenThreeArg() ) ) .columns("dim1", "dim2", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .build() ), ImmutableList.of( @@ -3380,6 +3385,7 @@ public void testDecomposeCaseWhenTwoArg() ) ) .columns("v0", "v1") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .build() ), ImmutableList.of( @@ -3480,6 +3486,7 @@ public void testNullLongFilter() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ) @@ -3517,6 +3524,7 @@ public void testNullDoubleFilter() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ) @@ -3554,6 +3562,7 @@ public void testNullFloatFilter() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ) @@ -3816,6 +3825,7 @@ public void testLongPredicateIsNull() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0") + .columnTypes(ColumnType.LONG) .virtualColumns( expressionVirtualColumn( "v0", @@ -3972,6 +3982,7 @@ public void testNullStringEquality() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -4181,6 +4192,7 @@ public void testGroupingWithNullInFilter() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -4225,6 +4237,7 @@ public void testGroupingWithNotNullPlusNonNullInFilter() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -4249,6 +4262,7 @@ public void testGroupByNothingWithLiterallyFalseFilter() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0", "EXPR$1") + .columnTypes(ColumnType.LONG, ColumnType.LONG) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -4321,6 +4335,7 @@ public void testGroupByOneColumnWithLiterallyFalseFilter() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0", "EXPR$1") + .columnTypes(ColumnType.LONG, ColumnType.LONG) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -6389,6 +6404,7 @@ public void testCountStarWithNotOfDegenerateFilter() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -6814,6 +6830,7 @@ public void testTimeInIntervalBooleanNullable() .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(new ExpressionVirtualColumn("v0", ExprEval.of(1L).toExpr(), ColumnType.LONG)) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_LOS_ANGELES) .build() @@ -7775,7 +7792,8 @@ public void testMultipleExactCountDistinctWithGroupingAndOtherAggregatorsUsingJo ) .context(QUERY_CONTEXT_DEFAULT) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("_j0.a0", "a0", "d0", "j0.a0")) + .columns("d0", "a0", "j0.a0", "_j0.a0") + .columnTypes(ColumnType.STRING, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG) .build() ), NullHandling.sqlCompatible() @@ -7807,6 +7825,7 @@ public void testTimeFilterOnSubquery() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("__time", "m1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(100) .context(QUERY_CONTEXT_DEFAULT) @@ -7832,6 +7851,7 @@ public void testTimeFilterOnSubquery() ) )) .columns("__time", "m1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -12669,6 +12689,7 @@ public void testConcat() ColumnType.STRING )) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -12700,6 +12721,7 @@ public void testConcat2() ColumnType.STRING )) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -12806,6 +12828,7 @@ public void testConcatDecomposeAlwaysFalseOrUnknown() equality("dim2", "4", ColumnType.STRING) )) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -12856,6 +12879,7 @@ public void testConcatDecomposeAlwaysFalseOrUnknownNegated() ) ) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -12897,6 +12921,7 @@ public void testConcatDecomposeIsNull() )) .filters(or(isNull("dim1"), isNull("dim2"))) .columns("dim1", "dim2", "v0") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -12913,6 +12938,7 @@ public void testConcatDecomposeIsNull() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "dim2", "dimX") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -12943,6 +12969,7 @@ public void testConcatDoubleBarsDecompose() and(equality("dim1", "3", ColumnType.STRING), equality("dim2", "4", ColumnType.STRING)) )) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -12964,6 +12991,7 @@ public void testTextcat() .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "concat(\"dim1\",\"dim1\")", ColumnType.STRING)) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -12977,7 +13005,11 @@ public void testTextcat() new Object[]{"abcabc"} ) ); + } + @Test + public void testTextcat2() + { testQuery( "SELECT textcat(dim1, CAST(m2 as VARCHAR)) as dimX FROM foo", ImmutableList.of( @@ -12990,6 +13022,7 @@ public void testTextcat() ColumnType.STRING )) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -13169,6 +13202,7 @@ public void testRequireTimeConditionLogicalValuePositive() RowSignature.builder().add("a", ColumnType.LONG).build() )) .columns("a") + .columnTypes(ColumnType.LONG) .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) @@ -13248,6 +13282,7 @@ public void testFilterFloatDimension() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1") + .columnTypes(ColumnType.STRING) .filters(equality("f1", 0.1, ColumnType.DOUBLE)) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) @@ -13270,6 +13305,7 @@ public void testFilterDoubleDimension() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1") + .columnTypes(ColumnType.STRING) .filters(equality("d1", 1.7, ColumnType.DOUBLE)) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) @@ -13292,6 +13328,7 @@ public void testFilterLongDimension() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1") + .columnTypes(ColumnType.STRING) .filters(equality("l1", 7L, ColumnType.LONG)) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) @@ -13367,6 +13404,7 @@ public void testRadiansAndDegrees() expressionVirtualColumn("v0", "(toRadians((\"m1\" * 15)) / toDegrees(\"m2\"))", ColumnType.DOUBLE) ) .columns("v0") + .columnTypes(ColumnType.DOUBLE) .filters(equality("dim1", "1", ColumnType.STRING)) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) @@ -13417,6 +13455,7 @@ public void testTimestampDiff() expressionVirtualColumn("v8", "div(div((\"__time\" - 907200000000),1000),604800)", ColumnType.LONG) ) .columns("v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8") + .columnTypes(ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG) .limit(2) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) @@ -13447,6 +13486,7 @@ public void testTimestampCeil() expressionVirtualColumn("v1", "946771200000", ColumnType.LONG) ) .columns("v0", "v1") + .columnTypes(ColumnType.LONG, ColumnType.LONG) .limit(1) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) @@ -13768,6 +13808,7 @@ public void testTimeStampAddZeroDayPeriod() expressionVirtualColumn("v0", "(\"__time\" + 0)", ColumnType.LONG) ) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build()), @@ -13797,6 +13838,7 @@ public void testTimeStampAddZeroMonthPeriod() ) ) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build()), @@ -13826,6 +13868,7 @@ public void testTimeStampAddZeroYearPeriod() ) ) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build()), @@ -13864,6 +13907,7 @@ public void testTimeStampAddConversion() ) ) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build()), @@ -13892,6 +13936,7 @@ public void testTimeStampAddConversion() ) ) .columns("v0") + .columnTypes(ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build()), @@ -14055,6 +14100,7 @@ public void testRoundFunc() expressionVirtualColumn("v0", "round(\"f1\")", ColumnType.FLOAT) ) .columns("f1", "v0") + .columnTypes(ColumnType.FLOAT, ColumnType.FLOAT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -14915,6 +14961,7 @@ public void testHumanReadableFormatFunction() expressionVirtualColumn("v7", "human_readable_decimal_format(\"l1\")", ColumnType.STRING) ) .columns("m1", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7") + .columnTypes(ColumnType.FLOAT, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .filters(equality("dim1", "1", ColumnType.STRING)) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) @@ -15134,6 +15181,7 @@ public void testPlanWithInFilterLessThanInSubQueryThreshold() Druids.newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE3) .columns("l1") + .columnTypes(ColumnType.LONG) .intervals(querySegmentSpec(Filtration.eternity())) .context(QUERY_CONTEXT_DEFAULT) .filters( @@ -15377,6 +15425,7 @@ public void testComplexDecode() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0") + .columnTypes(ColumnType.ofComplex("hyperUnique")) .virtualColumns( expressionVirtualColumn( "v0", @@ -15502,7 +15551,8 @@ public void testOrderByAlongWithInternalScanQuery() .intervals(querySegmentSpec(Intervals.of( "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"))) .limit(1) - .columns(ImmutableList.of("__time", "m1")) + .columns("__time", "m1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT) .order(Order.ASCENDING) .build() ), @@ -15544,7 +15594,8 @@ public void testOrderByAlongWithInternalScanQueryNoDistinct() .intervals(querySegmentSpec(Intervals.of( "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"))) .limit(1) - .columns(ImmutableList.of("__time", "m1")) + .columns("__time", "m1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT) .order(Order.DESCENDING) .build() ), @@ -15566,7 +15617,8 @@ public void testFilterWithNVLAndNotIn() .context(QUERY_CONTEXT_DEFAULT) .intervals(querySegmentSpec(Intervals.of( "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"))) - .columns(ImmutableList.of("__time", "dim1")) + .columns("__time", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .filters(not(in("dim1", Arrays.asList("", "a")))) .build() ), @@ -15592,7 +15644,8 @@ public void testFilterWithNVLAndInIsNotTrue() .context(QUERY_CONTEXT_DEFAULT) .intervals(querySegmentSpec(Intervals.of( "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"))) - .columns(ImmutableList.of("__time", "dim1")) + .columns("__time", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .filters(not(in("dim1", Arrays.asList("", "a")))) .build() ), @@ -15618,7 +15671,8 @@ public void testFilterWithNvlishCaseAndNotIn() .context(QUERY_CONTEXT_DEFAULT) .intervals(querySegmentSpec(Intervals.of( "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"))) - .columns(ImmutableList.of("__time", "dim1")) + .columns("__time", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .filters(not(in("dim1", Arrays.asList("", "a")))) .build() ), @@ -15644,7 +15698,8 @@ public void testFilterWithNvlishCase2AndNotIn() .context(QUERY_CONTEXT_DEFAULT) .intervals(querySegmentSpec(Intervals.of( "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"))) - .columns(ImmutableList.of("__time", "dim1")) + .columns("__time", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .filters(not(in("dim1", Arrays.asList("", "a")))) .build() ), @@ -15874,7 +15929,7 @@ public void testInGroupByLimitOutGroupByOrderBy() false ) ) - .setProjectedColumns("a0", "d0") + .setProjectedColumns("d0", "a0") .build() ) .build() @@ -15956,7 +16011,7 @@ public void testInGroupByOrderByLimitOutGroupByOrderByLimit() false ) ) - .setProjectedColumns("a0", "d0") + .setProjectedColumns("d0", "a0") .build() ) .build() @@ -16052,7 +16107,8 @@ public void testWindowingWithScanAndSort() .build() ) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("a0", "w0") + .columns("w0", "a0") + .columnTypes(ColumnType.LONG, ColumnType.LONG) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(10) @@ -16070,7 +16126,7 @@ public void testWindowingWithScanAndSort() .setLeafOperators( OperatorFactoryBuilders.scanOperatorFactoryBuilder() .setOffsetLimit(0, Long.MAX_VALUE) - .setProjectedColumns("a0", "w0") + .setProjectedColumns("w0", "a0") .build() ) .build() @@ -16225,9 +16281,8 @@ public void testCastCharToVarcharInFlattenConcat() ) .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) - .columns(ImmutableList.of( - "EXPR$0" - )) + .columns("EXPR$0") + .columnTypes(ColumnType.STRING) .build() ), ImmutableList.of( @@ -16307,6 +16362,7 @@ public void testIpv4ParseWithNullableType() )) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0") + .columnTypes(ColumnType.LONG) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() @@ -16321,6 +16377,7 @@ public void testIpv4ParseWithNullableType() )) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0") + .columnTypes(ColumnType.LONG) .virtualColumns(expressionVirtualColumn("v0", "0", ColumnType.LONG)) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -16345,6 +16402,7 @@ public void testIpv4ParseWithBigintOutput() )) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0") + .columnTypes(ColumnType.LONG) .virtualColumns(expressionVirtualColumn("v0", "3232235521", ColumnType.LONG)) .context(QUERY_CONTEXT_DEFAULT) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -16455,6 +16513,7 @@ public void testStringOperationsNullableInference() ) ) .columns("v0", "v1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .filters(isNull("dim3")) .limit(1) .resultFormat(ResultFormat.RESULT_FORMAT_COMPACTED_LIST) diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteReplaceDmlTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteReplaceDmlTest.java index cb819c3634a1..1e544cfda28e 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteReplaceDmlTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteReplaceDmlTest.java @@ -91,7 +91,8 @@ public void testReplaceFromTableWithReplaceAll() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(REPLACE_ALL_TIME_CHUNKS) .build() ) @@ -110,7 +111,8 @@ public void testReplaceFromTableWithDeleteWhereClause() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context( addReplaceTimeChunkToQueryContext( queryContextWithGranularity(Granularities.DAY), @@ -137,7 +139,8 @@ public void testReplaceFromTableWithTimeZoneInQueryContext() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context( addReplaceTimeChunkToQueryContext( queryContextWithGranularity(Granularities.DAY), @@ -162,7 +165,8 @@ public void testReplaceFromTableWithIntervalLargerThanOneGranularity() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context( addReplaceTimeChunkToQueryContext( queryContextWithGranularity(Granularities.MONTH), @@ -188,7 +192,8 @@ public void testReplaceFromTableWithComplexDeleteWhereClause() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context( addReplaceTimeChunkToQueryContext( queryContextWithGranularity(Granularities.MONTH), @@ -213,7 +218,8 @@ public void testReplaceFromTableWithBetweenClause() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context( addReplaceTimeChunkToQueryContext( queryContextWithGranularity(Granularities.MONTH), @@ -342,6 +348,7 @@ public void testReplaceFromView() .virtualColumns(expressionVirtualColumn("v0", "substring(\"dim1\", 0, 1)", ColumnType.STRING)) .filters(equality("dim2", "a", ColumnType.STRING)) .columns("v0") + .columnTypes(ColumnType.STRING) .context(REPLACE_ALL_TIME_CHUNKS) .build() ) @@ -359,7 +366,8 @@ public void testReplaceIntoQualifiedTable() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(REPLACE_ALL_TIME_CHUNKS) .build() ) @@ -383,6 +391,7 @@ public void testReplaceContainingWithList() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim1", "dim3") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(REPLACE_ALL_TIME_CHUNKS) .build() ) @@ -524,6 +533,7 @@ public void testReplaceFromExternal() .dataSource(externalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) .columns("x", "y", "z") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context(REPLACE_ALL_TIME_CHUNKS) .build() ) @@ -548,7 +558,8 @@ public void testReplaceWithPartitionedByAndLimitOffset() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "dim1", "v0") + .columns("__time", "v0", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT, ColumnType.STRING) .virtualColumns(expressionVirtualColumn("v0", "floor(\"m1\")", ColumnType.FLOAT)) .limit(10) .offset(20) @@ -582,7 +593,8 @@ public void testReplaceWithClusteredBy() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "dim1", "v0") + .columns("__time", "v0", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.FLOAT, ColumnType.STRING) .virtualColumns(expressionVirtualColumn("v0", "floor(\"m1\")", ColumnType.FLOAT)) .orderBy( ImmutableList.of( @@ -637,6 +649,7 @@ public void testPartitionedBySupportedGranularityLiteralClauses() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) .columns("__time", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .context(queryContext) .build() ) @@ -686,6 +699,7 @@ public void testExplainReplaceFromExternal() throws IOException .dataSource(externalDataSource) .intervals(querySegmentSpec(Filtration.eternity())) .columns("x", "y", "z") + .columnTypes(ColumnType.STRING, ColumnType.STRING, ColumnType.LONG) .context( queryJsonMapper.readValue( "{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"{\\\"type\\\":\\\"all\\\"}\",\"sqlQueryId\":\"dummy\",\"sqlReplaceTimeChunks\":\"all\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"}", @@ -757,9 +771,10 @@ public void testExplainReplaceTimeChunksWithPartitioningAndClustering() throws I final ScanQuery expectedQuery = newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .orderBy(ImmutableList.of(OrderBy.ascending("dim1"))) - .columnTypes(LONG, LONG, STRING, STRING, STRING, FLOAT, DOUBLE, ofComplex("hyperUnique")) + .columnTypes(LONG, STRING, STRING, STRING, LONG, FLOAT, DOUBLE, ofComplex("hyperUnique")) .context( queryJsonMapper.readValue( "{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"DAY\\\"\",\"sqlQueryId\":\"dummy\",\"sqlReplaceTimeChunks\":\"2000-01-01T00:00:00.000Z/2000-01-02T00:00:00.000Z\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"}", @@ -774,7 +789,7 @@ public void testExplainReplaceTimeChunksWithPartitioningAndClustering() throws I + "], signature=[{__time:LONG, dim1:STRING, dim2:STRING, dim3:STRING, cnt:LONG, m1:FLOAT, m2:DOUBLE, unique_dim1:COMPLEX}])\n"; - final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"dim1\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"cnt\",\"dim1\",\"dim2\",\"dim3\",\"m1\",\"m2\",\"unique_dim1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"DAY\\\"\",\"sqlQueryId\":\"dummy\",\"sqlReplaceTimeChunks\":\"2000-01-01T00:00:00.000Z/2000-01-02T00:00:00.000Z\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"LONG\",\"STRING\",\"STRING\",\"STRING\",\"FLOAT\",\"DOUBLE\",\"COMPLEX\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}]"; + final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"orderBy\":[{\"columnName\":\"dim1\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"dim1\",\"dim2\",\"dim3\",\"cnt\",\"m1\",\"m2\",\"unique_dim1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"DAY\\\"\",\"sqlQueryId\":\"dummy\",\"sqlReplaceTimeChunks\":\"2000-01-01T00:00:00.000Z/2000-01-02T00:00:00.000Z\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"STRING\",\"STRING\",\"STRING\",\"LONG\",\"FLOAT\",\"DOUBLE\",\"COMPLEX\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}]"; final String resources = "[{\"name\":\"dst\",\"type\":\"DATASOURCE\"},{\"name\":\"foo\",\"type\":\"DATASOURCE\"}]"; final String attributes = "{\"statementType\":\"REPLACE\",\"targetDataSource\":\"dst\",\"partitionedBy\":\"DAY\",\"clusteredBy\":[\"dim1\"],\"replaceTimeChunks\":\"2000-01-01T00:00:00.000Z/2000-01-02T00:00:00.000Z\"}"; @@ -835,7 +850,8 @@ public void testExplainReplaceWithLimitAndClusteredByOrdinals() throws IOExcepti final ScanQuery expectedQuery = newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .limit(10) .orderBy( ImmutableList.of( @@ -845,7 +861,7 @@ public void testExplainReplaceWithLimitAndClusteredByOrdinals() throws IOExcepti OrderBy.ascending("dim2") ) ) - .columnTypes(LONG, LONG, STRING, STRING, STRING, FLOAT, DOUBLE, ColumnType.ofComplex("hyperUnique")) + .columnTypes(LONG, STRING, STRING, STRING, LONG, FLOAT, DOUBLE, ColumnType.ofComplex("hyperUnique")) .context( queryJsonMapper.readValue( "{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"HOUR\\\"\",\"sqlQueryId\":\"dummy\",\"sqlReplaceTimeChunks\":\"2000-01-01T00:00:00.000Z/2000-01-02T00:00:00.000Z\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"}", @@ -859,7 +875,7 @@ public void testExplainReplaceWithLimitAndClusteredByOrdinals() throws IOExcepti + queryJsonMapper.writeValueAsString(expectedQuery) + "], signature=[{__time:LONG, dim1:STRING, dim2:STRING, dim3:STRING, cnt:LONG, m1:FLOAT, m2:DOUBLE, unique_dim1:COMPLEX}])\n"; - final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"limit\":10,\"orderBy\":[{\"columnName\":\"__time\",\"order\":\"ascending\"},{\"columnName\":\"dim1\",\"order\":\"ascending\"},{\"columnName\":\"dim3\",\"order\":\"ascending\"},{\"columnName\":\"dim2\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"cnt\",\"dim1\",\"dim2\",\"dim3\",\"m1\",\"m2\",\"unique_dim1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"HOUR\\\"\",\"sqlQueryId\":\"dummy\",\"sqlReplaceTimeChunks\":\"2000-01-01T00:00:00.000Z/2000-01-02T00:00:00.000Z\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"LONG\",\"STRING\",\"STRING\",\"STRING\",\"FLOAT\",\"DOUBLE\",\"COMPLEX\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}]"; + final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"limit\":10,\"orderBy\":[{\"columnName\":\"__time\",\"order\":\"ascending\"},{\"columnName\":\"dim1\",\"order\":\"ascending\"},{\"columnName\":\"dim3\",\"order\":\"ascending\"},{\"columnName\":\"dim2\",\"order\":\"ascending\"}],\"columns\":[\"__time\",\"dim1\",\"dim2\",\"dim3\",\"cnt\",\"m1\",\"m2\",\"unique_dim1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlInsertSegmentGranularity\":\"\\\"HOUR\\\"\",\"sqlQueryId\":\"dummy\",\"sqlReplaceTimeChunks\":\"2000-01-01T00:00:00.000Z/2000-01-02T00:00:00.000Z\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"STRING\",\"STRING\",\"STRING\",\"LONG\",\"FLOAT\",\"DOUBLE\",\"COMPLEX\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}]"; final String resources = "[{\"name\":\"dst\",\"type\":\"DATASOURCE\"},{\"name\":\"foo\",\"type\":\"DATASOURCE\"}]"; final String attributes = "{\"statementType\":\"REPLACE\",\"targetDataSource\":\"dst\",\"partitionedBy\":\"HOUR\"," + "\"clusteredBy\":[\"__time\",\"dim1\",\"dim3\",\"dim2\"],\"replaceTimeChunks\":\"2000-01-01T00:00:00.000Z/2000-01-02T00:00:00.000Z\"}"; @@ -1013,6 +1029,7 @@ public void testReplaceFromExternalProjectSort() .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "concat(\"x\",\"y\")", ColumnType.STRING)) .columns("v0", "z") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .context(REPLACE_ALL_TIME_CHUNKS) .build() ) 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 80a9dde9b4c9..f4562190cde4 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 @@ -65,6 +65,7 @@ public void testScanSignature() ColumnType.STRING )) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(context) .build() @@ -91,6 +92,7 @@ public void testScanSignatureWithDimAsValuePrimitiveByteArr() .dataSource(CalciteTests.DATASOURCE2) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0") + .columnTypes(ColumnType.LONG) .virtualColumns(expressionVirtualColumn( "v0", "CAST(\"dim1\", 'LONG')", diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteSelectQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteSelectQueryTest.java index e053da4d7442..040445b0070d 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteSelectQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteSelectQueryTest.java @@ -93,6 +93,7 @@ public void testSelectConstantExpression() ) ) .columns("v0") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -126,6 +127,7 @@ public void testExpressionContainingNull() ) ) .columns("v0") + .columnTypes(ColumnType.STRING_ARRAY) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -175,6 +177,7 @@ public void testValuesContainingNull() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0", "EXPR$1") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -202,6 +205,7 @@ public void testMultipleValuesContainingNull() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0", "EXPR$1") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -229,6 +233,7 @@ public void testMultipleValuesContainingNullAndIntegerValues() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0", "EXPR$1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -266,6 +271,7 @@ public void testSelectNonNumericNumberLiterals() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("EXPR$0", "EXPR$1", "EXPR$2", "EXPR$3", "EXPR$4") + .columnTypes(ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -299,7 +305,8 @@ public void testDruidLogicalValuesRule() .build() )) .intervals(new MultipleIntervalSegmentSpec(ImmutableList.of(Intervals.ETERNITY))) - .columns(ImmutableList.of("EXPR$0", "EXPR$1", "EXPR$2")) + .columns("EXPR$0", "EXPR$1", "EXPR$2") + .columnTypes(ColumnType.LONG, ColumnType.LONG, ColumnType.LONG) .build() ), ImmutableList.of( @@ -322,7 +329,8 @@ public void testSelectConstantExpressionFromTable() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "2", ColumnType.LONG)) - .columns("dim1", "v0") + .columns("v0", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(1) .context(QUERY_CONTEXT_DEFAULT) @@ -481,6 +489,7 @@ public void testBitwiseExpressions() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7") + .columnTypes(ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.DOUBLE) .virtualColumns( expressionVirtualColumn("v0", "bitwiseAnd(\"l1\",\"l2\")", ColumnType.LONG), expressionVirtualColumn("v1", "bitwiseOr(\"l1\",\"l2\")", ColumnType.LONG), @@ -520,6 +529,7 @@ public void testSafeDivideWithoutTable() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0", "v1", "v2", "v3", "v4") + .columnTypes(ColumnType.LONG, ColumnType.DOUBLE, ColumnType.DOUBLE, ColumnType.DOUBLE, ColumnType.LONG) .virtualColumns( expressionVirtualColumn("v0", NullHandling.sqlCompatible() ? "null" : "0", ColumnType.LONG), expressionVirtualColumn("v1", "4.0", ColumnType.DOUBLE), @@ -577,6 +587,7 @@ public void testSafeDivideExpressions() .dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("v0", "v1", "v2", "v3") + .columnTypes(ColumnType.FLOAT, ColumnType.LONG, ColumnType.DOUBLE, ColumnType.FLOAT) .virtualColumns( expressionVirtualColumn("v0", "safe_divide(\"f1\",\"f2\")", ColumnType.FLOAT), expressionVirtualColumn("v1", "safe_divide(\"l1\",\"l2\")", ColumnType.LONG), @@ -634,7 +645,8 @@ public void testSelectStarWithDimFilter() equality("dim2", "a", ColumnType.STRING) ) ) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -866,6 +878,7 @@ public void testSelectNonAggregatingWithLimitLiterallyZero() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -891,6 +904,7 @@ public void testSelectNonAggregatingWithLimitReducedToZero() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -915,6 +929,7 @@ public void testSelectAggregatingWithLimitReducedToZero() ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .build() ), @@ -978,7 +993,8 @@ public void testSelectCurrentTimeAndDateLosAngeles() ) ) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("CURRENT_DATE", "CURRENT_TIMESTAMP", "EXPR$1", "EXPR$2", "EXPR$3", "EXPR$4", "EXPR$6") + .columns("CURRENT_TIMESTAMP", "EXPR$1", "EXPR$2", "EXPR$3", "EXPR$4", "CURRENT_DATE", "EXPR$6") + .columnTypes(ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(context) .build() @@ -1107,6 +1123,7 @@ public void testSelectStarFromLookup() .dataSource(new LookupDataSource("lookyloo")) .intervals(querySegmentSpec(Filtration.eternity())) .columns("k", "v") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1131,7 +1148,8 @@ public void testSelectStar() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1163,7 +1181,8 @@ public void testSelectStarOnForbiddenTable() newScanQueryBuilder() .dataSource(CalciteTests.FORBIDDEN_DATASOURCE) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1213,6 +1232,7 @@ public void testSelectStarOnForbiddenView() ) .filters(equality("dim2", "a", ColumnType.STRING)) .columns("__time", "v0", "v1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1245,6 +1265,7 @@ public void testSelectStarOnRestrictedView() .filters(equality("dim2", "a", ColumnType.STRING)) .intervals(querySegmentSpec(Filtration.eternity())) .columns("__time", "dim1", "dim2", "m1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.FLOAT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1269,6 +1290,7 @@ public void testSelectStarOnRestrictedView() .intervals(querySegmentSpec(Filtration.eternity())) .filters(equality("dim2", "a", ColumnType.STRING)) .columns("__time", "dim1", "dim2", "m1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.FLOAT) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1311,7 +1333,7 @@ public void testExplainSelectStar() skipVectorize(); final String query = "EXPLAIN PLAN FOR SELECT * FROM druid.foo"; - final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"columns\":[\"__time\",\"cnt\",\"dim1\",\"dim2\",\"dim3\",\"m1\",\"m2\",\"unique_dim1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"LONG\",\"STRING\",\"STRING\",\"STRING\",\"FLOAT\",\"DOUBLE\",\"COMPLEX\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}]"; + final String explanation = "[{\"query\":{\"queryType\":\"scan\",\"dataSource\":{\"type\":\"table\",\"name\":\"foo\"},\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z\"]},\"resultFormat\":\"compactedList\",\"columns\":[\"__time\",\"dim1\",\"dim2\",\"dim3\",\"cnt\",\"m1\",\"m2\",\"unique_dim1\"],\"context\":{\"defaultTimeout\":300000,\"maxScatterGatherBytes\":9223372036854775807,\"sqlCurrentTimestamp\":\"2000-01-01T00:00:00Z\",\"sqlQueryId\":\"dummy\",\"vectorize\":\"false\",\"vectorizeVirtualColumns\":\"false\"},\"columnTypes\":[\"LONG\",\"STRING\",\"STRING\",\"STRING\",\"LONG\",\"FLOAT\",\"DOUBLE\",\"COMPLEX\"],\"granularity\":{\"type\":\"all\"},\"legacy\":false},\"signature\":[{\"name\":\"__time\",\"type\":\"LONG\"},{\"name\":\"dim1\",\"type\":\"STRING\"},{\"name\":\"dim2\",\"type\":\"STRING\"},{\"name\":\"dim3\",\"type\":\"STRING\"},{\"name\":\"cnt\",\"type\":\"LONG\"},{\"name\":\"m1\",\"type\":\"FLOAT\"},{\"name\":\"m2\",\"type\":\"DOUBLE\"},{\"name\":\"unique_dim1\",\"type\":\"COMPLEX\"}],\"columnMappings\":[{\"queryColumn\":\"__time\",\"outputColumn\":\"__time\"},{\"queryColumn\":\"dim1\",\"outputColumn\":\"dim1\"},{\"queryColumn\":\"dim2\",\"outputColumn\":\"dim2\"},{\"queryColumn\":\"dim3\",\"outputColumn\":\"dim3\"},{\"queryColumn\":\"cnt\",\"outputColumn\":\"cnt\"},{\"queryColumn\":\"m1\",\"outputColumn\":\"m1\"},{\"queryColumn\":\"m2\",\"outputColumn\":\"m2\"},{\"queryColumn\":\"unique_dim1\",\"outputColumn\":\"unique_dim1\"}]}]"; final String resources = "[{\"name\":\"foo\",\"type\":\"DATASOURCE\"}]"; final String attributes = "{\"statementType\":\"SELECT\"}"; @@ -1342,7 +1364,8 @@ public void testSelectStarWithLimit() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .limit(2) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) @@ -1367,7 +1390,8 @@ public void testSelectStarWithLimitAndOffset() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .offset(1) .limit(2) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -1394,6 +1418,7 @@ public void testSelectWithProjection() expressionVirtualColumn("v0", "substring(\"dim2\", 0, 1)", ColumnType.STRING) ) .columns("v0") + .columnTypes(ColumnType.STRING) .limit(2) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) @@ -1424,6 +1449,7 @@ public void testSelectWithExpressionFilter() : equality("v0", 7.0, ColumnType.FLOAT) ) .columns("dim1") + .columnTypes(ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -1446,7 +1472,8 @@ public void testSelectStarWithLimitTimeDescending() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1")) + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .limit(2) .order(Order.DESCENDING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -1472,7 +1499,8 @@ public void testSelectStarWithoutLimitTimeAscending() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1")) + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .limit(Long.MAX_VALUE) .order(Order.ASCENDING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -1501,6 +1529,7 @@ public void testSelectSingleColumnTwice() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2") + .columnTypes(ColumnType.STRING) .limit(2) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) @@ -1522,7 +1551,8 @@ public void testSelectSingleColumnWithLimitDescending() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("__time", "dim1")) + .columns("dim1", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .limit(2) .order(Order.DESCENDING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -1548,7 +1578,8 @@ public void testSelectStarFromSelectSingleColumnWithLimitDescending() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("dim1")) + .columns("dim1") + .columnTypes(ColumnType.STRING) .limit(2) .order(Order.NONE) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -1572,7 +1603,8 @@ public void testSelectLimitWrapping() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("__time", "dim1")) + .columns("dim1", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .limit(2) .order(Order.DESCENDING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -1596,7 +1628,8 @@ public void testSelectLimitWrappingOnTopOfOffset() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("__time", "dim1")) + .columns("dim1", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .offset(1) .limit(2) .order(Order.DESCENDING) @@ -1621,7 +1654,8 @@ public void testSelectLimitWrappingOnTopOfOffsetAndLowLimit() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("__time", "dim1")) + .columns("dim1", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .offset(1) .limit(1) .order(Order.DESCENDING) @@ -1645,7 +1679,8 @@ public void testSelectLimitWrappingOnTopOfOffsetAndHighLimit() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("__time", "dim1")) + .columns("dim1", "__time") + .columnTypes(ColumnType.STRING, ColumnType.LONG) .offset(1) .limit(2) .order(Order.DESCENDING) @@ -1682,22 +1717,21 @@ public void testSelectLimitWrappingAgainAkaIDontReallyQuiteUnderstandCalciteQuer .dataSource(CalciteTests.DATASOURCE5) .intervals(querySegmentSpec(Intervals.of("1990-01-01T00:00:00.000Z/146140482-04-24T15:36:27.903Z"))) .columns( - ImmutableList.builder() - .add("__time") - .add("count") - .add("dimHyperUnique") - .add("dimMultivalEnumerated") - .add("dimMultivalEnumerated2") - .add("dimMultivalSequentialWithNulls") - .add("dimSequential") - .add("dimSequentialHalfNull") - .add("dimUniform") - .add("dimZipf") - .add("metFloatNormal") - .add("metFloatZipf") - .add("metLongSequential") - .build() + "__time", + "count", + "dimHyperUnique", + "dimMultivalEnumerated", + "dimMultivalEnumerated2", + "dimMultivalSequentialWithNulls", + "dimSequential", + "dimSequentialHalfNull", + "dimUniform", + "dimZipf", + "metFloatNormal", + "metFloatZipf", + "metLongSequential" ) + .columnTypes(ColumnType.LONG, ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .limit(2) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(OUTER_LIMIT_CONTEXT) @@ -1749,23 +1783,22 @@ public void testSelectLimitWrappingAgainAkaIDontReallyQuiteUnderstandCalciteQuer .dataSource(CalciteTests.DATASOURCE5) .intervals(querySegmentSpec(Intervals.of("1990-01-01T00:00:00.000Z/146140482-04-24T15:36:27.903Z"))) .columns( - ImmutableList.builder() - .add("__time") - .add("count") - .add("dimHyperUnique") - .add("dimMultivalEnumerated") - .add("dimMultivalEnumerated2") - .add("dimMultivalSequentialWithNulls") - .add("dimSequential") - .add("dimSequentialHalfNull") - .add("dimUniform") - .add("dimZipf") - .add("metFloatNormal") - .add("metFloatZipf") - .add("metLongSequential") - .add("metLongUniform") - .build() + "__time", + "count", + "dimHyperUnique", + "dimMultivalEnumerated", + "dimMultivalEnumerated2", + "dimMultivalSequentialWithNulls", + "dimSequential", + "dimSequentialHalfNull", + "dimUniform", + "dimZipf", + "metFloatNormal", + "metFloatZipf", + "metLongSequential", + "metLongUniform" ) + .columnTypes(ColumnType.LONG, ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .limit(2) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(OUTER_LIMIT_CONTEXT) @@ -1818,7 +1851,8 @@ public void testSelectProjectionFromSelectSingleColumnWithInnerLimitDescending() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "concat('beep ',\"dim1\")", ColumnType.STRING)) - .columns(ImmutableList.of("__time", "v0")) + .columns("v0", "__time") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .limit(2) .order(Order.DESCENDING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -1847,7 +1881,8 @@ public void testSelectProjectionFromSelectSingleColumnDescending() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "concat('beep ',\"dim1\")", ColumnType.STRING)) - .columns(ImmutableList.of("v0")) + .columns("v0") + .columnTypes(ColumnType.STRING) .order(Order.NONE) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) @@ -1874,7 +1909,8 @@ public void testSelectProjectionFromSelectSingleColumnWithInnerAndOuterLimitDesc .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "concat('beep ',\"dim1\")", ColumnType.STRING)) - .columns(ImmutableList.of("__time", "v0")) + .columns("v0", "__time") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .limit(2) .order(Order.DESCENDING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -1902,7 +1938,8 @@ public void testOrderThenLimitThenFilter() newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("__time", "dim1")) + .columns("__time", "dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING) .limit(4) .order(Order.DESCENDING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) @@ -1911,7 +1948,8 @@ public void testOrderThenLimitThenFilter() ) ) .intervals(querySegmentSpec(Filtration.eternity())) - .columns(ImmutableList.of("dim1")) + .columns("dim1") + .columnTypes(ColumnType.STRING) .filters(in("dim1", Arrays.asList("abc", "def"))) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteStrictInsertTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteStrictInsertTest.java index b47dc70ddc63..8b088f5dd599 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteStrictInsertTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteStrictInsertTest.java @@ -20,6 +20,7 @@ package org.apache.druid.sql.calcite; import org.apache.druid.error.DruidException; +import org.apache.druid.segment.column.ColumnType; import org.apache.druid.sql.calcite.CalciteStrictInsertTest.StrictInsertComponentSupplier; import org.apache.druid.sql.calcite.filtration.Filtration; import org.apache.druid.sql.calcite.planner.CatalogResolver; @@ -74,7 +75,8 @@ public void testInsertIntoExisting() newScanQueryBuilder() .dataSource("foo") .intervals(querySegmentSpec(Filtration.eternity())) - .columns("__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1") + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .context(PARTITIONED_BY_ALL_TIME_QUERY_CONTEXT) .build() ) diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteSubqueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteSubqueryTest.java index b8d638e59ca0..8117e6ff02bf 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteSubqueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteSubqueryTest.java @@ -201,6 +201,7 @@ public void testSubqueryOnDataSourceWithMissingColumnsInSegments(String testName .dataSource("dsMissingCol") .intervals(querySegmentSpec(Filtration.eternity())) .columns("__time", "col1", "col2", "col3") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .limit(10) .build() @@ -371,6 +372,7 @@ public void testTwoExactCountDistincts(String testName, Map quer ) .intervals(querySegmentSpec(Filtration.eternity())) .columns("a0", "j0.a0") + .columnTypes(ColumnType.LONG, ColumnType.LONG) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(QUERY_CONTEXT_DEFAULT) .build() @@ -400,6 +402,7 @@ public void testViewAndJoin(String testName, Map queryContext) newScanQueryBuilder().dataSource(CalciteTests.DATASOURCE3) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2") + .columnTypes(ColumnType.STRING) .context(queryContextModified) .build() ), @@ -412,6 +415,7 @@ public void testViewAndJoin(String testName, Map queryContext) newScanQueryBuilder().dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) .columns("dim2") + .columnTypes(ColumnType.STRING) .context(queryContextModified) .build() ), @@ -535,6 +539,7 @@ public void testUsingSubqueryAsFilterWithInnerSort(String testName, Map query .intervals(querySegmentSpec(Filtration.eternity())) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .columns("__time") + .columnTypes(ColumnType.LONG) .context(queryContext) .build()), "j0.", @@ -996,6 +1006,7 @@ public void testUsingSubqueryWithLimit(String testName, Map quer .intervals(querySegmentSpec(Filtration.eternity())) .virtualColumns(expressionVirtualColumn("v0", "0", ColumnType.LONG)) .columns("v0") + .columnTypes(ColumnType.LONG) .limit(10) .context(queryContext) .build() @@ -1030,18 +1041,8 @@ public void testSelfJoin(String testName, Map queryContext) newScanQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(querySegmentSpec(Filtration.eternity())) - .columns( - ImmutableList.of( - "__time", - "cnt", - "dim1", - "dim2", - "dim3", - "m1", - "m2", - "unique_dim1" - ) - ) + .columns("__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1") + .columnTypes(ColumnType.LONG, ColumnType.STRING, ColumnType.STRING, ColumnType.STRING, ColumnType.LONG, ColumnType.FLOAT, ColumnType.DOUBLE, ColumnType.ofComplex("hyperUnique")) .resultFormat(ScanQuery.ResultFormat.RESULT_FORMAT_COMPACTED_LIST) .context(queryContext) .build() @@ -1098,6 +1099,7 @@ public void testJoinWithSubqueries(String testName, Map queryCon newScanQueryBuilder() .dataSource("foo2") .columns("dim1") + .columnTypes(ColumnType.STRING) .eternityInterval() .build() ), @@ -1117,6 +1119,7 @@ public void testJoinWithSubqueries(String testName, Map queryCon newScanQueryBuilder() .dataSource("foo2") .columns("dim1", "dim2") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .eternityInterval() .build() ), @@ -1129,6 +1132,7 @@ public void testJoinWithSubqueries(String testName, Map queryCon ) ) .columns("dim1", "j0.dim2") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .eternityInterval() .build() ), @@ -1140,7 +1144,8 @@ public void testJoinWithSubqueries(String testName, Map queryCon CalciteTests.createJoinableFactoryWrapper() ) ) - .columns("_j0.j0.dim2", "dim1") + .columns("dim1", "_j0.j0.dim2") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .eternityInterval() .build() ), @@ -1313,7 +1318,8 @@ public void testSingleValueStringAgg(String testName, Map queryC .offset(6L) .limit(1L) .order(Order.DESCENDING) - .columns("__time", "channel") + .columns("channel", "__time") + .columnTypes(ColumnType.STRING, ColumnType.STRING) .context(QUERY_CONTEXT_DEFAULT) .build() ), @@ -1454,6 +1460,7 @@ public void testGroupBySubqueryWithEarliestAggregator(String testName, Map expectedQuery = expectedQueries.get(i); + Query actualQuery = recordedQueries.get(i); Assert.assertEquals( StringUtils.format("query #%d: %s", i + 1, builder.sql), - expectedQueries.get(i), - recordedQueries.get(i) + expectedQuery, + actualQuery ); try { // go through some JSON serde and back, round tripping both queries and comparing them to each other, because // Assert.assertEquals(recordedQueries.get(i), stringAndBack) is a failure due to a sorted map being present // in the recorded queries, but it is a regular map after deserialization - final String recordedString = queryJsonMapper.writeValueAsString(recordedQueries.get(i)); + final String recordedString = queryJsonMapper.writeValueAsString(actualQuery); final Query stringAndBack = queryJsonMapper.readValue(recordedString, Query.class); - final String expectedString = queryJsonMapper.writeValueAsString(expectedQueries.get(i)); + final String expectedString = queryJsonMapper.writeValueAsString(expectedQuery); final Query expectedStringAndBack = queryJsonMapper.readValue(expectedString, Query.class); Assert.assertEquals(expectedStringAndBack, stringAndBack); } diff --git a/sql/src/test/quidem/org.apache.druid.quidem.SqlQuidemTest/join.iq b/sql/src/test/quidem/org.apache.druid.quidem.SqlQuidemTest/join.iq index 05f67289ab5f..e8318d5ec1dc 100644 --- a/sql/src/test/quidem/org.apache.druid.quidem.SqlQuidemTest/join.iq +++ b/sql/src/test/quidem/org.apache.druid.quidem.SqlQuidemTest/join.iq @@ -100,8 +100,8 @@ select v.*,e.* from v inner join e on (e.cityName = v.cityName); "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "a0", "d0", "j0.a0", "j0.d0" ], - "columnTypes" : [ "LONG", "STRING", "LONG", "STRING" ], + "columns" : [ "d0", "a0", "j0.d0", "j0.a0" ], + "columnTypes" : [ "STRING", "LONG", "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFilters@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFilters@NullHandling=default.iq index 64963f6fc241..bc69ff5d3697 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFilters@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFilters@NullHandling=default.iq @@ -61,8 +61,8 @@ DruidProject(d3=[$18], druid=[logical]) "dimension" : "dim2", "value" : "a" }, - "columns" : [ "__time", "cnt", "d1", "d2", "dim1", "dim3", "dim4", "dim5", "dim6", "f1", "f2", "l1", "l2", "m1", "m2", "unique_dim1", "v0" ], - "columnTypes" : [ "LONG", "LONG", "DOUBLE", "DOUBLE", "STRING", "STRING", "STRING", "STRING", "STRING", "FLOAT", "FLOAT", "LONG", "LONG", "FLOAT", "DOUBLE", "COMPLEX", "STRING" ], + "columns" : [ "__time", "dim1", "v0", "dim3", "dim4", "dim5", "dim6", "d1", "d2", "f1", "f2", "l1", "l2", "cnt", "m1", "m2", "unique_dim1" ], + "columnTypes" : [ "LONG", "STRING", "STRING", "STRING", "STRING", "STRING", "STRING", "DOUBLE", "DOUBLE", "FLOAT", "FLOAT", "LONG", "LONG", "LONG", "FLOAT", "DOUBLE", "COMPLEX" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFilters@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFilters@NullHandling=sql.iq index f032fc5c14d8..75bbd7ac254e 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFilters@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFilters@NullHandling=sql.iq @@ -63,8 +63,8 @@ DruidProject(d3=[$18], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "a" }, - "columns" : [ "__time", "cnt", "d1", "d2", "dim1", "dim3", "dim4", "dim5", "dim6", "f1", "f2", "l1", "l2", "m1", "m2", "unique_dim1", "v0" ], - "columnTypes" : [ "LONG", "LONG", "DOUBLE", "DOUBLE", "STRING", "STRING", "STRING", "STRING", "STRING", "FLOAT", "FLOAT", "LONG", "LONG", "FLOAT", "DOUBLE", "COMPLEX", "STRING" ], + "columns" : [ "__time", "dim1", "v0", "dim3", "dim4", "dim5", "dim6", "d1", "d2", "f1", "f2", "l1", "l2", "cnt", "m1", "m2", "unique_dim1" ], + "columnTypes" : [ "LONG", "STRING", "STRING", "STRING", "STRING", "STRING", "STRING", "DOUBLE", "DOUBLE", "FLOAT", "FLOAT", "LONG", "LONG", "LONG", "FLOAT", "DOUBLE", "COMPLEX" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInnerLimit@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInnerLimit@NullHandling=default.iq index 0d98641f3893..cedfdd6fc78c 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInnerLimit@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInnerLimit@NullHandling=default.iq @@ -64,8 +64,8 @@ DruidProject(d3=[$3], druid=[logical]) "dimension" : "dim2", "value" : "a" }, - "columns" : [ "__time", "dim3", "v0" ], - "columnTypes" : [ "LONG", "STRING", "STRING" ], + "columns" : [ "v0", "dim3", "__time" ], + "columnTypes" : [ "STRING", "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInnerLimit@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInnerLimit@NullHandling=sql.iq index 878106d9ac9d..8c9c334e27f7 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInnerLimit@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInnerLimit@NullHandling=sql.iq @@ -66,8 +66,8 @@ DruidProject(d3=[$3], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "a" }, - "columns" : [ "__time", "dim3", "v0" ], - "columnTypes" : [ "LONG", "STRING", "STRING" ], + "columns" : [ "v0", "dim3", "__time" ], + "columnTypes" : [ "STRING", "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInsideAndOutside@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInsideAndOutside@NullHandling=default.iq index ca22c18ff45f..9c9ec8715470 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInsideAndOutside@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInsideAndOutside@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(d3=[$18], druid=[logical]) } } ] }, - "columns" : [ "__time", "cnt", "d1", "d2", "dim1", "dim3", "dim4", "dim5", "dim6", "f1", "f2", "l1", "l2", "m1", "m2", "unique_dim1", "v0" ], - "columnTypes" : [ "LONG", "LONG", "DOUBLE", "DOUBLE", "STRING", "STRING", "STRING", "STRING", "STRING", "FLOAT", "FLOAT", "LONG", "LONG", "FLOAT", "DOUBLE", "COMPLEX", "STRING" ], + "columns" : [ "__time", "dim1", "v0", "dim3", "dim4", "dim5", "dim6", "d1", "d2", "f1", "f2", "l1", "l2", "cnt", "m1", "m2", "unique_dim1" ], + "columnTypes" : [ "LONG", "STRING", "STRING", "STRING", "STRING", "STRING", "STRING", "DOUBLE", "DOUBLE", "FLOAT", "FLOAT", "LONG", "LONG", "LONG", "FLOAT", "DOUBLE", "COMPLEX" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInsideAndOutside@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInsideAndOutside@NullHandling=sql.iq index 45c21b71c3f4..13c8044dad76 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInsideAndOutside@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersInsideAndOutside@NullHandling=sql.iq @@ -77,8 +77,8 @@ DruidProject(d3=[$18], druid=[logical]) } } ] }, - "columns" : [ "__time", "cnt", "d1", "d2", "dim1", "dim3", "dim4", "dim5", "dim6", "f1", "f2", "l1", "l2", "m1", "m2", "unique_dim1", "v0" ], - "columnTypes" : [ "LONG", "LONG", "DOUBLE", "DOUBLE", "STRING", "STRING", "STRING", "STRING", "STRING", "FLOAT", "FLOAT", "LONG", "LONG", "FLOAT", "DOUBLE", "COMPLEX", "STRING" ], + "columns" : [ "__time", "dim1", "v0", "dim3", "dim4", "dim5", "dim6", "d1", "d2", "f1", "f2", "l1", "l2", "cnt", "m1", "m2", "unique_dim1" ], + "columnTypes" : [ "LONG", "STRING", "STRING", "STRING", "STRING", "STRING", "STRING", "DOUBLE", "DOUBLE", "FLOAT", "FLOAT", "LONG", "LONG", "LONG", "FLOAT", "DOUBLE", "COMPLEX" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersWithExpressionInInnerQuery@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersWithExpressionInInnerQuery@NullHandling=default.iq index 6ca74e443390..05790207aa95 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersWithExpressionInInnerQuery@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersWithExpressionInInnerQuery@NullHandling=default.iq @@ -61,7 +61,7 @@ DruidProject(t=[$0], d3=[$3], druid=[logical]) "dimension" : "dim2", "value" : "a" }, - "columns" : [ "__time", "dim3", "v0" ], + "columns" : [ "v0", "dim3", "__time" ], "columnTypes" : [ "LONG", "STRING", "LONG" ], "granularity" : { "type" : "all" @@ -82,8 +82,8 @@ DruidProject(t=[$0], d3=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.unnest", "v0" ], - "columnTypes" : [ "STRING", "LONG" ], + "columns" : [ "v0", "j0.unnest" ], + "columnTypes" : [ "LONG", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersWithExpressionInInnerQuery@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersWithExpressionInInnerQuery@NullHandling=sql.iq index 1f523a13de1f..dd3771f4b3b8 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersWithExpressionInInnerQuery@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithFiltersWithExpressionInInnerQuery@NullHandling=sql.iq @@ -63,7 +63,7 @@ DruidProject(t=[$0], d3=[$3], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "a" }, - "columns" : [ "__time", "dim3", "v0" ], + "columns" : [ "v0", "dim3", "__time" ], "columnTypes" : [ "LONG", "STRING", "LONG" ], "granularity" : { "type" : "all" @@ -84,8 +84,8 @@ DruidProject(t=[$0], d3=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.unnest", "v0" ], - "columnTypes" : [ "STRING", "LONG" ], + "columns" : [ "v0", "j0.unnest" ], + "columnTypes" : [ "LONG", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithInFiltersWithExpressionInInnerQuery@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithInFiltersWithExpressionInInnerQuery@NullHandling=default.iq index 6c203130987d..9b9802c0645b 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithInFiltersWithExpressionInInnerQuery@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithInFiltersWithExpressionInInnerQuery@NullHandling=default.iq @@ -61,7 +61,7 @@ DruidProject(t=[$0], d3=[$3], druid=[logical]) "dimension" : "dim2", "values" : [ "a", "b" ] }, - "columns" : [ "__time", "dim3", "v0" ], + "columns" : [ "v0", "dim3", "__time" ], "columnTypes" : [ "LONG", "STRING", "LONG" ], "granularity" : { "type" : "all" @@ -82,8 +82,8 @@ DruidProject(t=[$0], d3=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.unnest", "v0" ], - "columnTypes" : [ "STRING", "LONG" ], + "columns" : [ "v0", "j0.unnest" ], + "columnTypes" : [ "LONG", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithInFiltersWithExpressionInInnerQuery@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithInFiltersWithExpressionInInnerQuery@NullHandling=sql.iq index 35e883c07845..494dc9dc9d29 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithInFiltersWithExpressionInInnerQuery@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteArraysQueryTest/testUnnestWithInFiltersWithExpressionInInnerQuery@NullHandling=sql.iq @@ -63,7 +63,7 @@ DruidProject(t=[$0], d3=[$3], druid=[logical]) "matchValueType" : "STRING", "sortedValues" : [ "a", "b" ] }, - "columns" : [ "__time", "dim3", "v0" ], + "columns" : [ "v0", "dim3", "__time" ], "columnTypes" : [ "LONG", "STRING", "LONG" ], "granularity" : { "type" : "all" @@ -84,8 +84,8 @@ DruidProject(t=[$0], d3=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.unnest", "v0" ], - "columnTypes" : [ "STRING", "LONG" ], + "columns" : [ "v0", "j0.unnest" ], + "columnTypes" : [ "LONG", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_disabled@NullHandling=default.iq index 794195713eda..699b9c230520 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_disabled@NullHandling=default.iq @@ -81,8 +81,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_disabled@NullHandling=sql.iq index 188abdd4e4c4..52087ed62765 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_disabled@NullHandling=sql.iq @@ -82,8 +82,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_enabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_enabled@NullHandling=default.iq index 37a87f4a74c2..559eadb36320 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_enabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_enabled@NullHandling=default.iq @@ -81,8 +81,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_enabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_enabled@NullHandling=sql.iq index b1bca799e36d..33556cd485fa 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_enabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@all_enabled@NullHandling=sql.iq @@ -82,8 +82,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@default@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@default@NullHandling=default.iq index dbc1d7eaf96c..b6c55a471df1 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@default@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@default@NullHandling=default.iq @@ -78,8 +78,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@default@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@default@NullHandling=sql.iq index 0f5d1b8fe123..09785d5c178c 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@default@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@default@NullHandling=sql.iq @@ -79,8 +79,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-on-value-column_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-on-value-column_disabled@NullHandling=default.iq index fe58d1e4ebe4..fd3f5b44f810 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-on-value-column_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-on-value-column_disabled@NullHandling=default.iq @@ -81,8 +81,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-on-value-column_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-on-value-column_disabled@NullHandling=sql.iq index 5fe30d6b657a..8ce84d69e397 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-on-value-column_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-on-value-column_disabled@NullHandling=sql.iq @@ -82,8 +82,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites-disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites-disabled@NullHandling=default.iq index 57accf2fbc31..05bc33e20708 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites-disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites-disabled@NullHandling=default.iq @@ -81,8 +81,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites-disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites-disabled@NullHandling=sql.iq index 4883e3b9894c..82d7dcdee5c0 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites-disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites-disabled@NullHandling=sql.iq @@ -82,8 +82,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites@NullHandling=default.iq index 072fac7ae752..f554299bc8be 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites@NullHandling=default.iq @@ -81,8 +81,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites@NullHandling=sql.iq index f874137e09f5..eb38a3c33f01 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@filter-rewrites@NullHandling=sql.iq @@ -82,8 +82,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@join-to-filter@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@join-to-filter@NullHandling=default.iq index b3b0e2a346cb..ede90bee602d 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@join-to-filter@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@join-to-filter@NullHandling=default.iq @@ -81,8 +81,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@join-to-filter@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@join-to-filter@NullHandling=sql.iq index 8980b7c4160c..5ae0e78c10c8 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@join-to-filter@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testGroupByOverGroupByOverInnerJoinOnTwoInlineDataSources@join-to-filter@NullHandling=sql.iq @@ -82,8 +82,8 @@ DruidAggregate(group=[{0}], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_disabled@NullHandling=default.iq index b834b63636ab..c178c13cddb0 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_disabled@NullHandling=default.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_disabled@NullHandling=sql.iq index 2449b9427743..c9644e43b2ec 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_disabled@NullHandling=sql.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_enabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_enabled@NullHandling=default.iq index b898d2f1c0d4..11b8ada4085b 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_enabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_enabled@NullHandling=default.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_enabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_enabled@NullHandling=sql.iq index fb1f9aa91513..e662c85f7053 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_enabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@all_enabled@NullHandling=sql.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@default@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@default@NullHandling=default.iq index 41c9b0393aa3..6ef633d9977b 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@default@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@default@NullHandling=default.iq @@ -77,8 +77,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@default@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@default@NullHandling=sql.iq index b0a97e2b2991..18b7b1a29f8f 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@default@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@default@NullHandling=sql.iq @@ -77,8 +77,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-on-value-column_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-on-value-column_disabled@NullHandling=default.iq index 3b58962a1420..6b97e9055c78 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-on-value-column_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-on-value-column_disabled@NullHandling=default.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-on-value-column_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-on-value-column_disabled@NullHandling=sql.iq index 2f250bce5b9f..7b9352b740e2 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-on-value-column_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-on-value-column_disabled@NullHandling=sql.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites-disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites-disabled@NullHandling=default.iq index 0c6f38cfafb6..f5b22aebce95 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites-disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites-disabled@NullHandling=default.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites-disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites-disabled@NullHandling=sql.iq index 1dbe2ef067fc..c11d79f00bf9 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites-disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites-disabled@NullHandling=sql.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites@NullHandling=default.iq index 8783d7b3734c..e0c05e781941 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites@NullHandling=default.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites@NullHandling=sql.iq index bdc925467635..651d9c50d741 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@filter-rewrites@NullHandling=sql.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@join-to-filter@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@join-to-filter@NullHandling=default.iq index 517a5e8f1480..e2f29d5f6320 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@join-to-filter@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@join-to-filter@NullHandling=default.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@join-to-filter@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@join-to-filter@NullHandling=sql.iq index 9593087abadc..91b896f8e989 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@join-to-filter@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinCastLeft@join-to-filter@NullHandling=sql.iq @@ -80,8 +80,8 @@ DruidProject(m1=[$0], k=[$2], v=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.k", "j0.v", "m1" ], - "columnTypes" : [ "STRING", "STRING", "FLOAT" ], + "columns" : [ "m1", "j0.k", "j0.v" ], + "columnTypes" : [ "FLOAT", "STRING", "STRING" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=default.iq index e0132c50e97f..6a7c709365b9 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=sql.iq index e95f2f14e852..e553be29d9f1 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=default.iq index b7fe7b9911f4..4829e9398151 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=sql.iq index f5cf5cd53aaf..fa054c162254 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=default.iq index a1a9eb3a74ed..587178dde591 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=default.iq @@ -71,8 +71,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -120,8 +120,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=sql.iq index 4f1a6c50e7d6..9f04823844c1 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=sql.iq @@ -72,8 +72,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -122,8 +122,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq index e499257505ee..d33427702e8b 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq index 047a0d9f3d61..8ab934aa38b5 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq index 2ed19caa6dd5..3a5f56259901 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq index 6e1a7ec7603c..68861b993c76 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq index 7ba1e5e14d7a..5cfae3e4b94a 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq index d5e130f03a5f..3b35adf2a126 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=default.iq index 609ae044013b..758f4c48bf4d 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq index 1753c081a4b3..154056ddf061 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=default.iq index 20e69c705a24..24f52e8a1c0d 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=sql.iq index 2d034cb92009..bd2b636c01d4 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=default.iq index 9d96525fbeaf..8151cc91a3ae 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=sql.iq index b5533f936323..246e608caa57 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=default.iq index 1c782f5f3945..87d1ef730e79 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=default.iq @@ -71,8 +71,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -120,8 +120,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=sql.iq index 62cc25dc99d1..c8506ace31dc 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=sql.iq @@ -72,8 +72,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -122,8 +122,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq index e2d47b9b8158..2c622d5977fc 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq index 27133219625a..fced12990b83 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq index db70d749d5b7..d5d73892fc1a 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq index f2d6e9b0a0bf..610260e4e65d 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq index d17043dbd492..3efe170e8085 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq index ef9aff735e4a..9ebbc7e18d35 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=default.iq index eebc5217765f..1bd6a87b9a07 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq index 8578eedb0671..50484dab8b94 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_disabled@NullHandling=default.iq index 910efe624297..aa37bd300eff 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_disabled@NullHandling=default.iq @@ -265,7 +265,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_disabled@NullHandling=sql.iq index 01ad3ca130e3..a67633991e41 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_disabled@NullHandling=sql.iq @@ -295,7 +295,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_enabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_enabled@NullHandling=default.iq index 541186def463..f157cad2924f 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_enabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_enabled@NullHandling=default.iq @@ -265,7 +265,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_enabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_enabled@NullHandling=sql.iq index 30d480efebbb..362c59a2d5f1 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_enabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@all_enabled@NullHandling=sql.iq @@ -295,7 +295,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@default@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@default@NullHandling=default.iq index 2b24b70d779a..ba86267509c3 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@default@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@default@NullHandling=default.iq @@ -262,7 +262,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@default@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@default@NullHandling=sql.iq index c5df737ee4b1..b9f8ae2b6cfc 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@default@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@default@NullHandling=sql.iq @@ -292,7 +292,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-on-value-column_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-on-value-column_disabled@NullHandling=default.iq index a1554d1216ee..76bfe6dcd33b 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-on-value-column_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-on-value-column_disabled@NullHandling=default.iq @@ -265,7 +265,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-on-value-column_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-on-value-column_disabled@NullHandling=sql.iq index ad0ff57854a1..94fe9ca1953c 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-on-value-column_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-on-value-column_disabled@NullHandling=sql.iq @@ -295,7 +295,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites-disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites-disabled@NullHandling=default.iq index 875f6397d109..03b29f1cd24a 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites-disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites-disabled@NullHandling=default.iq @@ -265,7 +265,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites-disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites-disabled@NullHandling=sql.iq index 6005240994ad..d3ac1b35a610 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites-disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites-disabled@NullHandling=sql.iq @@ -295,7 +295,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites@NullHandling=default.iq index 2c24f9fd43a6..5d5cdf00e572 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites@NullHandling=default.iq @@ -265,7 +265,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites@NullHandling=sql.iq index 2c0f5acd75d2..32543d4b310a 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@filter-rewrites@NullHandling=sql.iq @@ -295,7 +295,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@join-to-filter@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@join-to-filter@NullHandling=default.iq index 95f337e744d6..206049e87fe0 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@join-to-filter@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@join-to-filter@NullHandling=default.iq @@ -265,7 +265,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@join-to-filter@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@join-to-filter@NullHandling=sql.iq index 33b928001a90..a90c49a5c08c 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@join-to-filter@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersEmptyResults@join-to-filter@NullHandling=sql.iq @@ -295,7 +295,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_disabled@NullHandling=default.iq index 27c694d37619..8190d2d01e32 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_disabled@NullHandling=default.iq @@ -266,7 +266,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_disabled@NullHandling=sql.iq index 6ad76f4adfe9..97cebac6335f 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_disabled@NullHandling=sql.iq @@ -296,7 +296,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_enabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_enabled@NullHandling=default.iq index f178bb779134..f465747dcb1c 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_enabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_enabled@NullHandling=default.iq @@ -266,7 +266,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_enabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_enabled@NullHandling=sql.iq index 166318075962..8dece7f89ea9 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_enabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@all_enabled@NullHandling=sql.iq @@ -296,7 +296,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@default@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@default@NullHandling=default.iq index 8bcef0971a31..9a6d6b99c771 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@default@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@default@NullHandling=default.iq @@ -263,7 +263,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@default@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@default@NullHandling=sql.iq index 5e06a06055a2..d927029ea2c8 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@default@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@default@NullHandling=sql.iq @@ -293,7 +293,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-on-value-column_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-on-value-column_disabled@NullHandling=default.iq index c9ec614dd6c0..4b34d9f112bf 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-on-value-column_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-on-value-column_disabled@NullHandling=default.iq @@ -266,7 +266,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-on-value-column_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-on-value-column_disabled@NullHandling=sql.iq index 2b0a91f52ee2..02455d8a2787 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-on-value-column_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-on-value-column_disabled@NullHandling=sql.iq @@ -296,7 +296,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites-disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites-disabled@NullHandling=default.iq index 244271ad3f5f..69a3f68d7a40 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites-disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites-disabled@NullHandling=default.iq @@ -266,7 +266,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites-disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites-disabled@NullHandling=sql.iq index b317aac17079..aec779732b7a 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites-disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites-disabled@NullHandling=sql.iq @@ -296,7 +296,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites@NullHandling=default.iq index 5e79404a0b5f..a917edeea1b9 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites@NullHandling=default.iq @@ -266,7 +266,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites@NullHandling=sql.iq index 79dc2bbc12ee..3d5da0011b20 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@filter-rewrites@NullHandling=sql.iq @@ -296,7 +296,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@join-to-filter@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@join-to-filter@NullHandling=default.iq index b905026fcc5c..5d596d102bd6 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@join-to-filter@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@join-to-filter@NullHandling=default.iq @@ -266,7 +266,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@join-to-filter@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@join-to-filter@NullHandling=sql.iq index f1249ac37bca..7d01bbbc1639 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@join-to-filter@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testInnerJoinWithFilterPushdownAndManyFiltersNonEmptyResults@join-to-filter@NullHandling=sql.iq @@ -296,7 +296,7 @@ DruidProject(m1=[$2], m10=[$3], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "j0.m1", "m1" ], + "columns" : [ "m1", "j0.m1" ], "columnTypes" : [ "FLOAT", "FLOAT" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testJoinOuterGroupByAndSubqueryHasLimit@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testJoinOuterGroupByAndSubqueryHasLimit@NullHandling=default.iq index b96238832d5e..0cd12b64c22e 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testJoinOuterGroupByAndSubqueryHasLimit@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testJoinOuterGroupByAndSubqueryHasLimit@NullHandling=default.iq @@ -80,8 +80,8 @@ DruidAggregate(group=[{0}], EXPR$1=[AVG($2)], druid=[logical]) }, "resultFormat" : "compactedList", "limit" : 10, - "columns" : [ "dim2", "j0.m1", "m1", "m2" ], - "columnTypes" : [ "STRING", "FLOAT", "FLOAT", "DOUBLE" ], + "columns" : [ "dim2", "m1", "m2", "j0.m1" ], + "columnTypes" : [ "STRING", "FLOAT", "DOUBLE", "FLOAT" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testJoinOuterGroupByAndSubqueryHasLimit@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testJoinOuterGroupByAndSubqueryHasLimit@NullHandling=sql.iq index ec8a580d34ca..f8829b31e1f1 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testJoinOuterGroupByAndSubqueryHasLimit@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testJoinOuterGroupByAndSubqueryHasLimit@NullHandling=sql.iq @@ -81,8 +81,8 @@ DruidAggregate(group=[{0}], EXPR$1=[AVG($2)], druid=[logical]) }, "resultFormat" : "compactedList", "limit" : 10, - "columns" : [ "dim2", "j0.m1", "m1", "m2" ], - "columnTypes" : [ "STRING", "FLOAT", "FLOAT", "DOUBLE" ], + "columns" : [ "dim2", "m1", "m2", "j0.m1" ], + "columnTypes" : [ "STRING", "FLOAT", "DOUBLE", "FLOAT" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=default.iq index 5df8aeeaff31..2f4290fed6de 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=sql.iq index d43b57114441..93293e3f7e80 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=default.iq index 76955adfbeb9..27d860eb9f04 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=sql.iq index 05f624ac37a4..90f37d025af6 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@all_enabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=default.iq index 4d2b6332c5b4..845d81b6a3fc 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=default.iq @@ -71,8 +71,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -120,8 +120,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=sql.iq index 31c46ccc3b29..ab43f9604a69 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@default@NullHandling=sql.iq @@ -72,8 +72,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -122,8 +122,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq index 05a49528a40e..8f7728670181 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq index 07d5d256b617..0d4e75093b95 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq index 61e0354cd15b..eaf39cc2e5a8 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq index d764e7d5e3c7..602e70825959 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq index 2103374735da..fe73169674d1 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq index ae6924c1b875..e719d27e6dff 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=default.iq index b86beedd9ab7..0e75a816828a 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq index 904f6fec8d8f..c74c2744c540 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithOuterWhere_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_disabled@NullHandling=default.iq index bfdea514aa3e..9856d6880d74 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -129,8 +129,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_disabled@NullHandling=sql.iq index 4e6d825da40c..5682326c03e0 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -131,8 +131,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_enabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_enabled@NullHandling=default.iq index dd9ac1e021d9..dd18a691b267 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_enabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_enabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -129,8 +129,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_enabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_enabled@NullHandling=sql.iq index ea1bcd75f44d..098f6a50bc90 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_enabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@all_enabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -131,8 +131,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@default@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@default@NullHandling=default.iq index 10f1c84c330e..dd0fe8341b5d 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@default@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@default@NullHandling=default.iq @@ -71,8 +71,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -126,8 +126,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@default@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@default@NullHandling=sql.iq index ebe0fbc3f718..a27da638639d 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@default@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@default@NullHandling=sql.iq @@ -72,8 +72,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -128,8 +128,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq index ea5fdff6a88f..22719f86aea2 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -129,8 +129,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq index dcd84462bbec..295802c72308 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -131,8 +131,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq index d870dc637b84..de427c4ece07 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -129,8 +129,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq index 11442bae8a5c..8815732fe58c 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -131,8 +131,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq index 560f7c30f74d..7973786f10ec 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -129,8 +129,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq index 4f254f1976ba..d5e5d614e3dc 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -131,8 +131,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@join-to-filter@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@join-to-filter@NullHandling=default.iq index ff2df59c5139..c1b280b3803c 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@join-to-filter@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@join-to-filter@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -129,8 +129,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq index 5d8f487a7806..0a1b6a66606f 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSourcesWithTimeFilter_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -131,8 +131,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=default.iq index d13c86ab3957..9149b1cebb62 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=sql.iq index aa4220f4f427..7dbc2ff6923d 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=default.iq index aec23daced0a..ba5ed17c9e7e 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=sql.iq index 844b53dccc3d..e4c05ae03b3c 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@all_enabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=default.iq index 4c84575901ee..fd632f528467 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=default.iq @@ -71,8 +71,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -120,8 +120,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=sql.iq index ccbdf92c4575..40515f8b62d5 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@default@NullHandling=sql.iq @@ -72,8 +72,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -122,8 +122,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq index c22c33b3ea47..eb287c5eeedd 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq index 68f6a9250e67..54427093b152 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-on-value-column_disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq index aa6d4b632acd..e36e08bdf07d 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq index 9c1a8d237960..9227fb31b5e3 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites-disabled@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq index 993c14f6869a..6d586cb7eebd 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq index 76ee90cd8770..580ed6694725 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@filter-rewrites@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=default.iq index cf7cdcc09f3e..e108a87115d4 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=default.iq @@ -74,8 +74,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "dimension" : "dim1", "value" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -123,8 +123,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq index ecd48b65d915..800a422b8f09 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testLeftJoinOnTwoInlineDataSources_withLeftDirectAccess@join-to-filter@NullHandling=sql.iq @@ -75,8 +75,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "matchValueType" : "STRING", "matchValue" : "10.1" }, - "columns" : [ "__time", "v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, @@ -125,8 +125,8 @@ DruidProject(dim1=[CAST('10.1':VARCHAR):VARCHAR], __time=[$1], druid=[logical]) "outputType" : "STRING" } ], "resultFormat" : "compactedList", - "columns" : [ "__time", "_v0" ], - "columnTypes" : [ "LONG", "STRING" ], + "columns" : [ "_v0", "__time" ], + "columnTypes" : [ "STRING", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@all_disabled.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@all_disabled.iq index af6c617d6d69..2b57678c3758 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@all_disabled.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@all_disabled.iq @@ -175,7 +175,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "isAllowList" : true } ], "resultFormat" : "compactedList", - "columns" : [ "_v0", "dim3" ], + "columns" : [ "dim3", "_v0" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" @@ -192,7 +192,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "_j0.dim3", "dim3" ], + "columns" : [ "dim3", "_j0.dim3" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@all_enabled.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@all_enabled.iq index e82f708d2bb1..df9ecf85c1d3 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@all_enabled.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@all_enabled.iq @@ -175,7 +175,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "isAllowList" : true } ], "resultFormat" : "compactedList", - "columns" : [ "_v0", "dim3" ], + "columns" : [ "dim3", "_v0" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" @@ -192,7 +192,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "_j0.dim3", "dim3" ], + "columns" : [ "dim3", "_j0.dim3" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@default.iq index 5c154e61c299..fb32e0c61306 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@default.iq @@ -172,7 +172,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "isAllowList" : true } ], "resultFormat" : "compactedList", - "columns" : [ "_v0", "dim3" ], + "columns" : [ "dim3", "_v0" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" @@ -189,7 +189,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "_j0.dim3", "dim3" ], + "columns" : [ "dim3", "_j0.dim3" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-on-value-column_disabled.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-on-value-column_disabled.iq index 8e9600922765..9290f7f5adfb 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-on-value-column_disabled.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-on-value-column_disabled.iq @@ -175,7 +175,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "isAllowList" : true } ], "resultFormat" : "compactedList", - "columns" : [ "_v0", "dim3" ], + "columns" : [ "dim3", "_v0" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" @@ -192,7 +192,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "_j0.dim3", "dim3" ], + "columns" : [ "dim3", "_j0.dim3" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-rewrites-disabled.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-rewrites-disabled.iq index a258e98d01f7..290acad460a1 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-rewrites-disabled.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-rewrites-disabled.iq @@ -175,7 +175,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "isAllowList" : true } ], "resultFormat" : "compactedList", - "columns" : [ "_v0", "dim3" ], + "columns" : [ "dim3", "_v0" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" @@ -192,7 +192,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "_j0.dim3", "dim3" ], + "columns" : [ "dim3", "_j0.dim3" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-rewrites.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-rewrites.iq index 63ea77bfbbe9..20de420259ee 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-rewrites.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@filter-rewrites.iq @@ -175,7 +175,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "isAllowList" : true } ], "resultFormat" : "compactedList", - "columns" : [ "_v0", "dim3" ], + "columns" : [ "dim3", "_v0" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" @@ -192,7 +192,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "_j0.dim3", "dim3" ], + "columns" : [ "dim3", "_j0.dim3" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@join-to-filter.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@join-to-filter.iq index 8f9b506aa1a6..c6a483ee560c 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@join-to-filter.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteJoinQueryTest/testVirtualColumnOnMVFilterMultiJoinExpression@join-to-filter.iq @@ -175,7 +175,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "isAllowList" : true } ], "resultFormat" : "compactedList", - "columns" : [ "_v0", "dim3" ], + "columns" : [ "dim3", "_v0" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" @@ -192,7 +192,7 @@ DruidProject(dim3=[$0], dim30=[$2], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "_j0.dim3", "dim3" ], + "columns" : [ "dim3", "_j0.dim3" ], "columnTypes" : [ "STRING", "STRING" ], "granularity" : { "type" : "all" diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testMultipleExactCountDistinctWithGroupingAndOtherAggregatorsUsingJoin@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testMultipleExactCountDistinctWithGroupingAndOtherAggregatorsUsingJoin@NullHandling=default.iq index 8bc6869aff89..2fe7189d611e 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testMultipleExactCountDistinctWithGroupingAndOtherAggregatorsUsingJoin@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testMultipleExactCountDistinctWithGroupingAndOtherAggregatorsUsingJoin@NullHandling=default.iq @@ -221,8 +221,8 @@ DruidProject(dim2=[$0], EXPR$1=[$1], EXPR$2=[$3], EXPR$3=[$5], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "_j0.a0", "a0", "d0", "j0.a0" ], - "columnTypes" : [ "LONG", "LONG", "STRING", "LONG" ], + "columns" : [ "d0", "a0", "j0.a0", "_j0.a0" ], + "columnTypes" : [ "STRING", "LONG", "LONG", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testMultipleExactCountDistinctWithGroupingAndOtherAggregatorsUsingJoin@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testMultipleExactCountDistinctWithGroupingAndOtherAggregatorsUsingJoin@NullHandling=sql.iq index 0f899348f837..315013109433 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testMultipleExactCountDistinctWithGroupingAndOtherAggregatorsUsingJoin@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testMultipleExactCountDistinctWithGroupingAndOtherAggregatorsUsingJoin@NullHandling=sql.iq @@ -232,8 +232,8 @@ DruidProject(dim2=[$0], EXPR$1=[$1], EXPR$2=[$3], EXPR$3=[$5], druid=[logical]) "intervals" : [ "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z" ] }, "resultFormat" : "compactedList", - "columns" : [ "_j0.a0", "a0", "d0", "j0.a0" ], - "columnTypes" : [ "LONG", "LONG", "STRING", "LONG" ], + "columns" : [ "d0", "a0", "j0.a0", "_j0.a0" ], + "columnTypes" : [ "STRING", "LONG", "LONG", "LONG" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testTimeFilterOnSubquery@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testTimeFilterOnSubquery@NullHandling=default.iq index 9f63bc9a2222..c864ecb8df14 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testTimeFilterOnSubquery@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testTimeFilterOnSubquery@NullHandling=default.iq @@ -47,8 +47,8 @@ DruidProject(__time=[$0], m1=[$5], druid=[logical]) }, "resultFormat" : "compactedList", "limit" : 100, - "columns" : [ "__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1" ], - "columnTypes" : [ "LONG", "LONG", "STRING", "STRING", "STRING", "FLOAT", "DOUBLE", "COMPLEX" ], + "columns" : [ "__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1" ], + "columnTypes" : [ "LONG", "STRING", "STRING", "STRING", "LONG", "FLOAT", "DOUBLE", "COMPLEX" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testTimeFilterOnSubquery@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testTimeFilterOnSubquery@NullHandling=sql.iq index 40b9d8747773..7906b3d4c0fd 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testTimeFilterOnSubquery@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testTimeFilterOnSubquery@NullHandling=sql.iq @@ -47,8 +47,8 @@ DruidProject(__time=[$0], m1=[$5], druid=[logical]) }, "resultFormat" : "compactedList", "limit" : 100, - "columns" : [ "__time", "cnt", "dim1", "dim2", "dim3", "m1", "m2", "unique_dim1" ], - "columnTypes" : [ "LONG", "LONG", "STRING", "STRING", "STRING", "FLOAT", "DOUBLE", "COMPLEX" ], + "columns" : [ "__time", "dim1", "dim2", "dim3", "cnt", "m1", "m2", "unique_dim1" ], + "columnTypes" : [ "LONG", "STRING", "STRING", "STRING", "LONG", "FLOAT", "DOUBLE", "COMPLEX" ], "granularity" : { "type" : "all" }, diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testWindowingWithScanAndSort@NullHandling=default.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testWindowingWithScanAndSort@NullHandling=default.iq index 17ca58cf2a2f..a893185365e6 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testWindowingWithScanAndSort@NullHandling=default.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testWindowingWithScanAndSort@NullHandling=default.iq @@ -137,8 +137,8 @@ DruidProject(ranking=[$2], trend_score=[$1], druid=[logical]) }, "resultFormat" : "compactedList", "limit" : 10, - "columns" : [ "a0", "d1", "w0" ], - "columnTypes" : [ "LONG", "DOUBLE", "LONG" ], + "columns" : [ "d1", "a0", "w0" ], + "columnTypes" : [ "DOUBLE", "LONG", "LONG" ], "granularity" : { "type" : "all" }, @@ -179,7 +179,7 @@ DruidProject(ranking=[$2], trend_score=[$1], druid=[logical]) "offset" : 0, "limit" : 9223372036854775807 }, - "projectedColumns" : [ "a0", "w0" ], + "projectedColumns" : [ "w0", "a0" ], "virtualColumns" : null, "ordering" : null } ], diff --git a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testWindowingWithScanAndSort@NullHandling=sql.iq b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testWindowingWithScanAndSort@NullHandling=sql.iq index b18827be5b03..3eb700c018fd 100644 --- a/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testWindowingWithScanAndSort@NullHandling=sql.iq +++ b/sql/src/test/quidem/org.apache.druid.sql.calcite.DecoupledPlanningCalciteQueryTest/testWindowingWithScanAndSort@NullHandling=sql.iq @@ -148,8 +148,8 @@ DruidProject(ranking=[$2], trend_score=[$1], druid=[logical]) }, "resultFormat" : "compactedList", "limit" : 10, - "columns" : [ "a0", "d1", "w0" ], - "columnTypes" : [ "LONG", "DOUBLE", "LONG" ], + "columns" : [ "d1", "a0", "w0" ], + "columnTypes" : [ "DOUBLE", "LONG", "LONG" ], "granularity" : { "type" : "all" }, @@ -190,7 +190,7 @@ DruidProject(ranking=[$2], trend_score=[$1], druid=[logical]) "offset" : 0, "limit" : 9223372036854775807 }, - "projectedColumns" : [ "a0", "w0" ], + "projectedColumns" : [ "w0", "a0" ], "virtualColumns" : null, "ordering" : null } ],