RE: SQL Parsing

2023-10-02 Thread mbudiu
Maybe I will write a blog post about this (I couldn't find documentation about 
this with a web search), but for now this is a short summary. 
Hopefully nothing I say here is wrong, this is relatively new stuff for me too.

Calcite uses a two-step code generation process to create the parser:

- it starts with Parser.jj 
https://github.com/apache/calcite/blob/6f79436c178beec639e559d9152c237bbf8ec3e8/core/src/main/codegen/templates/Parser.jj.
This is the base parser written in the JavaCC language, plus instructions in 
template language which allows for extensibility.
The lines starting with "<#", e.g. 
https://github.com/apache/calcite/blob/6f79436c178beec639e559d9152c237bbf8ec3e8/core/src/main/codegen/templates/Parser.jj#L32
 
are for the FreeMarker template engine: 
https://freemarker.apache.org/docs/index.html

- it runs FreeMarker to process Parser.jj; the template engine is controlled by 
config.fmpp 
https://github.com/apache/calcite/blob/6f79436c178beec639e559d9152c237bbf8ec3e8/core/src/main/codegen/config.fmpp
and *.ftl files 
https://github.com/apache/calcite/blob/6f79436c178beec639e559d9152c237bbf8ec3e8/babel/src/main/codegen/includes/parserImpls.ftl
 
The config file controls the way extensions are applied, and the ftl files 
contain the code for the extensions. The ftl files are really in the JavaCC 
language, but they are only code fragments.

- the JavaCC parser generator is executed on the generated file to generate a 
Java file, e.g., SqlBabelParserImpl.java (the actual name comes from the 
configuration file).
This file is not part of the repository, but you can find it after you run the 
Calcite build process. This file contains the real parser which gets compiled 
by the Java compiler and linked in the resulting Jar.

That's why you need to involve the build system to customize the parser, you 
can't do it in pure Java. In our Calcite-based project the build system uses 
maven, but calcite itself uses gradle; the way you setup this workflow will 
depend on your tools.

You can have one or multiple parsers in your executable, depending on which 
Calcite jars you choose to include. The server jar contains the DDL SQL 
language, while Babel has a very lenient parser which accepts constructs from 
many dialects. The core parser only has the SQL *query* language. In our 
project we have combined Babel + DDL in one parser: 
https://github.com/feldera/feldera/pull/276

In general the parser extensions are fairly small compared to the original 
parser, and they should be easy to read and understand if you know how parser 
generators work.

As you can see, the original JJ file has some predefined extensibility points; 
if your desired extensions only need these, it should be easy to add them. I 
suspect adding a new syntax for generic types should be doable in the existing 
framework.

Mihai


-Original Message-
From: Thomas Wang  
Sent: Sunday, October 1, 2023 7:37 AM
To: dev@calcite.apache.org
Subject: Re: SQL Parsing

Hi Mihai,

Could you point me to more information w.r.t modifying the parser? Also, I 
noticed for the ARRAY type, I can do CAST(NULL AS BIGINT ARRAY), but the 
grammar doesn't seem to have MAP supported, does it? Did I miss something?
Thanks.

Thomas

On Sat, Sep 30, 2023 at 7:59 PM Mihai Budiu  wrote:

> Calcite is open source, so you can certainly modify the parser. The 
> architecture of the parser had been designed to be flexible and even 
> calcite has several parsers, the strandard one, server, and Babel. Let 
> me know if you need help figuring out how to roll your own.
>
> Mihai
> 
> From: Thomas Wang 
> Sent: Saturday, September 30, 2023 7:42:19 PM
> To: dev@calcite.apache.org 
> Subject: Re: SQL Parsing
>
> Thanks Mihai, "BIGINT ARRAY" seems to work! Just curious if I can have 
> flexibility to change the behavior of the parse to parse "ARRAY"
> instead?
>
> Thomas
>
> On Sat, Sep 30, 2023 at 6:32 PM Mihai Budiu  wrote:
>
> > The syntax is "bigint array"
> > https://calcite.apache.org/docs/reference.html
> > 
> > From: Thomas Wang 
> > Sent: Saturday, September 30, 2023 6:27:46 PM
> > To: dev@calcite.apache.org 
> > Subject: SQL Parsing
> >
> > Hi Apache Calcite Community,
> >
> > I'm new to Apache Calcite and trying to use it for SQL parsing and 
> > SQL rewriting.
> >
> > I tried to parse a couple of SELECT statements and it works pretty well.
> > However, when I tried to parse a SELECT statement that contains a 
> > cast to array like below, it complains it cannot recognize ARRAY.
> >
> > SELECT CAST(NULL AS ARRAY) FROM schema.t1
> >
> > However, casting to BIGINT seems ok. The following SELECT is ok.
> >
> > SELECT CAST(NULL AS BIGINT) FROM schema.t1
> >
> > Is there any configuration I need to enable to enable/support 
> > parsing ARRAY? Thanks.
> >
> > Thomas
> >
>



Re: SQL Parsing

2023-10-02 Thread Julian Hyde
The parser will accept literally anything if you put it in backticks (or 
whatever are the identifier quote symbol in the current parser config). It just 
thinks it is the name of a user-defined type. Not what you want.

> On Oct 2, 2023, at 11:54 AM, Thomas Wang  wrote:
> 
> Thanks Jiajun. It looks like the following syntax with the backticks works
> for me.
> 
> SELECT CAST(NULL AS `MAP`) FROM schema.table
> 
> Thomas
> 
> On Sun, Oct 1, 2023 at 11:23 PM Jiajun Xie 
> wrote:
> 
>> Hi Thomas,
>> 
>> Cast map syntax is not supported in the current release version.
>> But we will support it in the 1.36.0 version.
>> 
>> FYI: https://issues.apache.org/jira/browse/CALCITE-5570
>> 
>> On Sun, 1 Oct 2023 at 22:38, Thomas Wang  wrote:
>> 
>>> Hi Mihai,
>>> 
>>> Could you point me to more information w.r.t modifying the parser? Also,
>> I
>>> noticed for the ARRAY type, I can do CAST(NULL AS BIGINT ARRAY), but the
>>> grammar doesn't seem to have MAP supported, does it? Did I miss
>> something?
>>> Thanks.
>>> 
>>> Thomas
>>> 
>>> On Sat, Sep 30, 2023 at 7:59 PM Mihai Budiu  wrote:
>>> 
 Calcite is open source, so you can certainly modify the parser. The
 architecture of the parser had been designed to be flexible and even
 calcite has several parsers, the strandard one, server, and Babel. Let
>> me
 know if you need help figuring out how to roll your own.
 
 Mihai
 
 From: Thomas Wang 
 Sent: Saturday, September 30, 2023 7:42:19 PM
 To: dev@calcite.apache.org 
 Subject: Re: SQL Parsing
 
 Thanks Mihai, "BIGINT ARRAY" seems to work! Just curious if I can have
 flexibility to change the behavior of the parse to parse
>> "ARRAY"
 instead?
 
 Thomas
 
 On Sat, Sep 30, 2023 at 6:32 PM Mihai Budiu  wrote:
 
> The syntax is "bigint array"
> https://calcite.apache.org/docs/reference.html
> 
> From: Thomas Wang 
> Sent: Saturday, September 30, 2023 6:27:46 PM
> To: dev@calcite.apache.org 
> Subject: SQL Parsing
> 
> Hi Apache Calcite Community,
> 
> I'm new to Apache Calcite and trying to use it for SQL parsing and
>> SQL
> rewriting.
> 
> I tried to parse a couple of SELECT statements and it works pretty
>>> well.
> However, when I tried to parse a SELECT statement that contains a
>> cast
>>> to
> array like below, it complains it cannot recognize ARRAY.
> 
> SELECT CAST(NULL AS ARRAY) FROM schema.t1
> 
> However, casting to BIGINT seems ok. The following SELECT is ok.
> 
> SELECT CAST(NULL AS BIGINT) FROM schema.t1
> 
> Is there any configuration I need to enable to enable/support parsing
> ARRAY? Thanks.
> 
> Thomas
> 
 
>>> 
>> 



[jira] [Created] (CALCITE-6032) Multilevel correlated query is failing in RelDecorrelator code path

2023-10-02 Thread Shiven Dvrk (Jira)
Shiven Dvrk created CALCITE-6032:


 Summary: Multilevel correlated query is failing in RelDecorrelator 
code path
 Key: CALCITE-6032
 URL: https://issues.apache.org/jira/browse/CALCITE-6032
 Project: Calcite
  Issue Type: Bug
  Components: core
Affects Versions: 1.35.0
Reporter: Shiven Dvrk


We have following query:
{code:java}
SELECT
   Sum( In0.Col_5005 * (
   select
  MAX(mr.Col_147077 + mr.Col_147078 ) 
   from
  Bun mr 
   where
  mr.Col_21084 = 1 
  and mr.Col_21805 = 2 
  and mr.Col_21807 = In0.Col_5003 
  and mr.Col_21806 = 
  (
 select
Max(kr.Col_21806) 
 from
Bun kr 
 where
kr.Col_21807 = mr.Col_21807 
and kr.Col_21804 = mr.Col_21804 
and kr.Col_21805 = mr.Col_21805 
and kr.Col_21806 <= In0.Col_4085 
  )
) ) as mmn,
  count(*) as mmnCount 
   FROM
  Den In0 
   where
  In0.Col_5005 < 10 
  and In0.Col_5005 > 0
{code}
It is failing to decorrelate with standard program:
{code:java}
  cm.mapCorToCorRel.get($cor4)
java.lang.NullPointerException: cm.mapCorToCorRel.get($cor4)
at java.util.Objects.requireNonNull(Objects.java:290)
at 
org.apache.calcite.sql2rel.RelDecorrelator.getCorRel(RelDecorrelator.java:928)
at 
org.apache.calcite.sql2rel.RelDecorrelator.createValueGenerator(RelDecorrelator.java:820)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateInputWithValueGenerator(RelDecorrelator.java:1028)
at 
org.apache.calcite.sql2rel.RelDecorrelator.maybeAddValueGenerator(RelDecorrelator.java:947)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:1150)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:1116)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:531)
at 
org.apache.calcite.sql2rel.RelDecorrelator.getInvoke(RelDecorrelator.java:707)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:749)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:738)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:531)
at 
org.apache.calcite.sql2rel.RelDecorrelator.getInvoke(RelDecorrelator.java:707)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:512)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:495)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:531)
at 
org.apache.calcite.sql2rel.RelDecorrelator.getInvoke(RelDecorrelator.java:707)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:1187)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:1169)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:531)
at 
org.apache.calcite.sql2rel.RelDecorrelator.getInvoke(RelDecorrelator.java:707)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:749)
at 
org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:738)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.

Re: SQL Parsing

2023-10-02 Thread Thomas Wang
Thanks Jiajun. It looks like the following syntax with the backticks works
for me.

SELECT CAST(NULL AS `MAP`) FROM schema.table

Thomas

On Sun, Oct 1, 2023 at 11:23 PM Jiajun Xie 
wrote:

> Hi Thomas,
>
> Cast map syntax is not supported in the current release version.
> But we will support it in the 1.36.0 version.
>
> FYI: https://issues.apache.org/jira/browse/CALCITE-5570
>
> On Sun, 1 Oct 2023 at 22:38, Thomas Wang  wrote:
>
> > Hi Mihai,
> >
> > Could you point me to more information w.r.t modifying the parser? Also,
> I
> > noticed for the ARRAY type, I can do CAST(NULL AS BIGINT ARRAY), but the
> > grammar doesn't seem to have MAP supported, does it? Did I miss
> something?
> > Thanks.
> >
> > Thomas
> >
> > On Sat, Sep 30, 2023 at 7:59 PM Mihai Budiu  wrote:
> >
> > > Calcite is open source, so you can certainly modify the parser. The
> > > architecture of the parser had been designed to be flexible and even
> > > calcite has several parsers, the strandard one, server, and Babel. Let
> me
> > > know if you need help figuring out how to roll your own.
> > >
> > > Mihai
> > > 
> > > From: Thomas Wang 
> > > Sent: Saturday, September 30, 2023 7:42:19 PM
> > > To: dev@calcite.apache.org 
> > > Subject: Re: SQL Parsing
> > >
> > > Thanks Mihai, "BIGINT ARRAY" seems to work! Just curious if I can have
> > > flexibility to change the behavior of the parse to parse
> "ARRAY"
> > > instead?
> > >
> > > Thomas
> > >
> > > On Sat, Sep 30, 2023 at 6:32 PM Mihai Budiu  wrote:
> > >
> > > > The syntax is "bigint array"
> > > > https://calcite.apache.org/docs/reference.html
> > > > 
> > > > From: Thomas Wang 
> > > > Sent: Saturday, September 30, 2023 6:27:46 PM
> > > > To: dev@calcite.apache.org 
> > > > Subject: SQL Parsing
> > > >
> > > > Hi Apache Calcite Community,
> > > >
> > > > I'm new to Apache Calcite and trying to use it for SQL parsing and
> SQL
> > > > rewriting.
> > > >
> > > > I tried to parse a couple of SELECT statements and it works pretty
> > well.
> > > > However, when I tried to parse a SELECT statement that contains a
> cast
> > to
> > > > array like below, it complains it cannot recognize ARRAY.
> > > >
> > > > SELECT CAST(NULL AS ARRAY) FROM schema.t1
> > > >
> > > > However, casting to BIGINT seems ok. The following SELECT is ok.
> > > >
> > > > SELECT CAST(NULL AS BIGINT) FROM schema.t1
> > > >
> > > > Is there any configuration I need to enable to enable/support parsing
> > > > ARRAY? Thanks.
> > > >
> > > > Thomas
> > > >
> > >
> >
>


Re: Draft: board report for 2023 Q3

2023-10-02 Thread Alessandro Solimando
+1, thanks Stamatis for putting this together!

On Mon, 2 Oct 2023 at 11:27, LakeShen  wrote:

> +1, Nice work, Stamatis!
>
> Ruben Q L  于2023年10月2日周一 16:58写道:
>
> > +1, thanks Stamatis!
> >
> > @Sergey thanks for the info! IMO your talk would be a nice addition for
> the
> > next report (Q4).
> >
> >
> > On Mon, Oct 2, 2023 at 9:48 AM Francis Chuang 
> > wrote:
> >
> > > +1, Excellent work, Stamatis!
> > >
> > > On 2/10/2023 6:58 pm, Stamatis Zampetakis wrote:
> > > > Hello,
> > > >
> > > > Below you can find a draft of this quarter's board report. I plan to
> > > > submit the final version next Monday (October 9, 2023).
> > > >
> > > > Please let me know if you have any additions or corrections.
> > > >
> > > > Best,
> > > > Stamatis
> > > > ---
> > > >
> > > > ## Description:
> > > > Apache Calcite is a highly customizable framework for parsing and
> > > planning
> > > > queries on data in a wide variety of formats. It allows database-like
> > > > access,
> > > > and in particular a SQL interface and advanced query optimization,
> for
> > > data
> > > > not residing in a traditional database.
> > > >
> > > > Avatica is a sub-project within Calcite and provides a framework for
> > > > building
> > > > local and remote JDBC and ODBC database drivers. Avatica has an
> > > independent
> > > > release schedule and its own repository.
> > > >
> > > > ## Project Status:
> > > > Current project status: ongoing
> > > > Issues for the board: none
> > > >
> > > > ## Membership Data:
> > > > Apache Calcite was founded 2015-10-22 (8 years ago)
> > > > There are currently 69 committers and 27 PMC members in this project.
> > > > The Committer-to-PMC ratio is roughly 2:1.
> > > >
> > > > Community changes, past quarter:
> > > > - No new PMC members. Last addition was Benchao Li on 2023-01-27.
> > > > - TJ Banghart was added as committer on 2023-07-04
> > > > - Dan Zou was added as committer on 2023-07-04
> > > >
> > > > ## Project Activity:
> > > > Apache Calcite 1.35.0 was released on 2023-07-26. It contains
> > > contributions
> > > > from 36 contributors, and resolves 140 issues. The new release has
> many
> > > > improvements in the BigQuery and Spark dialect bringing in more than
> 40
> > > SQL
> > > > functions. Additionally, it comes with new optimizations for reducing
> > > the size
> > > > of generated code and more powerful expression simplifications.
> > > >
> > > > On August 18, 2023, Benchao Li and Jiajun Xie represented the Calcite
> > > > community at the Apache Con East Asia by giving talks related with
> the
> > > > project.
> > > >
> > > > ## Community Health:
> > > > The project is healthy. Previously, it was super healthy. The drop is
> > > likely
> > > > to the fact that the PMC has not grown in the last six months but
> this
> > > will
> > > > very likely change in the near future since a lot of our current
> > > committers
> > > > are very involved with the project and hopefully they will join the
> PMC
> > > > shortly.
> > > >
> > > > The dev list had a 38% in activity in the past quarter, with busiest
> > > threads
> > > > been as usual those around releases and introduction of new
> committers.
> > > The
> > > > 16% increase in activity of the JIRA also contributes to the general
> > > increase
> > > > in traffic of the dev list.
> > > >
> > > > The number of non-committer (contributor) commits per month:
> > > > +-+-+-+
> > > > |year |month| contributor_commits |
> > > > +-+-+-+
> > > > | 2023| 7   | 16  |
> > > > | 2023| 8   | 32  |
> > > > | 2023| 9   | 32  |
> > > > +-+-+-+
> > > >
> > > > The number of active reviewers per month:
> > > > +-+-+-+
> > > > |year |month|  active_reviewers   |
> > > > +-+-+-+
> > > > | 2023| 7   | 9   |
> > > > | 2023| 8   | 9   |
> > > > | 2023| 9   | 10  |
> > > > +-+-+-+
> > > >
> > > > Top-3 reviewers in the last quarter:
> > > > +---+-+
> > > > | committer |   reviews   |
> > > > +---+-+
> > > > | Jiajun  | 15  |
> > > > | Julian Hyde  | 13  |
> > > > | Benchao Li  | 11  |
> > > > +---+-+
> > > >
> > > > The number of non-committer commits has increased by 9% from the last
> 

Re: Draft: board report for 2023 Q3

2023-10-02 Thread LakeShen
+1, Nice work, Stamatis!

Ruben Q L  于2023年10月2日周一 16:58写道:

> +1, thanks Stamatis!
>
> @Sergey thanks for the info! IMO your talk would be a nice addition for the
> next report (Q4).
>
>
> On Mon, Oct 2, 2023 at 9:48 AM Francis Chuang 
> wrote:
>
> > +1, Excellent work, Stamatis!
> >
> > On 2/10/2023 6:58 pm, Stamatis Zampetakis wrote:
> > > Hello,
> > >
> > > Below you can find a draft of this quarter's board report. I plan to
> > > submit the final version next Monday (October 9, 2023).
> > >
> > > Please let me know if you have any additions or corrections.
> > >
> > > Best,
> > > Stamatis
> > > ---
> > >
> > > ## Description:
> > > Apache Calcite is a highly customizable framework for parsing and
> > planning
> > > queries on data in a wide variety of formats. It allows database-like
> > > access,
> > > and in particular a SQL interface and advanced query optimization, for
> > data
> > > not residing in a traditional database.
> > >
> > > Avatica is a sub-project within Calcite and provides a framework for
> > > building
> > > local and remote JDBC and ODBC database drivers. Avatica has an
> > independent
> > > release schedule and its own repository.
> > >
> > > ## Project Status:
> > > Current project status: ongoing
> > > Issues for the board: none
> > >
> > > ## Membership Data:
> > > Apache Calcite was founded 2015-10-22 (8 years ago)
> > > There are currently 69 committers and 27 PMC members in this project.
> > > The Committer-to-PMC ratio is roughly 2:1.
> > >
> > > Community changes, past quarter:
> > > - No new PMC members. Last addition was Benchao Li on 2023-01-27.
> > > - TJ Banghart was added as committer on 2023-07-04
> > > - Dan Zou was added as committer on 2023-07-04
> > >
> > > ## Project Activity:
> > > Apache Calcite 1.35.0 was released on 2023-07-26. It contains
> > contributions
> > > from 36 contributors, and resolves 140 issues. The new release has many
> > > improvements in the BigQuery and Spark dialect bringing in more than 40
> > SQL
> > > functions. Additionally, it comes with new optimizations for reducing
> > the size
> > > of generated code and more powerful expression simplifications.
> > >
> > > On August 18, 2023, Benchao Li and Jiajun Xie represented the Calcite
> > > community at the Apache Con East Asia by giving talks related with the
> > > project.
> > >
> > > ## Community Health:
> > > The project is healthy. Previously, it was super healthy. The drop is
> > likely
> > > to the fact that the PMC has not grown in the last six months but this
> > will
> > > very likely change in the near future since a lot of our current
> > committers
> > > are very involved with the project and hopefully they will join the PMC
> > > shortly.
> > >
> > > The dev list had a 38% in activity in the past quarter, with busiest
> > threads
> > > been as usual those around releases and introduction of new committers.
> > The
> > > 16% increase in activity of the JIRA also contributes to the general
> > increase
> > > in traffic of the dev list.
> > >
> > > The number of non-committer (contributor) commits per month:
> > > +-+-+-+
> > > |year |month| contributor_commits |
> > > +-+-+-+
> > > | 2023| 7   | 16  |
> > > | 2023| 8   | 32  |
> > > | 2023| 9   | 32  |
> > > +-+-+-+
> > >
> > > The number of active reviewers per month:
> > > +-+-+-+
> > > |year |month|  active_reviewers   |
> > > +-+-+-+
> > > | 2023| 7   | 9   |
> > > | 2023| 8   | 9   |
> > > | 2023| 9   | 10  |
> > > +-+-+-+
> > >
> > > Top-3 reviewers in the last quarter:
> > > +---+-+
> > > | committer |   reviews   |
> > > +---+-+
> > > | Jiajun  | 15  |
> > > | Julian Hyde  | 13  |
> > > | Benchao Li  | 11  |
> > > +---+-+
> > >
> > > The number of non-committer commits has increased by 9% from the last
> > quarter
> > > (73 commits in Q2 vs. 80 commits in Q3) keeping up the good momentum of
> > having
> > > new people contributing to the project.
> > >
> > > The average number of active reviewers per month has increased slightly
> > from
> > > the last quarter (7.6 in Q2 vs. 9.3 in Q3) showing that more people are
> > > participating in th

Re: Draft: board report for 2023 Q3

2023-10-02 Thread Ruben Q L
+1, thanks Stamatis!

@Sergey thanks for the info! IMO your talk would be a nice addition for the
next report (Q4).


On Mon, Oct 2, 2023 at 9:48 AM Francis Chuang 
wrote:

> +1, Excellent work, Stamatis!
>
> On 2/10/2023 6:58 pm, Stamatis Zampetakis wrote:
> > Hello,
> >
> > Below you can find a draft of this quarter's board report. I plan to
> > submit the final version next Monday (October 9, 2023).
> >
> > Please let me know if you have any additions or corrections.
> >
> > Best,
> > Stamatis
> > ---
> >
> > ## Description:
> > Apache Calcite is a highly customizable framework for parsing and
> planning
> > queries on data in a wide variety of formats. It allows database-like
> > access,
> > and in particular a SQL interface and advanced query optimization, for
> data
> > not residing in a traditional database.
> >
> > Avatica is a sub-project within Calcite and provides a framework for
> > building
> > local and remote JDBC and ODBC database drivers. Avatica has an
> independent
> > release schedule and its own repository.
> >
> > ## Project Status:
> > Current project status: ongoing
> > Issues for the board: none
> >
> > ## Membership Data:
> > Apache Calcite was founded 2015-10-22 (8 years ago)
> > There are currently 69 committers and 27 PMC members in this project.
> > The Committer-to-PMC ratio is roughly 2:1.
> >
> > Community changes, past quarter:
> > - No new PMC members. Last addition was Benchao Li on 2023-01-27.
> > - TJ Banghart was added as committer on 2023-07-04
> > - Dan Zou was added as committer on 2023-07-04
> >
> > ## Project Activity:
> > Apache Calcite 1.35.0 was released on 2023-07-26. It contains
> contributions
> > from 36 contributors, and resolves 140 issues. The new release has many
> > improvements in the BigQuery and Spark dialect bringing in more than 40
> SQL
> > functions. Additionally, it comes with new optimizations for reducing
> the size
> > of generated code and more powerful expression simplifications.
> >
> > On August 18, 2023, Benchao Li and Jiajun Xie represented the Calcite
> > community at the Apache Con East Asia by giving talks related with the
> > project.
> >
> > ## Community Health:
> > The project is healthy. Previously, it was super healthy. The drop is
> likely
> > to the fact that the PMC has not grown in the last six months but this
> will
> > very likely change in the near future since a lot of our current
> committers
> > are very involved with the project and hopefully they will join the PMC
> > shortly.
> >
> > The dev list had a 38% in activity in the past quarter, with busiest
> threads
> > been as usual those around releases and introduction of new committers.
> The
> > 16% increase in activity of the JIRA also contributes to the general
> increase
> > in traffic of the dev list.
> >
> > The number of non-committer (contributor) commits per month:
> > +-+-+-+
> > |year |month| contributor_commits |
> > +-+-+-+
> > | 2023| 7   | 16  |
> > | 2023| 8   | 32  |
> > | 2023| 9   | 32  |
> > +-+-+-+
> >
> > The number of active reviewers per month:
> > +-+-+-+
> > |year |month|  active_reviewers   |
> > +-+-+-+
> > | 2023| 7   | 9   |
> > | 2023| 8   | 9   |
> > | 2023| 9   | 10  |
> > +-+-+-+
> >
> > Top-3 reviewers in the last quarter:
> > +---+-+
> > | committer |   reviews   |
> > +---+-+
> > | Jiajun  | 15  |
> > | Julian Hyde  | 13  |
> > | Benchao Li  | 11  |
> > +---+-+
> >
> > The number of non-committer commits has increased by 9% from the last
> quarter
> > (73 commits in Q2 vs. 80 commits in Q3) keeping up the good momentum of
> having
> > new people contributing to the project.
> >
> > The average number of active reviewers per month has increased slightly
> from
> > the last quarter (7.6 in Q2 vs. 9.3 in Q3) showing that more people are
> > participating in the review process which is among the main points of the
> > project.
> >
> > In the top reviewers, we can observe that things are a bit more balanced
> in
> > Q3. The review count per person in the top-3 tier is lower than usual
> but in
> > conjunction with the increase in the number of non-committ

Re: Draft: board report for 2023 Q3

2023-10-02 Thread Francis Chuang

+1, Excellent work, Stamatis!

On 2/10/2023 6:58 pm, Stamatis Zampetakis wrote:

Hello,

Below you can find a draft of this quarter's board report. I plan to
submit the final version next Monday (October 9, 2023).

Please let me know if you have any additions or corrections.

Best,
Stamatis
---

## Description:
Apache Calcite is a highly customizable framework for parsing and planning
queries on data in a wide variety of formats. It allows database-like
access,
and in particular a SQL interface and advanced query optimization, for data
not residing in a traditional database.

Avatica is a sub-project within Calcite and provides a framework for
building
local and remote JDBC and ODBC database drivers. Avatica has an independent
release schedule and its own repository.

## Project Status:
Current project status: ongoing
Issues for the board: none

## Membership Data:
Apache Calcite was founded 2015-10-22 (8 years ago)
There are currently 69 committers and 27 PMC members in this project.
The Committer-to-PMC ratio is roughly 2:1.

Community changes, past quarter:
- No new PMC members. Last addition was Benchao Li on 2023-01-27.
- TJ Banghart was added as committer on 2023-07-04
- Dan Zou was added as committer on 2023-07-04

## Project Activity:
Apache Calcite 1.35.0 was released on 2023-07-26. It contains contributions
from 36 contributors, and resolves 140 issues. The new release has many
improvements in the BigQuery and Spark dialect bringing in more than 40 SQL
functions. Additionally, it comes with new optimizations for reducing the size
of generated code and more powerful expression simplifications.

On August 18, 2023, Benchao Li and Jiajun Xie represented the Calcite
community at the Apache Con East Asia by giving talks related with the
project.

## Community Health:
The project is healthy. Previously, it was super healthy. The drop is likely
to the fact that the PMC has not grown in the last six months but this will
very likely change in the near future since a lot of our current committers
are very involved with the project and hopefully they will join the PMC
shortly.

The dev list had a 38% in activity in the past quarter, with busiest threads
been as usual those around releases and introduction of new committers. The
16% increase in activity of the JIRA also contributes to the general increase
in traffic of the dev list.

The number of non-committer (contributor) commits per month:
+-+-+-+
|year |month| contributor_commits |
+-+-+-+
| 2023| 7   | 16  |
| 2023| 8   | 32  |
| 2023| 9   | 32  |
+-+-+-+

The number of active reviewers per month:
+-+-+-+
|year |month|  active_reviewers   |
+-+-+-+
| 2023| 7   | 9   |
| 2023| 8   | 9   |
| 2023| 9   | 10  |
+-+-+-+

Top-3 reviewers in the last quarter:
+---+-+
| committer |   reviews   |
+---+-+
| Jiajun  | 15  |
| Julian Hyde  | 13  |
| Benchao Li  | 11  |
+---+-+

The number of non-committer commits has increased by 9% from the last quarter
(73 commits in Q2 vs. 80 commits in Q3) keeping up the good momentum of having
new people contributing to the project.

The average number of active reviewers per month has increased slightly from
the last quarter (7.6 in Q2 vs. 9.3 in Q3) showing that more people are
participating in the review process which is among the main points of the
project.

In the top reviewers, we can observe that things are a bit more balanced in
Q3. The review count per person in the top-3 tier is lower than usual but in
conjunction with the increase in the number of non-committer commits
it shows that
reviews are more evenly distributed among the members of the community.


Re: Draft: board report for 2023 Q3

2023-10-02 Thread Sergey Nuyanzin
Hi Stamatis

thanks for the draft report
it looks great

one thing which I currently not sure whether to add or not (because of
dates)
This year I will give a talk at Flink Forward 2023 (November 6-8 2023)
about Calcite upgrade journey in Apache Flink

On Mon, Oct 2, 2023 at 9:58 AM Stamatis Zampetakis 
wrote:

> Hello,
>
> Below you can find a draft of this quarter's board report. I plan to
> submit the final version next Monday (October 9, 2023).
>
> Please let me know if you have any additions or corrections.
>
> Best,
> Stamatis
> ---
>
> ## Description:
> Apache Calcite is a highly customizable framework for parsing and planning
> queries on data in a wide variety of formats. It allows database-like
> access,
> and in particular a SQL interface and advanced query optimization, for data
> not residing in a traditional database.
>
> Avatica is a sub-project within Calcite and provides a framework for
> building
> local and remote JDBC and ODBC database drivers. Avatica has an independent
> release schedule and its own repository.
>
> ## Project Status:
> Current project status: ongoing
> Issues for the board: none
>
> ## Membership Data:
> Apache Calcite was founded 2015-10-22 (8 years ago)
> There are currently 69 committers and 27 PMC members in this project.
> The Committer-to-PMC ratio is roughly 2:1.
>
> Community changes, past quarter:
> - No new PMC members. Last addition was Benchao Li on 2023-01-27.
> - TJ Banghart was added as committer on 2023-07-04
> - Dan Zou was added as committer on 2023-07-04
>
> ## Project Activity:
> Apache Calcite 1.35.0 was released on 2023-07-26. It contains contributions
> from 36 contributors, and resolves 140 issues. The new release has many
> improvements in the BigQuery and Spark dialect bringing in more than 40 SQL
> functions. Additionally, it comes with new optimizations for reducing the
> size
> of generated code and more powerful expression simplifications.
>
> On August 18, 2023, Benchao Li and Jiajun Xie represented the Calcite
> community at the Apache Con East Asia by giving talks related with the
> project.
>
> ## Community Health:
> The project is healthy. Previously, it was super healthy. The drop is
> likely
> to the fact that the PMC has not grown in the last six months but this will
> very likely change in the near future since a lot of our current committers
> are very involved with the project and hopefully they will join the PMC
> shortly.
>
> The dev list had a 38% in activity in the past quarter, with busiest
> threads
> been as usual those around releases and introduction of new committers. The
> 16% increase in activity of the JIRA also contributes to the general
> increase
> in traffic of the dev list.
>
> The number of non-committer (contributor) commits per month:
> +-+-+-+
> |year |month| contributor_commits |
> +-+-+-+
> | 2023| 7   | 16  |
> | 2023| 8   | 32  |
> | 2023| 9   | 32  |
> +-+-+-+
>
> The number of active reviewers per month:
> +-+-+-+
> |year |month|  active_reviewers   |
> +-+-+-+
> | 2023| 7   | 9   |
> | 2023| 8   | 9   |
> | 2023| 9   | 10  |
> +-+-+-+
>
> Top-3 reviewers in the last quarter:
> +---+-+
> | committer |   reviews   |
> +---+-+
> | Jiajun  | 15  |
> | Julian Hyde  | 13  |
> | Benchao Li  | 11  |
> +---+-+
>
> The number of non-committer commits has increased by 9% from the last
> quarter
> (73 commits in Q2 vs. 80 commits in Q3) keeping up the good momentum of
> having
> new people contributing to the project.
>
> The average number of active reviewers per month has increased slightly
> from
> the last quarter (7.6 in Q2 vs. 9.3 in Q3) showing that more people are
> participating in the review process which is among the main points of the
> project.
>
> In the top reviewers, we can observe that things are a bit more balanced in
> Q3. The review count per person in the top-3 tier is lower than usual but
> in
> conjunction with the increase in the number of non-committer commits
> it shows that
> reviews are more evenly distributed among the members of the community.
>


-- 
Best regards,
Sergey


Draft: board report for 2023 Q3

2023-10-02 Thread Stamatis Zampetakis
Hello,

Below you can find a draft of this quarter's board report. I plan to
submit the final version next Monday (October 9, 2023).

Please let me know if you have any additions or corrections.

Best,
Stamatis
---

## Description:
Apache Calcite is a highly customizable framework for parsing and planning
queries on data in a wide variety of formats. It allows database-like
access,
and in particular a SQL interface and advanced query optimization, for data
not residing in a traditional database.

Avatica is a sub-project within Calcite and provides a framework for
building
local and remote JDBC and ODBC database drivers. Avatica has an independent
release schedule and its own repository.

## Project Status:
Current project status: ongoing
Issues for the board: none

## Membership Data:
Apache Calcite was founded 2015-10-22 (8 years ago)
There are currently 69 committers and 27 PMC members in this project.
The Committer-to-PMC ratio is roughly 2:1.

Community changes, past quarter:
- No new PMC members. Last addition was Benchao Li on 2023-01-27.
- TJ Banghart was added as committer on 2023-07-04
- Dan Zou was added as committer on 2023-07-04

## Project Activity:
Apache Calcite 1.35.0 was released on 2023-07-26. It contains contributions
from 36 contributors, and resolves 140 issues. The new release has many
improvements in the BigQuery and Spark dialect bringing in more than 40 SQL
functions. Additionally, it comes with new optimizations for reducing the size
of generated code and more powerful expression simplifications.

On August 18, 2023, Benchao Li and Jiajun Xie represented the Calcite
community at the Apache Con East Asia by giving talks related with the
project.

## Community Health:
The project is healthy. Previously, it was super healthy. The drop is likely
to the fact that the PMC has not grown in the last six months but this will
very likely change in the near future since a lot of our current committers
are very involved with the project and hopefully they will join the PMC
shortly.

The dev list had a 38% in activity in the past quarter, with busiest threads
been as usual those around releases and introduction of new committers. The
16% increase in activity of the JIRA also contributes to the general increase
in traffic of the dev list.

The number of non-committer (contributor) commits per month:
+-+-+-+
|year |month| contributor_commits |
+-+-+-+
| 2023| 7   | 16  |
| 2023| 8   | 32  |
| 2023| 9   | 32  |
+-+-+-+

The number of active reviewers per month:
+-+-+-+
|year |month|  active_reviewers   |
+-+-+-+
| 2023| 7   | 9   |
| 2023| 8   | 9   |
| 2023| 9   | 10  |
+-+-+-+

Top-3 reviewers in the last quarter:
+---+-+
| committer |   reviews   |
+---+-+
| Jiajun  | 15  |
| Julian Hyde  | 13  |
| Benchao Li  | 11  |
+---+-+

The number of non-committer commits has increased by 9% from the last quarter
(73 commits in Q2 vs. 80 commits in Q3) keeping up the good momentum of having
new people contributing to the project.

The average number of active reviewers per month has increased slightly from
the last quarter (7.6 in Q2 vs. 9.3 in Q3) showing that more people are
participating in the review process which is among the main points of the
project.

In the top reviewers, we can observe that things are a bit more balanced in
Q3. The review count per person in the top-3 tier is lower than usual but in
conjunction with the increase in the number of non-committer commits
it shows that
reviews are more evenly distributed among the members of the community.