Skip to content

Commit 168ea9e

Browse files
committed
Add a yaml test for issue 4322
Signed-off-by: Yuanchun Shen <yuanchu@amazon.com>
1 parent f435c7c commit 168ea9e

3 files changed

Lines changed: 151 additions & 81 deletions

File tree

integ-test/src/test/java/org/opensearch/sql/calcite/CalciteNoPushdownIT.java

Lines changed: 81 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.junit.runner.RunWith;
1111
import org.junit.runners.Suite;
1212
import org.opensearch.sql.calcite.remote.*;
13+
import org.opensearch.sql.calcite.tpch.CalcitePPLTpchIT;
1314
import org.opensearch.sql.ppl.PPLIntegTestCase;
1415

1516
/**
@@ -20,86 +21,86 @@
2021
@RunWith(Suite.class)
2122
@Suite.SuiteClasses({
2223
CalciteExplainIT.class,
23-
// CalciteArrayFunctionIT.class,
24-
// CalciteBinCommandIT.class,
25-
// CalciteConvertTZFunctionIT.class,
26-
// CalciteCsvFormatIT.class,
27-
// CalciteDataTypeIT.class,
28-
// CalciteDateTimeComparisonIT.class,
29-
// CalciteDateTimeFunctionIT.class,
30-
// CalciteDateTimeImplementationIT.class,
31-
// CalciteDedupCommandIT.class,
32-
// CalciteDescribeCommandIT.class,
33-
// CalciteExpandCommandIT.class,
34-
// CalciteFieldsCommandIT.class,
35-
// CalciteFillNullCommandIT.class,
36-
// CalciteFlattenCommandIT.class,
37-
// CalciteFlattenDocValueIT.class,
38-
// CalciteGeoIpFunctionsIT.class,
39-
// CalciteGeoPointFormatsIT.class,
40-
// CalciteHeadCommandIT.class,
41-
// CalciteInformationSchemaCommandIT.class,
42-
// CalciteIPComparisonIT.class,
43-
// CalciteIPFunctionsIT.class,
44-
// CalciteJsonFunctionsIT.class,
45-
// CalciteLegacyAPICompatibilityIT.class,
46-
// CalciteLikeQueryIT.class,
47-
// CalciteMathematicalFunctionIT.class,
48-
// CalciteMultiValueStatsIT.class,
49-
// CalciteNewAddedCommandsIT.class,
50-
// CalciteNowLikeFunctionIT.class,
51-
// CalciteObjectFieldOperateIT.class,
52-
// CalciteOperatorIT.class,
53-
// CalciteParseCommandIT.class,
54-
// CalcitePPLAggregationIT.class,
55-
// CalcitePPLAppendcolIT.class,
56-
// CalcitePPLAppendCommandIT.class,
57-
// CalcitePPLBasicIT.class,
58-
// CalcitePPLBuiltinDatetimeFunctionInvalidIT.class,
59-
// CalcitePPLBuiltinFunctionIT.class,
60-
// CalcitePPLBuiltinFunctionsNullIT.class,
61-
// CalcitePPLCaseFunctionIT.class,
62-
// CalcitePPLCastFunctionIT.class,
63-
// CalcitePPLConditionBuiltinFunctionIT.class,
64-
// CalcitePPLCryptographicFunctionIT.class,
65-
// CalcitePPLDedupIT.class,
66-
// CalcitePPLEventstatsIT.class,
67-
// CalcitePPLExistsSubqueryIT.class,
68-
// CalcitePPLExplainIT.class,
69-
// CalcitePPLFillnullIT.class,
70-
// CalcitePPLGrokIT.class,
71-
// CalcitePPLInSubqueryIT.class,
72-
// CalcitePPLIPFunctionIT.class,
73-
// CalcitePPLJoinIT.class,
74-
// CalcitePPLJsonBuiltinFunctionIT.class,
75-
// CalcitePPLLookupIT.class,
76-
// CalcitePPLParseIT.class,
77-
// CalcitePPLPatternsIT.class,
78-
// CalcitePPLPluginIT.class,
79-
// CalcitePPLRenameIT.class,
80-
// CalcitePPLScalarSubqueryIT.class,
81-
// CalcitePPLSortIT.class,
82-
// CalcitePPLStringBuiltinFunctionIT.class,
83-
// CalcitePPLTrendlineIT.class,
84-
// CalcitePrometheusDataSourceCommandsIT.class,
85-
// CalciteQueryAnalysisIT.class,
86-
// CalciteRareCommandIT.class,
87-
// CalciteRegexCommandIT.class,
88-
// CalciteRexCommandIT.class,
89-
// CalciteRenameCommandIT.class,
90-
// CalciteResourceMonitorIT.class,
91-
// CalciteSearchCommandIT.class,
92-
// CalciteSettingsIT.class,
93-
// CalciteShowDataSourcesCommandIT.class,
94-
// CalciteSortCommandIT.class,
95-
// CalciteStatsCommandIT.class,
96-
// CalciteSystemFunctionIT.class,
97-
// CalciteTextFunctionIT.class,
98-
// CalciteTopCommandIT.class,
99-
// CalciteTrendlineCommandIT.class,
100-
// CalciteVisualizationFormatIT.class,
101-
// CalciteWhereCommandIT.class,
102-
// CalcitePPLTpchIT.class
24+
CalciteArrayFunctionIT.class,
25+
CalciteBinCommandIT.class,
26+
CalciteConvertTZFunctionIT.class,
27+
CalciteCsvFormatIT.class,
28+
CalciteDataTypeIT.class,
29+
CalciteDateTimeComparisonIT.class,
30+
CalciteDateTimeFunctionIT.class,
31+
CalciteDateTimeImplementationIT.class,
32+
CalciteDedupCommandIT.class,
33+
CalciteDescribeCommandIT.class,
34+
CalciteExpandCommandIT.class,
35+
CalciteFieldsCommandIT.class,
36+
CalciteFillNullCommandIT.class,
37+
CalciteFlattenCommandIT.class,
38+
CalciteFlattenDocValueIT.class,
39+
CalciteGeoIpFunctionsIT.class,
40+
CalciteGeoPointFormatsIT.class,
41+
CalciteHeadCommandIT.class,
42+
CalciteInformationSchemaCommandIT.class,
43+
CalciteIPComparisonIT.class,
44+
CalciteIPFunctionsIT.class,
45+
CalciteJsonFunctionsIT.class,
46+
CalciteLegacyAPICompatibilityIT.class,
47+
CalciteLikeQueryIT.class,
48+
CalciteMathematicalFunctionIT.class,
49+
CalciteMultiValueStatsIT.class,
50+
CalciteNewAddedCommandsIT.class,
51+
CalciteNowLikeFunctionIT.class,
52+
CalciteObjectFieldOperateIT.class,
53+
CalciteOperatorIT.class,
54+
CalciteParseCommandIT.class,
55+
CalcitePPLAggregationIT.class,
56+
CalcitePPLAppendcolIT.class,
57+
CalcitePPLAppendCommandIT.class,
58+
CalcitePPLBasicIT.class,
59+
CalcitePPLBuiltinDatetimeFunctionInvalidIT.class,
60+
CalcitePPLBuiltinFunctionIT.class,
61+
CalcitePPLBuiltinFunctionsNullIT.class,
62+
CalcitePPLCaseFunctionIT.class,
63+
CalcitePPLCastFunctionIT.class,
64+
CalcitePPLConditionBuiltinFunctionIT.class,
65+
CalcitePPLCryptographicFunctionIT.class,
66+
CalcitePPLDedupIT.class,
67+
CalcitePPLEventstatsIT.class,
68+
CalcitePPLExistsSubqueryIT.class,
69+
CalcitePPLExplainIT.class,
70+
CalcitePPLFillnullIT.class,
71+
CalcitePPLGrokIT.class,
72+
CalcitePPLInSubqueryIT.class,
73+
CalcitePPLIPFunctionIT.class,
74+
CalcitePPLJoinIT.class,
75+
CalcitePPLJsonBuiltinFunctionIT.class,
76+
CalcitePPLLookupIT.class,
77+
CalcitePPLParseIT.class,
78+
CalcitePPLPatternsIT.class,
79+
CalcitePPLPluginIT.class,
80+
CalcitePPLRenameIT.class,
81+
CalcitePPLScalarSubqueryIT.class,
82+
CalcitePPLSortIT.class,
83+
CalcitePPLStringBuiltinFunctionIT.class,
84+
CalcitePPLTrendlineIT.class,
85+
CalcitePrometheusDataSourceCommandsIT.class,
86+
CalciteQueryAnalysisIT.class,
87+
CalciteRareCommandIT.class,
88+
CalciteRegexCommandIT.class,
89+
CalciteRexCommandIT.class,
90+
CalciteRenameCommandIT.class,
91+
CalciteResourceMonitorIT.class,
92+
CalciteSearchCommandIT.class,
93+
CalciteSettingsIT.class,
94+
CalciteShowDataSourcesCommandIT.class,
95+
CalciteSortCommandIT.class,
96+
CalciteStatsCommandIT.class,
97+
CalciteSystemFunctionIT.class,
98+
CalciteTextFunctionIT.class,
99+
CalciteTopCommandIT.class,
100+
CalciteTrendlineCommandIT.class,
101+
CalciteVisualizationFormatIT.class,
102+
CalciteWhereCommandIT.class,
103+
CalcitePPLTpchIT.class
103104
})
104105
public class CalciteNoPushdownIT {
105106
private static boolean wasPushdownEnabled;
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
setup:
2+
- do:
3+
query.settings:
4+
body:
5+
transient:
6+
plugins.calcite.enabled : true
7+
8+
---
9+
teardown:
10+
- do:
11+
query.settings:
12+
body:
13+
transient:
14+
plugins.calcite.enabled : false
15+
16+
---
17+
"Fix bin with stats command exception":
18+
- skip:
19+
features:
20+
- headers
21+
- allowed_warnings
22+
- do:
23+
indices.create:
24+
index: log-test
25+
body:
26+
mappings:
27+
properties:
28+
"@timestamp":
29+
type: date
30+
31+
- do:
32+
bulk:
33+
index: log-test
34+
refresh: true
35+
body:
36+
- '{"index": {}}'
37+
- '{ "@timestamp" : "2025-09-04T16:15:00.000Z" }'
38+
- '{"index": {}}'
39+
- '{ "@timestamp" : "2025-09-04T16:17:00.000Z" }'
40+
- '{"index": {}}'
41+
- '{ "@timestamp" : "2025-09-04T16:20:00.000Z" }'
42+
- '{"index": {}}'
43+
- '{ "@timestamp" : "2025-09-04T16:22:00.000Z" }'
44+
- '{"index": {}}'
45+
- '{ "@timestamp" : "2025-09-04T16:25:00.000Z" }'
46+
47+
- do:
48+
allowed_warnings:
49+
- 'Loading the fielddata on the _id field is deprecated and will be removed in future versions. If you require sorting or aggregating on this field you should also include the id in the body of your documents, and map this field as a keyword field that has [doc_values] enabled'
50+
headers:
51+
Content-Type: 'application/json'
52+
ppl:
53+
body:
54+
query: source=log-test | bin @timestamp span=5m | stats count by @timestamp
55+
56+
- match: { total: 3 }
57+
- length: { datarows: 3 }
58+
59+
- do:
60+
allowed_warnings:
61+
- 'Loading the fielddata on the _id field is deprecated and will be removed in future versions. If you require sorting or aggregating on this field you should also include the id in the body of your documents, and map this field as a keyword field that has [doc_values] enabled'
62+
headers:
63+
Content-Type: 'application/json'
64+
ppl:
65+
body:
66+
query: source=log-test | stats count by span(@timestamp, 5m)
67+
68+
- match: { total: 3 }
69+
- length: { datarows: 3 }

opensearch/src/main/java/org/opensearch/sql/opensearch/storage/serde/ExtendedRelJson.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
/**
8484
* An extension to {@link RelJson} to allow serialization & deserialization of UDTs
8585
*
86-
* <p>It copies a lot of methods from {@link RelJson} because we can not override some private
86+
* <p>It replicates a lot of methods from {@link RelJson} because we can not override some private
8787
* methods and because we cannot create an instance of ExtendedRelJson with the custom values for
8888
* private final fields not included in public constructors of RelJson. For example, there is no
8989
* public constructor with inputTranslator and operatorTable. As a result, every method that make

0 commit comments

Comments
 (0)