Skip to content

Commit 0f0e330

Browse files
committed
Merge branch 'main' into feat/report-builder
2 parents ae6514c + d984298 commit 0f0e330

74 files changed

Lines changed: 1880 additions & 557 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/commands/dedupe.md

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/workflows/auto-close-duplicates.yml

Lines changed: 0 additions & 132 deletions
This file was deleted.

.github/workflows/claude-dedupe-issues.yml

Lines changed: 0 additions & 43 deletions
This file was deleted.

.github/workflows/issue-dedupe.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
name: Issue Dedupe Main
3+
on:
4+
issues:
5+
types: [opened]
6+
schedule:
7+
- cron: '0 0 * * *'
8+
workflow_dispatch:
9+
inputs:
10+
job:
11+
description: 'Job to run'
12+
required: true
13+
type: choice
14+
options:
15+
- detect
16+
- auto-close
17+
default: detect
18+
issue_number:
19+
description: 'Issue number to check for duplicates (detect only)'
20+
required: false
21+
type: string
22+
23+
jobs:
24+
detect:
25+
if: (github.event_name == 'issues' && github.event.issue.user.type != 'Bot') || (github.event_name == 'workflow_dispatch' && inputs.job == 'detect')
26+
uses: opensearch-project/opensearch-build/.github/workflows/issue-dedupe-detect.yml@main
27+
permissions:
28+
contents: read
29+
issues: write
30+
id-token: write
31+
secrets:
32+
BEDROCK_ACCESS_ROLE_ISSUE_DEDUPE: ${{ secrets.BEDROCK_ACCESS_ROLE_ISSUE_DEDUPE }}
33+
with:
34+
issue_number: ${{ inputs.issue_number || '' }}
35+
grace_days: ${{ vars.DUPLICATE_GRACE_DAYS || '7' }}
36+
37+
auto-close:
38+
if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && inputs.job == 'auto-close')
39+
uses: opensearch-project/opensearch-build/.github/workflows/issue-dedupe-autoclose.yml@main
40+
permissions:
41+
issues: write
42+
with:
43+
grace_days: ${{ vars.DUPLICATE_GRACE_DAYS || '7' }}

.github/workflows/remove-duplicate-on-activity.yml

Lines changed: 0 additions & 42 deletions
This file was deleted.

api/src/main/java/org/opensearch/sql/api/UnifiedQueryContext.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,16 @@
2323
import org.apache.calcite.rel.metadata.DefaultRelMetadataProvider;
2424
import org.apache.calcite.schema.Schema;
2525
import org.apache.calcite.schema.SchemaPlus;
26+
import org.apache.calcite.sql.fun.SqlStdOperatorTable;
2627
import org.apache.calcite.sql.parser.SqlParser;
28+
import org.apache.calcite.sql.util.SqlOperatorTables;
2729
import org.apache.calcite.tools.FrameworkConfig;
2830
import org.apache.calcite.tools.Frameworks;
2931
import org.apache.calcite.tools.Programs;
3032
import org.opensearch.sql.api.parser.CalciteSqlQueryParser;
3133
import org.opensearch.sql.api.parser.PPLQueryParser;
3234
import org.opensearch.sql.api.parser.UnifiedQueryParser;
35+
import org.opensearch.sql.api.spec.UnifiedFunctionSpec;
3336
import org.opensearch.sql.calcite.CalcitePlanContext;
3437
import org.opensearch.sql.calcite.SysLimit;
3538
import org.opensearch.sql.common.setting.Settings;
@@ -243,6 +246,9 @@ private FrameworkConfig buildFrameworkConfig() {
243246
SchemaPlus defaultSchema = findSchemaByPath(rootSchema, defaultNamespace);
244247
return Frameworks.newConfigBuilder()
245248
.parserConfig(buildParserConfig())
249+
.operatorTable(
250+
SqlOperatorTables.chain(
251+
SqlStdOperatorTable.instance(), UnifiedFunctionSpec.RELEVANCE.operatorTable()))
246252
.defaultSchema(defaultSchema)
247253
.traitDefs((List<RelTraitDef>) null)
248254
.programs(Programs.calc(DefaultRelMetadataProvider.INSTANCE))

api/src/main/java/org/opensearch/sql/api/UnifiedQueryPlanner.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.apache.calcite.sql.SqlNode;
1818
import org.apache.calcite.tools.Frameworks;
1919
import org.apache.calcite.tools.Planner;
20+
import org.opensearch.sql.api.parser.NamedArgRewriter;
2021
import org.opensearch.sql.api.parser.UnifiedQueryParser;
2122
import org.opensearch.sql.ast.tree.UnresolvedPlan;
2223
import org.opensearch.sql.calcite.CalciteRelNodeVisitor;
@@ -81,7 +82,8 @@ private static class CalciteNativeStrategy implements PlanningStrategy {
8182
public RelNode plan(String query) throws Exception {
8283
try (Planner planner = Frameworks.getPlanner(context.getPlanContext().config)) {
8384
SqlNode parsed = planner.parse(query);
84-
SqlNode validated = planner.validate(parsed);
85+
SqlNode rewritten = parsed.accept(NamedArgRewriter.INSTANCE);
86+
SqlNode validated = planner.validate(rewritten);
8587
RelRoot relRoot = planner.rel(validated);
8688
return relRoot.project();
8789
}

0 commit comments

Comments
 (0)