Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Francis Chuang

On 3/03/2020 12:31 pm, Julian Hyde wrote:

We can discuss the proposal to add other products' test suites to CI.
I think it would cause more work for us (triaging false-negative
problems). And lots of important downstream projects do not have a
public test suite.


Apologies for not being clearer, the comment regarding testing against 
Calcite master in CI daily was directed towards Anton.


It would not be practical for Calcite to run test suites for all of its 
consumers. Consumers should be proactive in testing against our master 
to detect regressions and breaking changes.


Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Julian Hyde
+1 (binding)

I downloaded, checked LICENSE, NOTICE, copyright dates, built & ran
tests using JDK 13 on Ubuntu Linux.

Release notes need some work:
* Back-quotes around keywords and identifiers,
* capitalize SQL keywords,
* add brackets around JIRA cases,
* wrap lines to ~80,
* remove raw HTML characters (e.g. '->') and smart quotes;
* there are so many items that it would be useful to group into
subject areas (I would remove the 'Adapters' section and put some of
its items in 'New features' and some items in an 'Adapters' or 'JDBC
adapter' section of 'Bug fixes' section);
* "adaptors" should be spelled "adapters";
* "migrate build scripts to gradle" should be in "build and test" section;
* there are several "minor enhancements" for hints that should all be
under the "hints" feature.

I don't think we provided user documentation for hints. The need
documentation; maybe in reference.md.

I take Francis' point that this release process has gone on too long.
Therefore I am not voting -1 due to 3839, even though I think people
are fairly likely to hit it. But if there is an RC4 I would like to
include fixes for 3839 and 3412.

We can discuss the proposal to add other products' test suites to CI.
I think it would cause more work for us (triaging false-negative
problems). And lots of important downstream projects do not have a
public test suite.

Julian

On Mon, Mar 2, 2020 at 2:33 PM Rui Wang  wrote:
>
> +1 (non-binding)
>
> - check sha512 OK
> - check gpg signature OK (last timely I forgot to import calcite KEYS
> locally, sorry about that)
> - ./gradlew build OK
> - check the rc3 tag with right commit OK
> - compare git tag files with files extracted from artifacts, There is a
> difference about LICENSE file. Also the artifact has one extra "licenses"
> directory . By reading the diff I think it is still OK. (Also it should be
> a known case that appeared in a past release)
> - Tested the artifact with Apache Beam. There are breaks but none is
> regression (e.g. break due to some API evolutions, which is
> understandable). OK
>
>
> -Rui
>
>
>
>
> On Mon, Mar 2, 2020 at 2:10 PM Francis Chuang 
> wrote:
>
> > My vote is +1 (binding)
> >
> > Thanks for making this rc available for voting, Danny!
> >
> > Checked GPG signature - OK
> > Checked hash - OK
> > Ran tests per HOWTO (./gradlew check) - OK
> > Release notes (quick skim) - OK
> > Maven artifacts (spot checked a few files on nexus) - OK
> >
> > Environment (gradle:latest docker container):
> > Gradle 6.1.1 (via gradlew)
> > Ubuntu 18.04.4 LTS
> > openjdk version "1.8.0_232"
> > OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
> > OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)
> >
> > Great work, Danny!
> >
> > My reasons for voting +1:
> > - This release is overdue and since we are at rc3 already, this is
> > probably causing the RM a lot of release fatigue. I've been RM for a few
> > releases where a lot of RCs were created and it's discouraging to have
> > another rc rejected and having to go back and build another one.
> >
> > - This is a pretty big release and there endless improvements and bugs
> > that can be added to this release. We should get this release out and
> > aim for the next release to clean up these regressions.
> >
> > - CALCITE-3839 is a regression, but as this release is already quite
> > delayed and we are planning to make the next release (1.23.0) available
> > soon after this release, it's possible to skip this release and wait for
> > the next one.
> >
> > - I'd suggest adding a daily job in CI that integrates with Calcite
> > master to catch regressions such as CALCITE-3839.
> >
> >
> > On 3/03/2020 12:28 am, Danny Chan wrote:
> > > Hi all,
> > >
> > > I have created a build for Apache Calcite 1.22.0, release
> > > candidate 3.
> > >
> > > Thanks to everyone who has contributed to this release.
> > >
> > > You can read the release notes here:
> > > https://github.com/apache/calcite/blob/v1.22.0-rc3/site/_docs/history.md
> > >
> > > The commit to be voted upon:
> > >
> > https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=537b8dbb4b58c61b6c573eb07a51b8d38896a1ff
> > >
> > > Its hash is 537b8dbb4b58c61b6c573eb07a51b8d38896a1ff
> > >
> > > Tag:
> > > https://github.com/apache/calcite/tree/v1.22.0-rc3
> > >
> > > The artifacts to be voted on are located here:
> > > https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-1.22.0-rc3
> > > (revision 38350)
> > >
> > > The hashes of the artifacts are as follows:
> > >
> > a7dface824287756fcc66f6f075286975e409e7ea9a0af97ad973f90bc2832250c09e0477bc571bd78f6ee3721883cce76cada9a3e9601e1dd497fb02679647f
> > > *apache-calcite-1.22.0-src.tar.gz
> > >
> > > A staged Maven repository is available for review at:
> > >
> > https://repository.apache.org/content/repositories/orgapachecalcite-1080/org/apache/calcite/
> > >
> > > Release artifacts are signed with the following key:
> > > https://people.apache.org/keys/committer/danny0405.asc
> > > 

Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Rui Wang
+1 (non-binding)

- check sha512 OK
- check gpg signature OK (last timely I forgot to import calcite KEYS
locally, sorry about that)
- ./gradlew build OK
- check the rc3 tag with right commit OK
- compare git tag files with files extracted from artifacts, There is a
difference about LICENSE file. Also the artifact has one extra "licenses"
directory . By reading the diff I think it is still OK. (Also it should be
a known case that appeared in a past release)
- Tested the artifact with Apache Beam. There are breaks but none is
regression (e.g. break due to some API evolutions, which is
understandable). OK


-Rui




On Mon, Mar 2, 2020 at 2:10 PM Francis Chuang 
wrote:

> My vote is +1 (binding)
>
> Thanks for making this rc available for voting, Danny!
>
> Checked GPG signature - OK
> Checked hash - OK
> Ran tests per HOWTO (./gradlew check) - OK
> Release notes (quick skim) - OK
> Maven artifacts (spot checked a few files on nexus) - OK
>
> Environment (gradle:latest docker container):
> Gradle 6.1.1 (via gradlew)
> Ubuntu 18.04.4 LTS
> openjdk version "1.8.0_232"
> OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
> OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)
>
> Great work, Danny!
>
> My reasons for voting +1:
> - This release is overdue and since we are at rc3 already, this is
> probably causing the RM a lot of release fatigue. I've been RM for a few
> releases where a lot of RCs were created and it's discouraging to have
> another rc rejected and having to go back and build another one.
>
> - This is a pretty big release and there endless improvements and bugs
> that can be added to this release. We should get this release out and
> aim for the next release to clean up these regressions.
>
> - CALCITE-3839 is a regression, but as this release is already quite
> delayed and we are planning to make the next release (1.23.0) available
> soon after this release, it's possible to skip this release and wait for
> the next one.
>
> - I'd suggest adding a daily job in CI that integrates with Calcite
> master to catch regressions such as CALCITE-3839.
>
>
> On 3/03/2020 12:28 am, Danny Chan wrote:
> > Hi all,
> >
> > I have created a build for Apache Calcite 1.22.0, release
> > candidate 3.
> >
> > Thanks to everyone who has contributed to this release.
> >
> > You can read the release notes here:
> > https://github.com/apache/calcite/blob/v1.22.0-rc3/site/_docs/history.md
> >
> > The commit to be voted upon:
> >
> https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=537b8dbb4b58c61b6c573eb07a51b8d38896a1ff
> >
> > Its hash is 537b8dbb4b58c61b6c573eb07a51b8d38896a1ff
> >
> > Tag:
> > https://github.com/apache/calcite/tree/v1.22.0-rc3
> >
> > The artifacts to be voted on are located here:
> > https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-1.22.0-rc3
> > (revision 38350)
> >
> > The hashes of the artifacts are as follows:
> >
> a7dface824287756fcc66f6f075286975e409e7ea9a0af97ad973f90bc2832250c09e0477bc571bd78f6ee3721883cce76cada9a3e9601e1dd497fb02679647f
> > *apache-calcite-1.22.0-src.tar.gz
> >
> > A staged Maven repository is available for review at:
> >
> https://repository.apache.org/content/repositories/orgapachecalcite-1080/org/apache/calcite/
> >
> > Release artifacts are signed with the following key:
> > https://people.apache.org/keys/committer/danny0405.asc
> > https://www.apache.org/dist/calcite/KEYS
> >
> > N.B.
> > To create the jars and test Apache Calcite: "./gradlew build".
> >
> > If you do not have a Java 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 1.22.0.
> >
> > The vote is open for the next 72 hours and passes if a majority of at
> > least three +1 PMC votes are cast.
> >
> > [ ] +1 Release this package as Apache Calcite 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)
> >
> > Best,
> > Danny Chan
> >
>


Re: [contribution request] calcite contribution.

2020-03-02 Thread Francis Chuang

Hey Hanu,

I've added you as a contributor in JIRA.

Francis

On 3/03/2020 9:13 am, hanu mapr wrote:

Hi All,

I would like to contribute to calcite. Can you please provide me the
required contribution permissions to assign a bug to my JIRA account?

JIRA account ID: hanu.ncr

Thanks,
-Hanu



[contribution request] calcite contribution.

2020-03-02 Thread hanu mapr
Hi All,

I would like to contribute to calcite. Can you please provide me the
required contribution permissions to assign a bug to my JIRA account?

JIRA account ID: hanu.ncr

Thanks,
-Hanu


Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Francis Chuang

My vote is +1 (binding)

Thanks for making this rc available for voting, Danny!

Checked GPG signature - OK
Checked hash - OK
Ran tests per HOWTO (./gradlew check) - OK
Release notes (quick skim) - OK
Maven artifacts (spot checked a few files on nexus) - OK

Environment (gradle:latest docker container):
Gradle 6.1.1 (via gradlew)
Ubuntu 18.04.4 LTS
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)

Great work, Danny!

My reasons for voting +1:
- This release is overdue and since we are at rc3 already, this is 
probably causing the RM a lot of release fatigue. I've been RM for a few 
releases where a lot of RCs were created and it's discouraging to have 
another rc rejected and having to go back and build another one.


- This is a pretty big release and there endless improvements and bugs 
that can be added to this release. We should get this release out and 
aim for the next release to clean up these regressions.


- CALCITE-3839 is a regression, but as this release is already quite 
delayed and we are planning to make the next release (1.23.0) available 
soon after this release, it's possible to skip this release and wait for 
the next one.


- I'd suggest adding a daily job in CI that integrates with Calcite 
master to catch regressions such as CALCITE-3839.



On 3/03/2020 12:28 am, Danny Chan wrote:

Hi all,

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

Thanks to everyone who has contributed to this release.

You can read the release notes here:
https://github.com/apache/calcite/blob/v1.22.0-rc3/site/_docs/history.md

The commit to be voted upon:
https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=537b8dbb4b58c61b6c573eb07a51b8d38896a1ff

Its hash is 537b8dbb4b58c61b6c573eb07a51b8d38896a1ff

Tag:
https://github.com/apache/calcite/tree/v1.22.0-rc3

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

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

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

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

N.B.
To create the jars and test Apache Calcite: "./gradlew build".

If you do not have a Java 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 1.22.0.

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

[ ] +1 Release this package as Apache Calcite 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)

Best,
Danny Chan



Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Vladimir Sitnikov
Danny>I have created a build for Apache Calcite 1.22.0, release
Danny>candidate 3.

Great.
Checksums, pgp match.

tests pass (modulo known issues like OsAdapterTest), mat-calcite-tests pass

So +1 (binding)

There's an issue that -Prc=.. parameter is always required for building a
release version.
However, it can be resolved after making the release by bumping release
plugins (the fix is already published).

Vladimir


Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Julian Hyde
On Mon, Mar 2, 2020 at 11:43 AM Anton Haidai  wrote:
>
> Sorry for reporting the bug too late, but the test that detected it was
> related to a new feature of our system finalized just days ago so the right
> test was not there when I voted on RC1.

Ah, makes sense.


Re: jdbc server

2020-03-02 Thread brian guarraci
you may want to check out:
ChinookAvaticaServer

https://github.com/apache/calcite/blob/master/plus/src/main/java/org/apache/calcite/chinook/ChinookAvaticaServer.java

Brian


On Mon, Mar 2, 2020 at 10:05 AM Rui Wang  wrote:

> Could you follow this Calcite tutorial and it might solve your problem:
> https://calcite.apache.org/docs/tutorial.html
>
> -Rui
>
>
> On Mon, Mar 2, 2020, 2:23 AM Mohsen KHaxar  .invalid>
> wrote:
>
> > Hi,
> > I want to run an SQL engine that receives SQL commands. Then, SQL
> commands
> > are processed and some results of interest are returned.How can I employ
> > Calcite to run a standalone customised SQL engine?
> > //Mohsen.
> >
> >
>


Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Anton Haidai
Sorry for reporting the bug too late, but the test that detected it was
related to a new feature of our system finalized just days ago so the right
test was not there when I voted on RC1.

On Mon, 2 Mar 2020 at 21:13, Vladimir Sitnikov 
wrote:

> Julian>Can we keep it consistent please?
>
> It's good to find bugs like this, but it's depressing to only be
> finding them in RC3.
>
> Frankly speaking, I find it too much repetition to have calcite- in a
> version name.
> We do not have Avatica in the repository, so why should we have long
> versions like calcite-...-...--.. ?
>
> >It's good to find bugs like this, but it's depressing to only be
> >finding them in RC3
>
> I think the approach here is:
> 1) Integrate the checks (e.g. Zoomdata) to PR CI and/or to daily CI job
> 2) Ensure that the vote email contains the exact sequence of commands to
> validate the release. For instance: download, verify checksum, verify pgp,
> unzip, build, test, etc, etc. The sequence can easily be automated, and I
> don't really see much point in everybody doing those checks manually.
>
> Note: the current release archive is reproducible. That means everybody who
> creates the release archive should end up with exactly the same file.
>
> Vladimir
>
-- 
Best regards,
Anton.


Re: Quicksql

2020-03-02 Thread Siyuan Liu
Hi, everyone:

Glad to see a lot of old friends here. Quicksql is a project born in early
2019. It was designed to solve the problem of long and complex work flow in
the big data field with many data sources, many compute engines, and many
types of syntax. The core idea is `Connect All Data Sources with One Extra
Parsing Cost`.

Because it involves standard SQL parsing, we finally chose Calcite as the
parsing engine that has the best SQL compatibility. Thanks to the excellent
architecture and toolkits provided by Calcite, Quicksql has made some
extensions on this basis and made more logical plans Rich definitions
enable single data source and multi-source queries to be described. For
single data sources, an end-to-end connection query is directly
established, and for multiple data sources, logical plans are divided and
pushed down, final interpreted as the code of the compute engine (such as
Spark, Flink) with distributed computing capabilities for data merge.

Based on this design, Quicksql makes extensive use of the ability of
Calcite Adapter \ Dialect \ UDF to provide syntax adaptation compatibility
for various data sources and compute engines, and also uses Avatica as a
JDBC protocol. We are very grateful for the excellent artwork provided by
the Calcite community.

At the beginning of the project, Quicksql was confused about the
application areas. After one year of polishing, Quicksql has successfully
applied two areas:
1. Interactive Query Engine: Provides big data interactive query and BI
analysis with standard SQL syntax, and response time is in seconds to
minutes.
2. ETL Compute Engine: SQL-based ETL for multi-data source, which can use
optimization capabilities of SQL for data cleaning \ transformation \ join,
etc.
In the future, we will also focus on dynamic engine selection, so that
engines such as Hive, Spark, and Presto can run more suitable SQL.

Looking forward to working with the Calcite community to do some
interesting things and explore the unlimited possibilities of SQL

Siyuan Liu

On Mon, Mar 2, 2020 at 3:45 PM Francis Du  wrote:

> Hi everyone:
>
> Allow me to introduce my good friend Siyuan Liu, who is the leader of
> Quicksql project.
>
> I CC to him and ask him to introduce the project to us.Here is the
> documentation link for
>
> Quicksql [1].
>
> [1].  https://quicksql.readthedocs.io/en/latest/
>
> Regards,
> Francis
>
> Juan Pan  于2019年12月23日周一 上午11:44写道:
>
>> Thanks Gelbana,
>>
>>
>> Very appreciated your explanation, which sheds me some light on exploring
>> Calcite. :)
>>
>>
>> Best wishes,
>> Trista
>>
>>
>>  Juan Pan (Trista)
>>
>> Senior DBA & PPMC of Apache ShardingSphere(Incubating)
>> E-mail: panj...@apache.org
>>
>>
>>
>>
>> On 12/22/2019 05:58,Muhammad Gelbana wrote:
>> I am curious how to join the tables from different datasources.
>> Based on Calcite's conventions concept, the Join operator and its input
>> operators should all have the same convention. If they don't, the
>> convention different from the Join operator's convention will have to
>> register a converter rule. This rule should produce an operator that only
>> converts from that convention to the Join operator's convention.
>>
>> This way the Join operator will be able to handle the data obtained from
>> its input operators because it understands the data structure.
>>
>> Thanks,
>> Gelbana
>>
>>
>> On Wed, Dec 18, 2019 at 5:08 AM Juan Pan  wrote:
>>
>> Some updates.
>>
>>
>> Recently i took a look at their doc and source code, and found this
>> project uses SQL parsing and Relational algebra of Calcite to get query
>> plan, and also translates to spark SQL for joining different datasources,
>> or corresponding query for single datasource.
>>
>>
>> Although it copies many classes from Calcite, the idea of QuickSQL seems
>> some of interests, and code is succinct.
>>
>>
>> Best,
>> Trista
>>
>>
>> Juan Pan (Trista)
>>
>> Senior DBA & PPMC of Apache ShardingSphere(Incubating)
>> E-mail: panj...@apache.org
>>
>>
>>
>>
>> On 12/13/2019 17:16,Juan Pan wrote:
>> Yes, indeed.
>>
>>
>> Juan Pan (Trista)
>>
>> Senior DBA & PPMC of Apache ShardingSphere(Incubating)
>> E-mail: panj...@apache.org
>>
>>
>>
>>
>> On 12/12/2019 18:00,Alessandro Solimando
>> wrote:
>> Adapters must be needed by data sources not supporting SQL, I think this
>> is
>> what Juan Pan was asking for.
>>
>> On Thu, 12 Dec 2019 at 04:05, Haisheng Yuan  wrote:
>>
>> Nope, it doesn't use any adapters. It just submits partial SQL query to
>> different engines.
>>
>> If query contains table from single source, e.g.
>> select count(*) from hive_table1, hive_table2 where a=b;
>> then the whole query will be submitted to hive.
>>
>> Otherwise, e.g.
>> select distinct a,b from hive_table union select distinct a,b from
>> mysql_table;
>>
>> The following query will be submitted to Spark and executed by Spark:
>> select a,b from spark_tmp_table1 union select a,b from spark_tmp_table2;
>>
>> spark_tmp_table1: select distinct a,b from hive_table
>> 

Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Vladimir Sitnikov
Julian>Can we keep it consistent please?

It's good to find bugs like this, but it's depressing to only be
finding them in RC3.

Frankly speaking, I find it too much repetition to have calcite- in a
version name.
We do not have Avatica in the repository, so why should we have long
versions like calcite-...-...--.. ?

>It's good to find bugs like this, but it's depressing to only be
>finding them in RC3

I think the approach here is:
1) Integrate the checks (e.g. Zoomdata) to PR CI and/or to daily CI job
2) Ensure that the vote email contains the exact sequence of commands to
validate the release. For instance: download, verify checksum, verify pgp,
unzip, build, test, etc, etc. The sequence can easily be automated, and I
don't really see much point in everybody doing those checks manually.

Note: the current release archive is reproducible. That means everybody who
creates the release archive should end up with exactly the same file.

Vladimir


Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Julian Hyde
It's good to find bugs like this, but it's depressing to only be
finding them in RC3. The bug probably existed in RC0, RC1 and RC2. If
there are lots of release iterations our volunteers start to burn out.

Folks, if you have an extensive test suite please run it as early in
the process as you can, and log any bugs that you find. A week or two
before RC0 is ideal.

Danny, if's your call as RM, but I suggest that you let this RC run
for several days, even if we find show-stoppers, to flush out as many
issues as possible.

Regarding 3839. It's a regression, it's probably a show-stopper, and I
probably caused it.

Lastly, the tag format is now "v-rc". In the past we have
had other formats, such as "rel/calcite-" and
"calcite-". Can we keep it consistent please?

Julian

On Mon, Mar 2, 2020 at 10:17 AM Anton Haidai  wrote:
>
> Hello,
>
> Local Calcite build with tests enabled on Linux: *OK*
> Calcite-based system (Zoomdata) test suite: *FAIL*
>
> Our test suite detected a regression. It is easily reproducible in a unit
> test. This test works fine in 1.21 branch.
> https://issues.apache.org/jira/browse/CALCITE-3839
>
> Vote:
> 0 (non-binding)
>
> On Mon, Mar 2, 2020 at 3:28 PM Danny Chan  wrote:
>
> > Hi all,
> >
> > I have created a build for Apache Calcite 1.22.0, release
> > candidate 3.
> >
> > Thanks to everyone who has contributed to this release.
> >
> > You can read the release notes here:
> > https://github.com/apache/calcite/blob/v1.22.0-rc3/site/_docs/history.md
> >
> > The commit to be voted upon:
> >
> > https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=537b8dbb4b58c61b6c573eb07a51b8d38896a1ff
> >
> > Its hash is 537b8dbb4b58c61b6c573eb07a51b8d38896a1ff
> >
> > Tag:
> > https://github.com/apache/calcite/tree/v1.22.0-rc3
> >
> > The artifacts to be voted on are located here:
> > https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-1.22.0-rc3
> > (revision 38350)
> >
> > The hashes of the artifacts are as follows:
> >
> > a7dface824287756fcc66f6f075286975e409e7ea9a0af97ad973f90bc2832250c09e0477bc571bd78f6ee3721883cce76cada9a3e9601e1dd497fb02679647f
> > *apache-calcite-1.22.0-src.tar.gz
> >
> > A staged Maven repository is available for review at:
> >
> > https://repository.apache.org/content/repositories/orgapachecalcite-1080/org/apache/calcite/
> >
> > Release artifacts are signed with the following key:
> > https://people.apache.org/keys/committer/danny0405.asc
> > https://www.apache.org/dist/calcite/KEYS
> >
> > N.B.
> > To create the jars and test Apache Calcite: "./gradlew build".
> >
> > If you do not have a Java 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 1.22.0.
> >
> > The vote is open for the next 72 hours and passes if a majority of at
> > least three +1 PMC votes are cast.
> >
> > [ ] +1 Release this package as Apache Calcite 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)
> >
> > Best,
> > Danny Chan
> >
>
>
> --
> Best regards,
> Anton.


Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Anton Haidai
Hello,

Local Calcite build with tests enabled on Linux: *OK*
Calcite-based system (Zoomdata) test suite: *FAIL*

Our test suite detected a regression. It is easily reproducible in a unit
test. This test works fine in 1.21 branch.
https://issues.apache.org/jira/browse/CALCITE-3839

Vote:
0 (non-binding)

On Mon, Mar 2, 2020 at 3:28 PM Danny Chan  wrote:

> Hi all,
>
> I have created a build for Apache Calcite 1.22.0, release
> candidate 3.
>
> Thanks to everyone who has contributed to this release.
>
> You can read the release notes here:
> https://github.com/apache/calcite/blob/v1.22.0-rc3/site/_docs/history.md
>
> The commit to be voted upon:
>
> https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=537b8dbb4b58c61b6c573eb07a51b8d38896a1ff
>
> Its hash is 537b8dbb4b58c61b6c573eb07a51b8d38896a1ff
>
> Tag:
> https://github.com/apache/calcite/tree/v1.22.0-rc3
>
> The artifacts to be voted on are located here:
> https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-1.22.0-rc3
> (revision 38350)
>
> The hashes of the artifacts are as follows:
>
> a7dface824287756fcc66f6f075286975e409e7ea9a0af97ad973f90bc2832250c09e0477bc571bd78f6ee3721883cce76cada9a3e9601e1dd497fb02679647f
> *apache-calcite-1.22.0-src.tar.gz
>
> A staged Maven repository is available for review at:
>
> https://repository.apache.org/content/repositories/orgapachecalcite-1080/org/apache/calcite/
>
> Release artifacts are signed with the following key:
> https://people.apache.org/keys/committer/danny0405.asc
> https://www.apache.org/dist/calcite/KEYS
>
> N.B.
> To create the jars and test Apache Calcite: "./gradlew build".
>
> If you do not have a Java 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 1.22.0.
>
> The vote is open for the next 72 hours and passes if a majority of at
> least three +1 PMC votes are cast.
>
> [ ] +1 Release this package as Apache Calcite 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)
>
> Best,
> Danny Chan
>


-- 
Best regards,
Anton.


[jira] [Created] (CALCITE-3839) Can't get group field by name: "field [ENAME] not found;"

2020-03-02 Thread Anton Haidai (Jira)
Anton Haidai created CALCITE-3839:
-

 Summary: Can't get group field by name: "field [ENAME] not found;"
 Key: CALCITE-3839
 URL: https://issues.apache.org/jira/browse/CALCITE-3839
 Project: Calcite
  Issue Type: Bug
Affects Versions: 1.22.0
Reporter: Anton Haidai


The regression is spotted in 1.22.0 RC 3. The test works fine in 1.21.0 branch.
RelBuilderTest:
{code}
  @Test public void testGetGroupFieldByName() {
  final Function f = builder -> {
  RelBuilder aggregated = builder.scan("EMP")
  .project(builder.field("EMPNO"), builder.field("ENAME"), 
builder.field("SAL"))
  .aggregate(
  builder.groupKey(builder.field("ENAME")),
  builder.sum(builder.field("SAL"))
  );
  RexInputRef groupFieldReference = aggregated.field("ENAME");
  assertThat(groupFieldReference.getIndex(), is(0));
  return aggregated.build();
  };

  final String expected =
  "LogicalAggregate(group=[{1}], agg#0=[SUM($2)])\n" +
  "  LogicalProject(EMPNO=[$0], ENAME=[$1], SAL=[$5])\n" +
  "LogicalTableScan(table=[[scott, EMP]])\n";
  assertThat(f.apply(createBuilder(c -> c)), hasTree(expected));
  }
{code}

Error (1.22.0 RC 3): 
{code}
field [ENAME] not found; input fields are: [EMPNO, $f1]
java.lang.IllegalArgumentException: field [ENAME] not found; input fields are: 
[EMPNO, $f1]
at org.apache.calcite.tools.RelBuilder.field(RelBuilder.java:402)
at org.apache.calcite.tools.RelBuilder.field(RelBuilder.java:385)
at 
org.apache.calcite.test.RelBuilderTest.lambda$testGetGroupFieldByName$15(RelBuilderTest.java:990)
at 
org.apache.calcite.test.RelBuilderTest.testGetGroupFieldByName(RelBuilderTest.java:999)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


Re: jdbc server

2020-03-02 Thread Rui Wang
Could you follow this Calcite tutorial and it might solve your problem:
https://calcite.apache.org/docs/tutorial.html

-Rui


On Mon, Mar 2, 2020, 2:23 AM Mohsen KHaxar 
wrote:

> Hi,
> I want to run an SQL engine that receives SQL commands. Then, SQL commands
> are processed and some results of interest are returned.How can I employ
> Calcite to run a standalone customised SQL engine?
> //Mohsen.
>
>


Re: svn commit: r38276 - /dev/calcite/apache-calcite-1.23.0-rc1/

2020-03-02 Thread Danny Chan
Thanks, the SVN command works.

Best,
Danny Chan
在 2020年3月2日 +0800 PM7:30,Vladimir Sitnikov ,写道:
> > ./gradlew removeStaleArtifacts -Pasf
> > How can i use this cmd to remove only one rc files ?
>
> It is configured in staleRemovalFilters block in
> https://github.com/apache/calcite/blob/a549342294062eba9aa3196e7e6d4bda36fa8291/build.gradle.kts#L123
> However, currently, there's no way to override filters from the command
> line.
>
> If you want to remove files from SVN you might use SVN tools like
> svnmucc rm https://...path/to/file
>
> Vladimir


[VOTE] Release apache-calcite-1.22.0 (release candidate 3)

2020-03-02 Thread Danny Chan
Hi all,

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

Thanks to everyone who has contributed to this release.

You can read the release notes here:
https://github.com/apache/calcite/blob/v1.22.0-rc3/site/_docs/history.md

The commit to be voted upon:
https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=537b8dbb4b58c61b6c573eb07a51b8d38896a1ff

Its hash is 537b8dbb4b58c61b6c573eb07a51b8d38896a1ff

Tag:
https://github.com/apache/calcite/tree/v1.22.0-rc3

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

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

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

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

N.B.
To create the jars and test Apache Calcite: "./gradlew build".

If you do not have a Java 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 1.22.0.

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

[ ] +1 Release this package as Apache Calcite 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)

Best,
Danny Chan


[CANCEL] [VOTE] Release apache-calcite-1.22.0 (release candidate 2)

2020-03-02 Thread Danny Chan
The vote for Apache Calcite 1.22.0 release candidate 2 was cancelled
due to these new introduced bug-fixes:

Thanks to all who voted. A new release will be tagged as 1.22.0-rc3 and
will be available for voting soon.

- Stop building zip archives when building using gradle
- Following CALCITE-3769: Add BindableTableScanRule into the default ruleset
- [CALCITE-3826] UPDATE assigns wrong type to bind variables
- [CALCITE-3830] The ‘approximate’ field should be considered when computing 
the digest of AggregateCall

Best,
Danny Chan


[jira] [Created] (CALCITE-3838) Support Calc in RelMdSize,RelMdSelectivity,RelMdMaxRowCount,RelMdMinRowCount,RelMdTableReferences

2020-03-02 Thread Chunwei Lei (Jira)
Chunwei Lei created CALCITE-3838:


 Summary: Support Calc in 
RelMdSize,RelMdSelectivity,RelMdMaxRowCount,RelMdMinRowCount,RelMdTableReferences
 Key: CALCITE-3838
 URL: https://issues.apache.org/jira/browse/CALCITE-3838
 Project: Calcite
  Issue Type: Improvement
  Components: core
Reporter: Chunwei Lei
Assignee: Chunwei Lei






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


Re: svn commit: r38276 - /dev/calcite/apache-calcite-1.23.0-rc1/

2020-03-02 Thread Vladimir Sitnikov
>./gradlew removeStaleArtifacts -Pasf
>How can i use this cmd to remove only one rc files ?

It is configured in staleRemovalFilters block in
https://github.com/apache/calcite/blob/a549342294062eba9aa3196e7e6d4bda36fa8291/build.gradle.kts#L123
However, currently, there's no way to override filters from the command
line.

If you want to remove files from SVN you might use SVN tools like
svnmucc rm https://...path/to/file

Vladimir


Calcite-Master - Build # 1629 - Failure

2020-03-02 Thread Apache Jenkins Server
The Apache Jenkins build system has built Calcite-Master (build #1629)

Status: Failure

Check console output at https://builds.apache.org/job/Calcite-Master/1629/ to 
view the results.

Re: svn commit: r38276 - /dev/calcite/apache-calcite-1.23.0-rc1/

2020-03-02 Thread Danny Chan
I found this cmd:

./gradlew removeStaleArtifacts -Pasf

How can i use this cmd to remove only one rc files ?

Best,
Danny Chan
在 2020年3月1日 +0800 PM4:27,volody...@apache.org,写道:
> Hi Danny,
>
> Perhaps it was pushed accidentally, could you please remove it to avoid 
> confusion?
>
> Kind regards,
> Volodymyr Vysotskyi
>
> > On 25 Feb 2020, at 06:43, danny0...@apache.org wrote:
> >
> > Author: danny0405
> > Date: Tue Feb 25 04:43:47 2020
> > New Revision: 38276
> >
> > Log:
> > Uploading release candidate Apache Calcite v1.23.0-rc1 to dev area
> >
> > Added:
> > dev/calcite/apache-calcite-1.23.0-rc1/
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz.asc
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz.sha512
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.zip
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.zip.asc
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.zip.sha512
> >
> > Added: 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz
> > ==
> > Binary files 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz 
> > (added) and 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz Tue 
> > Feb 25 04:43:47 2020 differ
> >
> > Added: 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz.asc
> > ==
> > --- 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz.asc 
> > (added)
> > +++ 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz.asc 
> > Tue Feb 25 04:43:47 2020
> > @@ -0,0 +1,17 @@
> > +-BEGIN PGP SIGNATURE-
> > +Version: BCPG v1.63
> > +
> > +iQIzBAABCAAdFiEEmkiSL2gqsF0a5KPnwpMeS9sD1a4FAl5Upe0ACgkQwpMeS9sD
> > +1a53Ew/+Nt8NfvY/bkJeJh60F8tMEbDTY1SPPx1rTU46kbSUEi5f/8A3W3Ys03E9
> > +qvN1lezpMOd6fLgCGMxVAQrT3fx9qrQT8NSR6XkO7nnKQysx5Y/QxwYIDH3Q9iaG
> > +StvbyChIngVTk32f9IpMsaLnBgWO6Z+lENl8TISkhF1Ac4WNF0rBdgU0Vr3+rF1B
> > +xY4ALqnGND4QAUENYFRTsIGWWfrlnhMuY188l1R7MWAsZ1Jn0XfQJpuoHNNMv92M
> > +tvZU/G6RJULxtUvPZsSQE7fc4kzQgcIsDliN5jA06aguMDKYjEknC0k7y1gASO1b
> > +BqVQfjWOQHSNwvZ+/f5WQX6G60AilSalPCECWarr8cbn7sWD5OizoQXWX503HXJL
> > +0lfzJms2/1aIoTVzca123ej3frTzL8fPb46K0RyxKzoQgGB0nCNIefYKm1gIfzrf
> > +j/sIa3RaPqSJAp0LKNRn8aW8JU7IetQZvKHUgvzravtH5K2e6FlzJsfcxISZB8s1
> > +TxMKkjC8025hmlb46PAZoZXN9L0hhTm4ew7wCZUeA7o3jqPftw77rXqlWft5sarf
> > +yPYul8kmwAMIe+C6CjeRic1IoQgKAMauaOOxwehRJybmQDLnmMETRnf6jWJd+9Jd
> > +WmZrLNBZ8ENSnhjAsCnYAT8E+CDAH+xowf1YE6+mtvh5ZMGqets=
> > +=D7cr
> > +-END PGP SIGNATURE-
> >
> > Added: 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz.sha512
> > ==
> > --- 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz.sha512
> >  (added)
> > +++ 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.tar.gz.sha512
> >  Tue Feb 25 04:43:47 2020
> > @@ -0,0 +1 @@
> > +450d6166c91462a41631a4dba2ce187308025fb3e6ddab8c07186201e67c9d746bdef854354e64d780fad73999db4f3b547a7050ad0fe43c2fd955cd6d6c1c66
> >  *apache-calcite-1.23.0-src.tar.gz
> >
> > Added: dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.zip
> > ==
> > Binary files 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.zip (added) 
> > and dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.zip Tue 
> > Feb 25 04:43:47 2020 differ
> >
> > Added: 
> > dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.zip.asc
> > ==
> > --- dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.zip.asc 
> > (added)
> > +++ dev/calcite/apache-calcite-1.23.0-rc1/apache-calcite-1.23.0-src.zip.asc 
> > Tue Feb 25 04:43:47 2020
> > @@ -0,0 +1,17 @@
> > +-BEGIN PGP SIGNATURE-
> > +Version: BCPG v1.63
> > +
> > +iQIzBAABCAAdFiEEmkiSL2gqsF0a5KPnwpMeS9sD1a4FAl5Upe0ACgkQwpMeS9sD
> > +1a5iHQ//Q5xnOkNULAONpqRYexiQ3FQwDLwsRZLdjsbIhDz6+RXqFMfknB0tf/DE
> > +SnsdQ/OPPwAIZG0M9XrRsS/zaOpE+sc+8a4j5ZRgUcdQUUs7LstIACdPP4NoRw4L
> > +CnZhhlSUr7P2Zne+mq1OEUbSGzEuJKVC42ieEwiW0JQQlnApBP4xjssot4YJmY+I
> > +UVuVidHXJ6bFxuOHmvhEiWJHp52h2iPum9snBZHG0VCVNklgwJ3mat2yKYj7ub9A
> > +7djo+uZ4LwfKYjPcrpYQtzGYwBGmRzxfGvKQQMLPlQQQkDZbPnCXYDiDztoNSVzo
> > +/faRUXefUljN5Xn7g+gnqYTa1X6/ghgSxC0lhpO7qdLG0pUhxy8VJhYLvR0b5IJk
> > +/HKl4HVs8HlG3Rdfzbgxe97Z6obUFggEwX7DJWfYoApF+dGZzIJSFuEds5s5F9YQ
> > +FWB7cOFiSR2nov91bYeYQxhx7HMOnF1kxsVjRwHK0wlVgmIV8yAAOnbkw60Wrpa5
> > +oDwv1tzfxpGd3dyMr8jtOFt/IkhIbDZ9aIuLppS6mKRVtB5yX4lMU3snn7RBBODV
> > 

[jira] [Created] (CALCITE-3837) AntiJoin with empty right input can always be transformed as its left input

2020-03-02 Thread Ruben Q L (Jira)
Ruben Q L created CALCITE-3837:
--

 Summary: AntiJoin with empty right input can always be transformed 
as its left input
 Key: CALCITE-3837
 URL: https://issues.apache.org/jira/browse/CALCITE-3837
 Project: Calcite
  Issue Type: Improvement
  Components: core
Affects Versions: 1.22.0
Reporter: Ruben Q L
Assignee: Ruben Q L


CALCITE-3783 fixed {{PruneEmptyRules#JOIN_RIGHT_INSTANCE}} for join type ANTI:
{code}
Join(Scan(Emp), Empty, ANTI) becomes Scan(Emp)
{code}
However, it performs this transformation only in case of anti equi-join (in 
case of non-equi, no transformation is made).
Re-considering this, I believe this is a mistake, and the transformation can 
always be performed, independently of the join condition (equi / non-equi, it 
does not matter).




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


jdbc server

2020-03-02 Thread Mohsen KHaxar
Hi,
I want to run an SQL engine that receives SQL commands. Then, SQL commands are 
processed and some results of interest are returned.How can I employ Calcite to 
run a standalone customised SQL engine?
//Mohsen.



Re: [VOTE] Release apache-calcite-1.22.0 (release candidate 2)

2020-03-02 Thread Danny Chan
Great, it seems I have missed these 2 properties:

asfGitSourceUsername=test
asfGitSourcePassword=test

Would have a try soon ~

Best,
Danny Chan
在 2020年3月2日 +0800 PM3:11,dev@calcite.apache.org,写道:
>
> asfGitSourceUsername=test
> asfGitSourcePassword=test


?????? [Discuss] Adapter's performance is not that fast

2020-03-02 Thread ??????
Hi.


I'm so sorry about that. I'm new in Apache community and am not familiar with 
dev email.


I wrote this letter from QQ Mail before, but I forgot to subscribe calcite dev 
then. So I subscribed it and resend the email from gmail which was the email 
replied by Haisheng before. I thought the email from QQ was lost because of 
unsubscribing, but somehow it appeared today. I'm so sorry...


And thanks for reminding, I checked the email from Haisheng to ask further 
clarifications, I found the auto reply didn't add dev email..so you can't 
receive my reply. I will resend it then.



Best,
Xiangwei Wei








----
??:"Stamatis Zampetakis"https://lists.apache.org/thread.html/r0163d54fdf001ebc0303e3a796b2c41272c111bdac72e10a8dbb9a7c%40%3Cdev.calcite.apache.org%3E


On Sat, Feb 29, 2020 at 11:51 PM ?? <526213...@qq.com wrote:

Hi everyone.
 
 
 My name is Xiangwei Wei and I'm new here. I wrote an adapter for Apache IoTDB 
recently which isnbsp;a database for time series data management to 
support use of Apache Calcite.nbsp;
 
 
 However, when I finished it and tried to test its performance, I 
foundnbsp;the adapter's performance was not that fast. It took much time 
compared with the raw data query in the database backend. I thought maybe it 
was the problem of my adapter. So I did the same test on the Cassandra Adapter 
which is provided by Calcite source code. But it shew similar result.
 
 
 Executing a simple query using Cassandra Adapter takes about 1600ms - 1800ms 
on my PC. However, it costs only 5 ms to do the raw data query in the Cassandra 
database backend. Is this the general performance of adapters? Or I made 
something wrong?
 
 
 I did the test by writing a simple JDBC program to do query using standard 
sql. For Cassandra Adapter, I used the data proviced in 
"./cassandra/src/test/resources/twissandra.cql" and a simple sql statement 
provided in the CassandraAdapterTest which is "select * from \"userline\" where 
\"username\"='!PUBLIC!'".
 
 
 Best,
 Xiangwei Wei
 
 
 
 nbsp;

Re: Quicksql

2020-03-02 Thread Francis Du
Hi everyone:

Allow me to introduce my good friend Siyuan Liu, who is the leader of
Quicksql project.

I CC to him and ask him to introduce the project to us.Here is the
documentation link for

Quicksql [1].

[1].  https://quicksql.readthedocs.io/en/latest/

Regards,
Francis

Juan Pan  于2019年12月23日周一 上午11:44写道:

> Thanks Gelbana,
>
>
> Very appreciated your explanation, which sheds me some light on exploring
> Calcite. :)
>
>
> Best wishes,
> Trista
>
>
>  Juan Pan (Trista)
>
> Senior DBA & PPMC of Apache ShardingSphere(Incubating)
> E-mail: panj...@apache.org
>
>
>
>
> On 12/22/2019 05:58,Muhammad Gelbana wrote:
> I am curious how to join the tables from different datasources.
> Based on Calcite's conventions concept, the Join operator and its input
> operators should all have the same convention. If they don't, the
> convention different from the Join operator's convention will have to
> register a converter rule. This rule should produce an operator that only
> converts from that convention to the Join operator's convention.
>
> This way the Join operator will be able to handle the data obtained from
> its input operators because it understands the data structure.
>
> Thanks,
> Gelbana
>
>
> On Wed, Dec 18, 2019 at 5:08 AM Juan Pan  wrote:
>
> Some updates.
>
>
> Recently i took a look at their doc and source code, and found this
> project uses SQL parsing and Relational algebra of Calcite to get query
> plan, and also translates to spark SQL for joining different datasources,
> or corresponding query for single datasource.
>
>
> Although it copies many classes from Calcite, the idea of QuickSQL seems
> some of interests, and code is succinct.
>
>
> Best,
> Trista
>
>
> Juan Pan (Trista)
>
> Senior DBA & PPMC of Apache ShardingSphere(Incubating)
> E-mail: panj...@apache.org
>
>
>
>
> On 12/13/2019 17:16,Juan Pan wrote:
> Yes, indeed.
>
>
> Juan Pan (Trista)
>
> Senior DBA & PPMC of Apache ShardingSphere(Incubating)
> E-mail: panj...@apache.org
>
>
>
>
> On 12/12/2019 18:00,Alessandro Solimando
> wrote:
> Adapters must be needed by data sources not supporting SQL, I think this is
> what Juan Pan was asking for.
>
> On Thu, 12 Dec 2019 at 04:05, Haisheng Yuan  wrote:
>
> Nope, it doesn't use any adapters. It just submits partial SQL query to
> different engines.
>
> If query contains table from single source, e.g.
> select count(*) from hive_table1, hive_table2 where a=b;
> then the whole query will be submitted to hive.
>
> Otherwise, e.g.
> select distinct a,b from hive_table union select distinct a,b from
> mysql_table;
>
> The following query will be submitted to Spark and executed by Spark:
> select a,b from spark_tmp_table1 union select a,b from spark_tmp_table2;
>
> spark_tmp_table1: select distinct a,b from hive_table
> spark_tmp_table2: select distinct a,b from mysql_table
>
> On 2019/12/11 04:27:07, "Juan Pan"  wrote:
> Hi Haisheng,
>
>
> The query on different data source will then be registered as temp
> spark tables (with filter or join pushed in), the whole query is rewritten
> as SQL text over these temp tables and submitted to Spark.
>
>
> Does it mean QuickSQL also need adaptors to make query executed on
> different data source?
>
>
> Yes, virtualization is one of Calcite’s goals. In fact, when I created
> Calcite I was thinking about virtualization + in-memory materialized views.
> Not only the Spark convention but any of the “engine” conventions (Drill,
> Flink, Beam, Enumerable) could be used to create a virtual query engine.
>
>
> Basically, i like and agree with Julian’s statement. It is a great idea
> which personally hope Calcite move towards.
>
>
> Give my best wishes to Calcite community.
>
>
> Thanks,
> Trista
>
>
> Juan Pan
>
>
> panj...@apache.org
> Juan Pan(Trista), Apache ShardingSphere
>
>
> On 12/11/2019 10:53,Haisheng Yuan wrote:
> As far as I know, users still need to register tables from other data
> sources before querying it. QuickSQL uses Calcite for parsing queries and
> optimizing logical expressions with several transformation rules. The query
> on different data source will then be registered as temp spark tables (with
> filter or join pushed in), the whole query is rewritten as SQL text over
> these temp tables and submitted to Spark.
>
> - Haisheng
>
> --
> 发件人:Rui Wang
> 日 期:2019年12月11日 06:24:45
> 收件人:
> 主 题:Re: Quicksql
>
> The co-routine model sounds fitting into Streaming cases well.
>
> I was thinking how should Enumerable interface work with streaming cases
> but now I should also check Interpreter.
>
>
> -Rui
>
> On Tue, Dec 10, 2019 at 1:33 PM Julian Hyde  wrote:
>
> The goal (or rather my goal) for the interpreter is to replace
> Enumerable as the quick, easy default convention.
>
> Enumerable is efficient but not that efficient (compared to engines
> that work on off-heap data representing batches of records). And
> because it generates java byte code there is a certain latency to
> 

Re: [Discuss] Adapter's performance is not that fast

2020-03-02 Thread Xiangwei Wei
Hi.

I'm so sorry about that. I'm new in Apache community and am not familiar
with dev email.

I wrote this letter from QQ Mail before, but I forgot to subscribe calcite
dev then. So I subscribed it and resend the email from gmail which was the
email replied by Haisheng before. I thought the email from QQ was lost
because of unsubscribing, but somehow it appeared today. I'm so sorry...

And thanks for reminding, I checked the email from Haisheng to ask further
clarifications, I found the auto reply didn't add dev email..so you
can't receive my reply. I will resend it then.

PS:I replied this email from QQ just now, and..it disappeared again. I
don't know whether it will appear later, but I wll never use it again..This
email is from gmail.

Stamatis Zampetakis  于2020年3月2日周一 下午3:54写道:

> Hi Xiangwei,
>
> Haisheng already replied to this thread asking some further clarifications
> [1].
> Is there a reason that you are resending the email multiple times?
>
> Best,
> Stamatis
>
> [1]
>
> https://lists.apache.org/thread.html/r0163d54fdf001ebc0303e3a796b2c41272c111bdac72e10a8dbb9a7c%40%3Cdev.calcite.apache.org%3E
>
> On Sat, Feb 29, 2020 at 11:51 PM 魏祥威 <526213...@qq.com> wrote:
>
> > Hi everyone.
> >
> >
> > My name is Xiangwei Wei and I'm new here. I wrote an adapter for Apache
> > IoTDB recently which isa database for time series data management
> to
> > support use of Apache Calcite.
> >
> >
> > However, when I finished it and tried to test its performance, I
> > foundthe adapter's performance was not that fast. It took much time
> > compared with the raw data query in the database backend. I thought maybe
> > it was the problem of my adapter. So I did the same test on the Cassandra
> > Adapter which is provided by Calcite source code. But it shew similar
> > result.
> >
> >
> > Executing a simple query using Cassandra Adapter takes about 1600ms -
> > 1800ms on my PC. However, it costs only 5 ms to do the raw data query in
> > the Cassandra database backend. Is this the general performance of
> > adapters? Or I made something wrong?
> >
> >
> > I did the test by writing a simple JDBC program to do query using
> standard
> > sql. For Cassandra Adapter, I used the data proviced in
> > "./cassandra/src/test/resources/twissandra.cql" and a simple sql
> statement
> > provided in the CassandraAdapterTest which is "select * from \"userline\"
> > where \"username\"='!PUBLIC!'".
> >
> >
> > Best,
> > Xiangwei Wei
> >
> >
> >
> > 
>


-- 
Best,
Xiangwei Wei