??????[ANNOUNCE] Chunwei Lei joins Calcite PMC

2022-05-24 Thread 953396112
ChunweiCongratulations!


Xzh



----
??: 
   "dev"


??????[ANNOUNCE] New Calcite PMC chair: Ruben Q L

2022-01-19 Thread 953396112
Congratulations to Ruben!
Thanks for serving as Chair, Haisheng!


Best regards,
Zhaohui Xu




----
??: 
   "dev"


?????? [VOTE] Release Apache Calcite 1.28.0 (release candidate 0)

2021-10-17 Thread 953396112
+1

1. Checked release notes - OK
2. Ran Gradle test - OK
3. Checked checksum and signature - OK


Best,
Zhaohui Xu


----
??: 
   "dev"

https://github.com/apache/calcite/blob/calcite-1.28.0-rc0/site/_docs/history.md
 :

 *[CALCITE-4742] log '<' don't handle very well. *

 Haisheng Yuan https://github.com/apache/calcite/blob/calcite-1.28.0-rc0/site/_docs/history.md
  
   The commit to be voted upon:
  
 
 
https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=dec167ac18272c0cd8be477d6b162d7a31a62114
  
   Its hash is dec167ac18272c0cd8be477d6b162d7a31a62114
  
   Tag:
  
 
 
https://gitbox.apache.org/repos/asf?p=calcite.git;a=tag;h=refs/tags/calcite-1.28.0-rc0
  
   The artifacts to be voted on are located here:
  
 https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-1.28.0-rc0
   (revision 50450)
  
   The hashes of the artifacts are as follows:
  
 
 
d61c4935d7d3b66425ff6e0c5e6e506b56f734d562f0fc6e69dc1d484da1d92d7d922930fd7b545abe0dc7b0178f6847ff4239ad52c52c8fa155668aa3d3fc38
   *apache-calcite-1.28.0-src.tar.gz
  
   A staged Maven repository is available for review at:
  
 
 
https://repository.apache.org/content/repositories/orgapachecalcite-1121/org/apache/calcite/
  
   Release artifacts are signed with the following key:
   https://people.apache.org/keys/committer/jhyde.asc
   https://www.apache.org/dist/calcite/KEYS
  
   Please vote on releasing this package as Apache Calcite 1.28.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.28.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)
  
 


??????[DISCUSS] Apply materialized recognition to streaming compute of time-window aggregate.

2021-10-07 Thread 953396112
Hi Xurenhe
  Browse the design documents roughly. It seems that your 
materialized view scene is specialized, not universal and not applicable to 
Calcite. Now the materialized view recognition framework is extensible. You can 
customize the materialized view recognition rules and use the 
`RelOptMaterializations#useMaterializedViews` in your project.


Best,
Zhaohui Xu


----
??: 
   "dev"

https://docs.google.com/document/d/1LtSgxhwvnpk2uAXFQiMSX-aQjnkJ6KLrXwXJX-VbsbE/edit


Would love to hear your thoughts!
Xurenhe

Re:Need help: Optimization rule to reduce project-filter-project-filter on one table

2021-09-27 Thread 953396112
hi Huang
  1. Reduce the interleaved project-filter to one single 
project-filter or filter-project,i always use `Calc Operator` to optimize 
`project-filter` or `filter-project`,Using the `Calc` operator, 
relational algebra can be simplified,This relational expression combines the 
functionality of `Project` and `Filter`.In Calcite, you can use 
`FilterToCalcRule` and `ProjectToCalcRule`, `CalcMergeRule` may also be 
used.These rules can be used by `HepPlanner`??
  2.I'm not sure if you want to remove `CAST` from 
RexNode,Maybe you can refer 
`org.apache.calcite.rex.RexUtil#removeCast`.In the RelNode, we can 
implement a `RelOptRule` to match the operator, and then remove the cast 
operator.you can refer `RelOptRules` in 
`org.apache.calcite.rel.rules.CoreRules`.In addition, you can use `RelShuttle` 
to rewrite RelNode, both of them can remove the `castoperator`.
 I hope it can help you.


Best
 Xzh


















--Original--
From:   
 "dev"  
  


回复: [DISCUSS] Remove contributors name from commit summary

2021-09-23 Thread 953396112
hi Julian:
 I think you have a good idea. In the Calcite community, people can 
know who has made changes by browsing GitHub, the number of PR contributions 
and the activity of the community.And People can know their contributions in 
`https://github.com/apache/calcite/graphs/contributors`.
 I hope the Calcite community will be better.


Xzh


--原始邮件--
发件人:
"dev"   
 


??????[DISCUSS] Remove contributors name from commit summary

2021-09-23 Thread 953396112
agree with you, +1




----
??: 
   "dev"


An example of materialized view recognition

2021-09-18 Thread 953396112
Hello everyone. I'd like to discuss an example of materialized view recognition.

Query:

select c1, count(distinct c2) as countd_c2, sum(c3) as sum_c3

from table

group by c1

Mv1:

select c1, c2 

from table

group by c1, c2 


Mv2:

select c1, c4, c5, sum(c3) as sum_c3_mv2

from table

group by c1, c4, c5





If query tries to identify MV1 or MV2, neither of them can be 
recognized.Because the materialized view cannot express the columns required by 
Query.

One solution as follows:

select a.c1, a.countd_c2, b.sum_c3 

from (

select c1, count(distinct c2) as  countd_c2

from table

group by c1 

) a join (

select c1, sum(c3) as sum_c3

from table

group by c1 

) b on a.c1 = b.c1




Materialized view recognition:

select a.c1, a.countd_c2, b.sum_c3 

from (

select c1, count(distinct c2) as  countd_c2

from MV1

group by c1 

) a join (

select c1, sum(sum_c3_mv2) as sum_c3

from MV2

group by c1 

) b on a.c1 = b.c1

If query is splited into Join RelNode, MV1 and MV2 can be recognized.This 
method can accurately identify materialized views and improve the reuse of 
materialized views.This example has been shown in doc. In the project, we use 
RelOptRule to realize it.However, Calcite does not support custom normalization 
rules for materialized view recognition. I have implemented the custom 
normalization rules before materialized view recognition, PR, which has been 
working for a long time in my project.Looking forward to the discussion and 
more feedback,thanks.




DOC??https://docs.google.com/document/d/1mmAsK_uW-fBs893JERP1gspMurX2lNXcVGeesP4XUqQ/edit

PR :https://github.com/apache/calcite/pull/2262

??????Tracking column's origin

2021-05-19 Thread 953396112
Hi James:
1) I guess you want to trace the column's origin in original table. In Calcite, 
we can use `RelMetadatauery.getColumnOrigin()` to trace the column's origin.The 
method tracks the origin of columns.Here is a unit test 
'org.apache.calcite.test.RelMetadataTest#testCalcColumnOriginsTable' for your 
reference.
2) After removing a specific operator, the column reference of the parent 
operator will be affected. It seems that no tool class can do this. Generally 
speaking, I will traverse to a specific operator pattern to modify the related 
column reference and generate a new RelNode. Maybe we use `RelOptRule` or 
`RelShuttle` to do this.
 I hope it can help you.
 Xu




----
??: 
   "dev"



??????Proposal to extend Calcite into a incremental query optimizer

2020-12-29 Thread 953396112
Botong,
  It is very exciting. Thank you for your contribution to the 
community. I'm very interested in materialization and incremental computing. We 
know that there are many challenges in this area, such as choosing a good 
execution plan, materializing a good view, effectively hitting the target, 
materializing and identifying the view, and implementing optimization rules in 
specific fields. It can speed up query optimization. Thank you for your sharing 
and look forward to more discussion and feedback.


ZhaoHui Xu


----
??: 
   "dev"


??????[ANNOUNCE] New Calcite PMC chair: Haisheng Yuan

2020-12-17 Thread 953396112
Thank you for your contribution, Congratulate Haisheng!



Zhaohui Xu


----
??: 
   "dev"


?????? Using Calcite at LinkedIn

2020-12-12 Thread 953396112
Hi Walaa andTao:
  I am very happy to see your sharing. Our team is also 
working on SQL rewriting, analysis and optimization. Using Calcite's 
materialized view recognition capabilities to speed up user queries, many 
materialized view recognition algorithms[1] and normalization algorithms[2] 
have been implemented, and a lot of work has been done in preprocessing 
available materialized views, which has excellent performance. Welcome to 
discuss issues related to materialized view identification.


[1]https://github.com/apache/calcite/pull/2094
[2] https://github.com/apache/calcite/pull/2262


Regards!
Zhaohui Xu


----
??: 
   "dev"

https://engineering.linkedin.com/blog/2020/coral
 [2] https://github.com/linkedin/coral
 [3]

 
https://join.slack.com/t/coral-sql/shared_invite/zt-j9jw5idg-mkt3fjA~wgoUEMXXZqMr6g

 Thanks,
 Walaa.


??????[DISCUSS] State of the project 2020

2020-11-10 Thread 953396112
Hi Stamatis,

Thanks for your great work!


Calcite is very good at semantic transformation of relational algebra. In the 
process of the project, users can optimize relational algebra by implementing 
RelOptRule or RelShuttle and so on, so as to bring relational algebra into 
physical query engine. Another point is the construction of materialized view 
recognition framework, which realizes the ability of materialized view 
recognition of common relational algebra. The expression of relational algebra 
is very flexible, and it can do better in identifying various materialized 
views.


+1 for voting Haisheng.


Best,
Zhaohui Xu


----
??: 
   "dev"
http://calcite.apache.org/news/2015/10/22/calcite-graduates/
[2]
http://mail-archives.apache.org/mod_mbox/incubator-calcite-dev/201509.mbox/%3CCF8D6F96-706F-4502-B41D-0689E357209D%40apache.org%3E
[3] https://issues.apache.org/jira/browse/CALCITE-3923
[4] https://issues.apache.org/jira/browse/CALCITE-3724
[5] https://issues.apache.org/jira/browse/CALCITE-2157
[6] https://issues.apache.org/jira/browse/CALCITE-3916
[7] https://issues.apache.org/jira/browse/CALCITE-3896
[8] https://issues.apache.org/jira/browse/CALCITE-3753
[9] https://issues.apache.org/jira/browse/CALCITE-2970
[10] https://issues.apache.org/jira/browse/CALCITE-482
[11] https://issues.apache.org/jira/browse/CALCITE-3510
[12] https://issues.apache.org/jira/browse/CALCITE-4034

??????[ANNOUNCE] Ruben Quesada Lopez joins Calcite PMC

2020-08-11 Thread 953396112
Congratulations,Ruben!


xzh
----
??: 
   "dev"


回复: [VOTE] Release apache-calcite-1.25.0 (release candidate 0)

2020-08-10 Thread 953396112
+1 (non binding)


Local Calcite build with tests enabled on MacOs: Ok
Calcite-based system test suite: Ok


MacOs (Catalina 10.15.6)
Java version(1.8.0_191)


xzh





--原始邮件--
发件人:
"dev"   
 
https://apache.github.io/calcite-site-preview/docs/history.html.
 
  On Mon, Aug 10, 2020 at 9:47 AM Rui Wang https://github.com/apache/calcite/blob/calcite-1.25.0-rc0/site/_docs/history.md
)

 - OK
 Spotted checked a few JARs in the Maven repository - OK

 Environment (OpenJDK:latest docker container):
 Gradle 6.3 (via gradlew)
 Oracle Linux Server 7.8
 openjdk 14.0.2 2020-07-14
 OpenJDK Runtime Environment (build 14.0.2+12-46)
 OpenJDK 64-Bit Server VM (build 14.0.2+12-46, mixed 
mode, sharing)

 My vote is: +1 (binding)

 Francis

 On 10/08/2020 4:10 am, Rui Wang wrote:
  +1 (non-binding)
 
  platform: ubuntu16 + java8
 
  run tests locally on: ok
  verify the commit hash in git tag: ok
  check sha512: ok
  verify signature by gpg: ok
 
 
  one thing can be fixed after vote: CALCITE-4114 
does not belong
 to
  "breaking changes" in the release note. That 
change happened in
core/test
  (a testing related change).
 
 
  -Rui
 
 
 
  On Sun, Aug 9, 2020 at 2:02 AM Enrico Olivelli <
  eolive...@gmail.com
 wrote:
 
  +1 (non binding)
  run tests locally on Fedora + JDK14
  run tests of HerdDB just by switching from 
1.24 without any
 change
 
  Enrico
 
  Il giorno dom 9 ago 2020 alle ore 05:22 
Andrei Sereda
https://apache.github.io/calcite-site-preview/docs/history.html
 
  The commit to be voted upon:
 
 
 

   
  
 
 
https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=68b02dfd4af15bc94a91a0cd2a30655d04439555
 
  Its hash is 
68b02dfd4af15bc94a91a0cd2a30655d04439555
 
  Tag:
  
https://github.com/apache/calcite/tree/calcite-1.25.0-rc0
 
  The artifacts to be voted on are located 
here:
 

  
 https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-1.25.0-rc0
  (revision 40922)
 
  RAT report:
 
 https://apache.github.io/calcite-site-preview/rat/rat-report.txt
 
  Site preview is here:
  
https://apache.github.io/calcite-site-preview/
 
  JavaDoc API preview is here:
  
https://apache.github.io/calcite-site-preview/api
 
  The hashes of the artifacts are as 
follows:
 
 
 

   
  
 
 
a5e61bd93657a274ee8a1d1ecbde68e3e471fd27b85bea179991b372f094ae3cdf692672245506a08b996534f9136be26569de81af2bb7d8f026799313957e87
  *apache-calcite-1.25.0-src.tar.gz
 
  A staged Maven repository is available 
for review at:
 
 
 

   
  
 
 
https://repository.apache.org/content/repositories/orgapachecalcite-1097/org/apache/calcite/
 
  Release artifacts are signed with the 
following key:
  
https://people.apache.org/keys/committer/sereda.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.25.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.25.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 (non binding)
 
 
 

   
  
 



-- 
Best regards,
Anton.

??????Deploy Calcite to local Maven Repository

2020-07-03 Thread 953396112
You can use the following command to publish jars to your local Maven 
repository. I hope it can help you.
./gradlew :core:publishToMavenLocal



Best regards
xzh


----
??:"Enrico Olivelli"https://docs.gradle.org/current/userguide/maven_plugin.html

./gradlew install -x test

I am trying to add the 'maven' plugin to Gradle configuration but without
effect

Is there any way to perform this task ?
I would like to test current HerdDB master against current Calcite master,
as probably Calcite 1.24 is going to be released soon


Best regards
Enrico

Re: [ANNOUNCE] New committer: Wang Yanlin

2020-04-28 Thread 953396112
Congrats, Wang Yanlin!




---Original---
From: "Stamatis Zampetakis"

Re: [ANNOUNCE] New committer: Jin Xing

2020-04-28 Thread 953396112
Congrats, Jin Xing!


---Original---
From: "Stamatis Zampetakis"

1

2019-10-30 Thread 953396112
1