Skip to content

Patch added "Publications" section for the project documentation. #1094

Closed
ebegoli wants to merge 99 commits intoapache:sitefrom
ebegoli:patch-2
Closed

Patch added "Publications" section for the project documentation. #1094
ebegoli wants to merge 99 commits intoapache:sitefrom
ebegoli:patch-2

Conversation

@ebegoli
Copy link
Copy Markdown
Member

@ebegoli ebegoli commented Mar 8, 2019

Added new section and the three publications featuring Apache Calcite. Addressing JIRA #2174 https://issues.apache.org/jira/browse/CALCITE-2174.

vlsi and others added 30 commits December 29, 2018 23:47
See also CALCITE-537 Support skip overwrite in maven-remote-resources-plugin
Allow user to query (project) [_id](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-id-field.html) field
explicitly.

Note that (by default) meta fields are not available for `select *` type of queries and have to be explicitly listed in projection
like `select _MAP['_id'], _MAP['a'] from elastic`.

Add additional mapping between calcite expression `EXPR$n` and item name `foo.bar` (as part of `_MAP['foo.bar']`).
This information is otherwise lost during query translation.

Closes #982
…lds (eg. _MAP['city'])

Previously queries like below failed due to missing mapping between projections and items (as in `_MAP['foo']`):

```sql
select * from elastic order by _MAP['city']
select _MAP['city'] from elastic order by _MAP['state']
```

Reuse mapping from `ElasticsearchRel.Implementor.expressionItemMap` in `ElasticsearchSort` if
current elastic field name is unknown (like `EXPR$0`).

Closes #985
Remove class `ElasticsearchFilter.Translator`.
Remove redundant field quoting in `ElasticsearchRules.RexToElasticsearchTranslator`.
…se aggregates that support it (KrishnaKant Agrawal)

fixes #889
The "tables" operand should take an array, but the JSON example doesn't wrap the two tables in brackets.

fixes #965
…e (Benoit Hanotte)

`SqlCaseOperator.createCall()` requires 4 operands [1]:
 1. first value (i.e. CASE value WHEN...)
 2. when condifitions (as SqlNodeList)
 3. then values (as SqlNodeLists)
 4. else value

`RexSqlStandardConvertletTable` always only pass 3 arguments [2] as it uses the generic form such as
`CASE WHEN condition1 THEN val2 ... ELSE val3 END` and never the form
`CASE val WHEN condition1 THEN val2 ELSE val3`.

When calling `SqlCaseOperator.createCall()`, it needs to pass a null sql node for the first value in
order to correctly provide the 4 expected arguments and not only the last 3.

[1] https://github.com/apache/calcite/blob/59b76701d9c805f51b0929577ca604fdbfe00b0b/core/src/main/java/org/apache/calcite/sql/fun/SqlCaseOperator.java#L288
[2] https://github.com/apache/calcite/blob/59b76701d9c805f51b0929577ca604fdbfe00b0b/core/src/main/java/org/apache/calcite/rex/RexSqlStandardConvertletTable.java#L239

fixes #990
…t Goujon)

Digest/description created by AbstractRelNode#computeDigest includes
the description of each of its inputs, causing the final string to
be excessively long (e.g. the top level node of a tree containing
the string representation of the whole tree).

Change the function to not use the input's description but instead
its original description which is <typeName>#<id>.

fixes #795
… information (Stamatis Zampetakis)

1. Introduce collation metadata information for EnumerableJoin, EnumerableThetaJoin, EnumerableSemiJoin, and EnumerableCorrelate.

2. Modify static factory create methods to obtain the collation information from the metadata.

3. Change EnumerableJoinRule, EnumerableCorrelateRule to use the static factory method to create the operators.

4. Add SortRemoveRuleTest, exploiting the preserved collation of various enumerable join operatrs to remove a sort.

5. Adapt sql/join.iq removing redundant sort operators.

6. Adapt sql/sub-query.iq due to CALCITE-2582.

7. Add tests verifying the order preserving properties of the join algorithms in EnumerableDefaults.
…rators in BigQuery and Hive SQL dialects

Close #877
CatalogScope constructor makes a call to CatalogReader#getAllSchemaObjects
and stores its result into a private field which is not used by the
class itself, nor has some accessor other class could use.

Removing this call as it might be expensive on some systems.

fixes #888
…r relation and multijoin post-join filters

The FilterMultiJoinMergeRule class is intended to combine a filter on
top of a multi join into a single multijoin. But instead of combining
the post join filter with the filter's condition, it simply replaces
it.

Fixing the issue by composing a conjuction of the two filters and
adding it to the new multijoin.

fixes #977
…s if Aggregate relNode contains distinct aggregate function (jingzhang)

fixes #661
Instead of getting the index of the column from rowType and then comparing
it to the collation field index, gets the collation field index and checks
if the corresponding rowType index matches.

fixes #891
vlsi and others added 25 commits February 27, 2019 10:04
new RuntimeException(e) adds very little info in tests, and it makes stacktraces harder to read.
So it makes sense to just sneaky-throw in those cases, especially for test purposes.
…correctly merged during converting from SQL to relational algebra
By default, cost for Convention.NONE is infinity.
- Add option to allow Convention.None planning with VolcanoPlanner
- Add a unit test

Change-Id: Idcee2ca923c9b10b58cc9352a390a87f899b64ee

[CALCITE-2827] Fix checkstyle error

Change-Id: I50702e6d50d9fe916e15b5bd42f8ec7b12bf0c6f

[CALCITE-2827] Fix grammar errors

Change-Id: Icca105184888ff9cc01b2b71f597f3fbd235b638
1. Move all system properties with "calcite" namespace under a common class.
2. Improve the documentation (javadoc) of existing properties.
3. Add review comments regarding a few properties.
4. Deprecate SaffronProperties and move them all under CalciteSystemProperty.
… executing queries in the EnumerableConvention

1. Add a configurable Guava cache in EnumerableInterpretable#getBindable to re-use Bindable instances.
2. Avoid caching instances of classes with static fields.
3. Add JMH benchmark for the expensive part of EnumerableInterpretable#getBindable method.
4. Add utility method for obtaining integer runtime properties.
5. NPE in VisitorImpl when visiting a FieldDeclaration without an initializer.
Deprecated simplifyOr/simplitfyAnd methods as alternate entry points may not get that much attention during development.
Before this, some simplification opportunities were missed during predicate processing.
From now on in RelBuilder all Rex simplifications are postponed until Rel creation time - which makes it more consistent and it also obeys the simplification setting.
Also refactor SqlJsonFunctionsTest a little to better generate invocation descriptions.

Close #1075
This change enables to rewrite comparisions between the same operands to a form which relys on the nullability check of the original expression.
For example `x=x` is rewritten to `null or x is not null`
…n functions returns incorrect result (Siyuan Liu)
…s earlier

Earlier decomposition of AND operands into normal/negated terms preceeded recursion of simplification;
which could have helped retaining negated terms.
Remove duplicate invocation of simplification on negated and operands.
Also run full simplification on filter predicates.
1. Replace combination of PrintWriter/StringWriter with StringBuilder.
2. Add JMH benchmark showing a 10X improvement when choosing StringBuilder.
3. Remove unused method from Unsafe.
4. Improve Javadoc of modified methods.
1. Replace rule.getClass().getSimpleName() with rule.toString():
(i) It conforms to the API VolcanoPlannerPhaseRuleMappingInitializer;
(ii) It is safer to use when the same rule class has many instances;
(iii) It is much more efficient.
2. Precompute the class name for Boxed primitives and use where necessary.
3. Remove Types#boxClassName since it is slightly redundant.
…Rows when explaining plan with all attributes
… are sorted aggregates and non-sorted aggregates at the same time

Rename SequencedAdderAggregateLambdaFactory to BasicAggregateLambdaFactory;
Rename OrderedAggregateLambdaFactory to LazyAggregateLambdaFactory;
Add BasicLazyAccumulator.
…ages

The class is deprecated for the following reasons:
1. The contract and behavior of RelTraitPropagationVisitor are not consistent.
2. It traverses RelNode subtrees after every rule transformation affecting performance.
3. It exists only for debugging purposes and we have no proof that helps discover issues.
4. It not modified for the past five years.
5. It is unlikely to be used in the future.
Added new section and the three publications featuring Apache Calcite,
@kennknowles
Copy link
Copy Markdown
Member

I think your PR has a rebase problem.

@ebegoli
Copy link
Copy Markdown
Member Author

ebegoli commented Mar 8, 2019 via email

@ebegoli
Copy link
Copy Markdown
Member Author

ebegoli commented Mar 8, 2019

Will rebase and issue a new one.

@ebegoli ebegoli closed this Mar 8, 2019
@ebegoli ebegoli deleted the patch-2 branch March 8, 2019 05:36
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.