Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test 5408 druid #17

Merged
merged 174 commits into from
Oct 25, 2024
Merged

Test 5408 druid #17

merged 174 commits into from
Oct 25, 2024

Conversation

JiajunBernoulli
Copy link
Owner

No description provided.

libenchao and others added 30 commits May 16, 2022 09:57
…ing intersect keys between target keys and group keys
…rom 'LHS.C1 = RHS.C1 AND LHS.C2 = RHS.C1'

Cosmetic fix-ups by Chunwei Lei.

Close apache#2761
Create an immutable version of class ListSqlOperatorTable,
to be created via SqlOperatorTables.of.

class ListSqlOperatorTable still exists but its constructors
and add(SqlOperator) methods are deprecated. We hope that
people will create immutable operator tables most of the time.

Refactor MockSqlOperatorTable to be immutable. Methods that
mutate the table, such as addRamp, are replaced by methods
that return a copy.

When creating a ChainedSqlOperatorTable, flatten constituent
tables that are a ChainedSqlOperatorTable, and remove
constituent tables that are immutable and empty.
Allow comma only at top level in FROM clause.
Add new join operator, COMMA-JOIN, with slightly lower
precedence than JOIN, to that unparsing works correctly.

Move test case from JdbcTest to join.iq.

Includes changes from PR apache#1204, authored by
Muhammad Gelbana <[email protected]>

Close apache#1204
Close apache#2820

Co-authored-by: Muhammad Gelbana <[email protected]>
Partial revert of deduplication in LogicalTableFunctionScan
(CALCITE-4673) since the deduplication in Project is more general and
covers the previous use-case as well.

Close apache#2825
Syntax is enabled if SqlConformance.isOffsetLimitAllowed() returns true.

Refactor parser:
 * Rename startCount to offsetFetch (based on the standard
   names of the clauses). Extract FETCH into its own method.
 * Disallow FETCH if parser has already seen LIMIT.

Close apache#2768
…uery dialect

Before this change, the expression

  DATE '2018-02-17'

fails to parse in BigQuery dialect because the parser
requires a <QUOTED_STRING> token and actually sees a
<BIG_QUERY_QUOTED_STRING> token. Similarly TIME, TIMESTAMP,
LITERAL literals. After this change, the above single-quoted
form succeeds, as does the double-quoted form like this:

  DATE "2018-02-17"

In SqlParserUtil, the methods parseDateLiteral,
parseTimeLiteral, parseTimestampLiteral and
parseIntervalLiteral expected a quoted string as an argument
(e.g. "'2018-02-17'") and now expect just the value (e.g.
"2018-02-17'"). Callers should now call parseString on the
argument first.

Close apache#2823
…ore than two items when SqlDialect#supportsAliasedValues is false
…XTRACT, DATE_PART, DATEADD, DATEDIFF and similar functions

Time unit abbreviations are specified in
SqlParser.Config.timeUnitCodes().

Since [CALCITE-2496], EXTRACT supports MICROSECOND and
NANOSECOND by default but FLOOR and CEIL do not. With this
change, you could configure FLOOR and CEIL to also support
those units.

Close apache#2807
JiajunBernoulli and others added 29 commits November 25, 2022 09:05
…, if possible

Why:
When rewriting the query for a semi join, the
`JoinOnUniqueToSemiJoinRule` pushes a new project via
`RelBuilder`. This project is *almost* a good copy of the original
`Project` -- it is just missing the field names.

How:
This change uses `RelDataType` of the `Project` to get the field names
for the new `Project` pushed on the `Relbuilder` stack. This is
similar to what is done in `SemiJoinRule#perform`
…AULT instances

Creating new PruneEmptyRule instances with slightly different
configurations (e.g., modify a rule to match FooProject.class instead
of Project.class) is almost impossible for the following reasons:

* ImmutableXXConfig classes are package private;
* Constructors in PruneEmptyRules class are either deprecated or
package private;
* Existing configurations do not provide DEFAULT instances;
* Configuration cannot be obtained from existing rules cause the latter
are declared as RelOptRule (and not RelRule).

Add DEFAULT configuration instances for each rule variant to provide
users an achor point to modify the behavior of a rule and adhere to the
RelRule interface, which requires all configs to have a DEFAULT
instance.

Close apache#2937
…g literal to array literal (enabled in Postgres conformance)

After this change, you can write an ARRAY constructor
followed by a string literal:

  ARRAY '{1,2,3}'

in a connection with Postgres conformance, and it is
equivalent to

  ARRAY [1,2,3]

Also, if you use a string literal in a context where an
array is needed, the string literal is treated as an array
literal. For example,

  SELECT ARRAY [1,2,3] = '{1,2,3}'

is equivalent to

  SELECT ARRAY [1,2,3] = ARRAY '{1,2,3}'

Close apache#2819
The goal is to reduce how often people need to write a
custom subclass of SqlFunction; rather than overriding a
method, they can change the value of a field.

There are one or two changes to tests because the
"MATCH_NUMBER" function had been misspelled "MATCH_NUMBER ".
Add method SqlOperatorFixture.forEachLibrary, to make it
easier to test an operator in several libraries.
… that are already implemented for other libraries

The functions are: MD5, SHA1, GREATEST, LEAST, COSH, SINH,
TANH, FROM_BASE64, LEFT, LTRIM, REPEAT, REVERSE, RIGHT,
RTRIM, SOUNDEX, TRANSLATE.

Close apache#2978
…conformance)

Adjust LeafQueryOrExpr syntax order to ensure that LeafQuery
is processed first. (Seems to be necessary in the Babel
parser only.)

Add isValueAllowed() in BABEL, LENIENT and MYSQL_5 conformance.

Close apache#2985
The JDBC and builtin functions already contain a TIMESTAMPADD
function with three arguments; this change adds a
TIMESTAMP_ADD function with two arguments, consistent with
BigQuery, and enabled if you have 'lib=bigquery' in your
connection options.

Close apache#2998
…an included dependency

In [CALCITE-5399] we removed Proj4J as a dependency due to
licensing issues with the EPSG data set. In this change we
upgrade Proj4J to version 1.2.2, which no longer includes
the EPSG data set and therefore can be distributed under the
Apache license.

This change mostly consists of a reversal of [CALCITE-5399],
but also upgrades Proj4J.
Run Druid tests using JDK 17 to overcome DriverManager deadlock
affecting JDK 8.

Close apache#3004
@JiajunBernoulli JiajunBernoulli merged commit 273d33d into main Oct 25, 2024
12 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.