Re: [VOTE] Release Apache Calcite Avatica 1.22.0 (release candidate 0)

2022-07-26 Thread Julian Hyde
Thanks for being release manager, Francis.

Downloaded, checked signatures and hashes, LICENSE, README, howto.md,
history.md; compiled and ran tests on Ubuntu Linux, OpenJDK 18, Gradle
7.4.2; ran rat.

+1 (binding)

Note:
 * javac emits deprecation warnings under OpenJDK 18.

Julian

On Tue, Jul 26, 2022 at 4:31 PM Francis Chuang  wrote:
>
> Hi all,
>
> I have created a build for Apache Calcite Avatica 1.22.0, release
> candidate 0.
>
> Thanks to everyone who has contributed to this release.
>
> You can read the release notes here:
> https://github.com/apache/calcite-avatica/blob/avatica-1.22.0-rc0/site/_docs/history.md
>
> The commit to be voted upon:
> https://gitbox.apache.org/repos/asf?p=calcite-avatica.git;a=commit;h=71fc0abf79cb2c25cc430cc456beabd441cfff85
>
> Its hash is 71fc0abf79cb2c25cc430cc456beabd441cfff85
>
> Tag:
> https://gitbox.apache.org/repos/asf?p=calcite-avatica.git;a=tag;h=refs/tags/avatica-1.22.0-rc0
>
> The artifacts to be voted on are located here:
> https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-avatica-1.22.0-rc0
> (revision 55989)
>
> The hashes of the artifacts are as follows:
> 1f5833453f03d8b77ad18c9c4996d882b95f5b54f6274c2f62b619fd835800be0779bfa1191e5476cb3c268f457ca44008271cd23d25d83ad69db1ada26ae1bf
> *apache-calcite-avatica-1.22.0-src.tar.gz
>
> A staged Maven repository is available for review at:
> https://repository.apache.org/content/repositories/orgapachecalcite-1167/org/apache/calcite/
>
> Release artifacts are signed with the following key:
> https://people.apache.org/keys/committer/francischuang.asc
> https://www.apache.org/dist/calcite/KEYS
>
> To create the jars and test Apache Calcite Avatica: "gradle build
> -Prelease -PskipSign".
>
> If you do not have a Java/Gradle environment available, you can run the
> tests using docker. To do so, install docker and docker-compose, then
> run "docker-compose run test" from the root of the directory.
>
> Please vote on releasing this package as Apache Calcite Avatica 1.22.0.
>
> The vote is open for the next 24 hours and passes if a majority of at
> least three +1 PMC votes are cast.
>
> [ ] +1 Release this package as Apache Calcite Avatica 1.22.0
> [ ]  0 I don't feel strongly about it, but I'm okay with the release
> [ ] -1 Do not release this package because...
>
>
> Here is my vote:
>
> +1 (binding)
>
> Francis


[VOTE] Release Apache Calcite Avatica 1.22.0 (release candidate 0)

2022-07-26 Thread Francis Chuang

Hi all,

I have created a build for Apache Calcite Avatica 1.22.0, release
candidate 0.

Thanks to everyone who has contributed to this release.

You can read the release notes here:
https://github.com/apache/calcite-avatica/blob/avatica-1.22.0-rc0/site/_docs/history.md

The commit to be voted upon:
https://gitbox.apache.org/repos/asf?p=calcite-avatica.git;a=commit;h=71fc0abf79cb2c25cc430cc456beabd441cfff85

Its hash is 71fc0abf79cb2c25cc430cc456beabd441cfff85

Tag:
https://gitbox.apache.org/repos/asf?p=calcite-avatica.git;a=tag;h=refs/tags/avatica-1.22.0-rc0

The artifacts to be voted on are located here:
https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-avatica-1.22.0-rc0
(revision 55989)

The hashes of the artifacts are as follows:
1f5833453f03d8b77ad18c9c4996d882b95f5b54f6274c2f62b619fd835800be0779bfa1191e5476cb3c268f457ca44008271cd23d25d83ad69db1ada26ae1bf
*apache-calcite-avatica-1.22.0-src.tar.gz

A staged Maven repository is available for review at:
https://repository.apache.org/content/repositories/orgapachecalcite-1167/org/apache/calcite/

Release artifacts are signed with the following key:
https://people.apache.org/keys/committer/francischuang.asc
https://www.apache.org/dist/calcite/KEYS

To create the jars and test Apache Calcite Avatica: "gradle build 
-Prelease -PskipSign".


If you do not have a Java/Gradle environment available, you can run the 
tests using docker. To do so, install docker and docker-compose, then 
run "docker-compose run test" from the root of the directory.


Please vote on releasing this package as Apache Calcite Avatica 1.22.0.

The vote is open for the next 24 hours and passes if a majority of at
least three +1 PMC votes are cast.

[ ] +1 Release this package as Apache Calcite Avatica 1.22.0
[ ]  0 I don't feel strongly about it, but I'm okay with the release
[ ] -1 Do not release this package because...


Here is my vote:

+1 (binding)

Francis


[jira] [Created] (CALCITE-5220) Release Avatica 1.22

2022-07-26 Thread Francis Chuang (Jira)
Francis Chuang created CALCITE-5220:
---

 Summary: Release Avatica 1.22
 Key: CALCITE-5220
 URL: https://issues.apache.org/jira/browse/CALCITE-5220
 Project: Calcite
  Issue Type: Task
  Components: avatica
Reporter: Francis Chuang
Assignee: Francis Chuang
 Fix For: avatica-1.22.0






--
This message was sent by Atlassian Jira
(v8.20.10#820010)


How do I push down joins and aggregates to source system? [data federation]

2022-07-26 Thread Pranav Deshpande
Dear Apache Calcite Dev Team,
How do I push down such queries to the source system in calcite?

Actually, I am trying to ask this as an extension of the question I asked
here: https://lists.apache.org/thread/9yjk6k03fdq5ffwk8z26xt05y21notjg

However, I am only to reply back on that email chain. Could someone tell me
how to do that?

Thanks & Regards,
Pranav


Re: [VOTE] Release Apache Calcite 1.31.0 (release candidate 0)

2022-07-26 Thread Andrei Sereda
Hello,

Thanks for the detailed feedback.

Regarding differences between git and src releases (empty folders reported
by Stamatis) it is indeed a stale state of my branch. It is the main reason
I'd like to make a clean (RC1) release candidate.

Some answers to Julian's notes:

> 1. It's strange that the release notes contain a blank section for
1.32 already. Probably better to add that section only after the
release.

1.32 history section is being added as a jekyll comment and is not visible
on the public site.  It is done to help the next RM. When I started a draft
for history notes, a similar section was already prepared for 1.31.

Agree that it is better to add if after the release.


> 2. It would be useful if the breaking changes section said what about
> CALCITE-4936 was breaking (In the bug, Statmatis wrote "Old behavior:
> The Project operator is transformed into Calc. New behavior: The
> Project operator is not transformed and the rule becomes NOOP.")

Thanks. Will update the notes.

> 4. It's ironic that the boilerplate has changed from  "Contributors to
> this release" in 1.30 to "Thanks to all contributors (in alphabetical
> order)" in this release and yet the list of contributors is not in
> alphabetical order.

Thanks for pointing it out.


> 5. The build gives some scary warnings. We should fix these shortly.

I will check if it is easily fixable.


Overall I'm inclined to create RC1 mainly because of issues reported by
Stamatis. Let me know if you agree.

Thanks,
Andrei.

On Mon, Jul 25, 2022 at 8:22 PM Julian Hyde  wrote:

> Andrei, Thank you for being release manager!
>
> Downloaded, checked signatures & checksums, LICENSE, NOTICE, howto.md;
> compiled and ran tests using OpenJDK 18 and Gradle-7.4.2 on Ubuntu
> Linux.
>
> My vote is 0 (binding) due to the arrow and .mvn directories noted by
> Stamatis. I will change my vote to +1 if we have an explanation of why
> these files exist and a plan to prevent them in future RCs.
>
> Julian
>
>
> Notes:
>
> 1. It's strange that the release notes contain a blank section for
> 1.32 already. Probably better to add that section only after the
> release.
>
> 2. It would be useful if the breaking changes section said what about
> CALCITE-4936 was breaking (In the bug, Statmatis wrote "Old behavior:
> The Project operator is transformed into Calc. New behavior: The
> Project operator is not transformed and the rule becomes NOOP.")
>
> 3. Andrei, you should have added yourself ("Andrei Sereda (release
> manager)") to the list of contributors.
>
> 4. It's ironic that the boilerplate has changed from  "Contributors to
> this release" in 1.30 to "Thanks to all contributors (in alphabetical
> order)" in this release and yet the list of contributors is not in
> alphabetical order.
>
> 5. The build gives some scary warnings. We should fix these shortly.
>
> > Configure project :buildSrc
> Could not load entry 7b753dfea6780c3d32cd7106d24999f8 from remote
> build cache: Bucket 'calcite-gradle-cache' not found
>
> > Task :buildSrc:buildext:compileKotlin
> 'compileJava' task (current target is 18) and 'compileKotlin' task
> (current target is 1.8) jvm target compatibility should be set to the
> same Java version.
>
> > Task :buildSrc:javacc:compileKotlin
> 'compileJava' task (current target is 18) and 'compileKotlin' task
> (current target is 1.8) jvm target compatibility should be set to the
> same Java version.
>
> w:
> /tmp/apache-calcite-1.31.0-src/buildSrc/subprojects/javacc/src/main/kotlin/org/apache/calcite/buildtools/javacc/JavaCCTask.kt:
> (66, 13): 'setter for main: String?' is deprecated. Deprecated in Java
>
> > Task :buildSrc:fmpp:compileKotlin
> 'compileJava' task (current target is 18) and 'compileKotlin' task
> (current target is 1.8) jvm target compatibility should be set to the
> same Java version.
>
> On Mon, Jul 25, 2022 at 9:07 AM Stamatis Zampetakis 
> wrote:
> >
> > Ubuntu 20.04.4 LTS, jdk1.8.0_261, Gradle wrapper, Gradle 7.4.2
> >
> >  * Checked signatures and checksums OK
> >  * Went over release note OK (left some comments in the draft PR)
> >  * Built from git tag and run tests (./gradlew clean build) OK
> >  * Built from source artifacts and run unit tests + slow tests OK
> >  * Checked diff between git repo and release sources KO
> >
> > Comparing the contents between the git repo and the release sources I
> found
> > that the (RC0) sources contain two (empty) directories (i.e., arrow,
> .mvn)
> > that shouldn't be there.
> > I guess there was some kind of stale state in the calcite directory when
> > preparing the RC. The command that I used to compare the sources can be
> > found below.
> >
> > $ diff -qr apache-calcite-1.31.0-src apache-calcite-1.31.0-git
> > Only in apache-calcite-1.31.0-src: arrow
> > Only in apache-calcite-1.31.0-git: .git
> > Only in apache-calcite-1.31.0-git/gradle: wrapper
> > Only in apache-calcite-1.31.0-git: gradlew
> > Only in apache-calcite-1.31.0-git: gradlew.bat
> > Only in apache-calcite-1.31.0-src: 

Re: Serializing parsed SqlNode/AST

2022-07-26 Thread Parag Jain
Missed the email because was not subscribed to the mailing list.

Anyways thanks for the pointer, will have a look at RelJson and RelWriterTest. 
Filed a ticket here - https://issues.apache.org/jira/browse/CALCITE-5219

On 2022/07/22 17:28:45 Julian Hyde wrote:
> I don’t know of any such facility. I suppose someone could do for AST trees
> what RelJson and RelWriterTest do for RelNode trees.
> 
> Can you please log a Jira case for this? It’s good to have a placeholder in
> case someone feels like picking it up in future.
> 
> Julian
> 
> [1]
> https://github.com/apache/calcite/blob/HEAD/core/src/main/java/org/apache/calcite/rel/externalize/RelJson.java
> [2]
> https://github.com/apache/calcite/blob/HEAD/core/src/test/java/org/apache/calcite/plan/RelWriterTest.java
> 
> 
> On Jul 21, 2022, at 5:36 AM, Parag Jain  wrote:
> 
> Hello,
> 
> We are using calcite in our project to parse and manipulate SQL. We have
> also extended the parser for our use case.
> 
> Now, we would like to serialize the parsed SqlNode with type information
> and pass it to a different system over wire for query intelligence. We were
> thinking of using protobuf for this, I was wondering if anyone has already
> done similar work or thought about a good approach to achieve serialization
> of a parsed query.
> 
> Thanks
> 


[jira] [Created] (CALCITE-5219) Serializing parsed SqlNode/AST

2022-07-26 Thread Parag Jain (Jira)
Parag Jain created CALCITE-5219:
---

 Summary: Serializing parsed SqlNode/AST
 Key: CALCITE-5219
 URL: https://issues.apache.org/jira/browse/CALCITE-5219
 Project: Calcite
  Issue Type: Wish
  Components: core
Reporter: Parag Jain


It would be a good feature for calcite to be able to serialize the parsed 
SqlNode with type information so that it can be passed to different systems 
over wire for query intelligence. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)