Re: Avatica CI test failures

2018-11-21 Thread Vladimir Sitnikov
>direct replacement in the target file acceptable What do you mean by that? Vladimir

Re: Avatica CI test failures

2018-11-21 Thread Vladimir Sitnikov
Francis>I am not too familiar with maven and its plugins, but from my understanding Typical Maven convention is to place the "template" file to src/main/resources, then maven-resources-plugin would "filter" (==replace) properties in the file and place the result into target/classes/... For

Re: Avatica CI test failures

2018-11-20 Thread Vladimir Sitnikov
Francis, can you just generate the Dockerfile **during** the build? I guess you can generate the file with proper version, then "docker-check" would be obsolete. Am I missing something? Vladimir

Automatic validation for commit messages

2018-11-19 Thread Vladimir Sitnikov
I've updated the subject to match the actual content Francis>I feel that a git hook would probably still be the easiest and simplest Francis>way to get started 1) Just in case: I guess we need to confine automatic validation for "master" branch only (or alike). For instance, I tend to create

Re: calcite-avatica git commit: [CALCITE-2412] Add appveyor.yml to have tests on Windows against jdk1.8, jdk9, jdk10 Add Appveyor badge Add -DskipDockerCheck because of CALCITE-2385 and to make it syn

2018-11-19 Thread Vladimir Sitnikov
>I don’t think it’s possible to automate. Well, a rule of "first line should be separated by a blank line" seems to be automatable. The rule of "CALCITE-XXX should be in [...]" seems to be automatable. And so on. >I was a bit surprised that you, as a committer, had not already committed it

Re: calcite-avatica git commit: [CALCITE-2412] Add appveyor.yml to have tests on Windows against jdk1.8, jdk9, jdk10 Add Appveyor badge Add -DskipDockerCheck because of CALCITE-2385 and to make it syn

2018-11-19 Thread Vladimir Sitnikov
=calcite.git;a=commit;h=53e15af6c5e8e782b2edcd7f5bf4f5f32225d110 is in line with "standards". Should committers (e.g. "Vladimir Sitnikov") be placed to the commit headline (first line)? I thought we don't place committer names to the headline, however the Art of Calcite Commit Message is close to black magic to me. Vladimir

Re: does calcite support chinese?

2018-11-07 Thread Vladimir Sitnikov
>You need to prefix literals with ’N’, like this: N’привет' For the reference "Sql Server" silently converts characters to question marks, so the following yields T: select case when 'привет'='??' then 'T' else 'F' end Vladimir

Re: does calcite support chinese?

2018-11-07 Thread Vladimir Sitnikov
>The issue is not the encoding of our Java code. The issue is the encoding of the SQL we process. That SQL may or may not come from Java source files. I can't remember another database that allows just ISO-8859-1 in simple string literals. That makes it very surprising. For instance,

Re: does calcite support chinese?

2018-11-07 Thread Vladimir Sitnikov
I wonder if it makes sense to default to UTF-8 encoding in Calcite by default. There's relevant JEP: http://openjdk.java.net/jeps/8187041 Vladimir

Re: Pull requests to review

2018-11-06 Thread Vladimir Sitnikov
I don't mean to fire a Volcano rule. I mean to just reuse the code in a creative way for the purpose of SqlUserDefinedTableMacro.coerce Currently, SqlUserDefinedTableMacro.coerce knows certain hard-coded cases, however it would probably be better if the conversion could be just reused from

Re: Pull requests to review

2018-11-06 Thread Vladimir Sitnikov
>There is no explicit time zone here provided, only the implicit one based on There's connection-default time zone (see org.apache.calcite.DataContext.Variable#TIME_ZONE ) I think the way to go there is: 1) Convert SqlNod to Rex via SqlToRelConverter 2) Evaluate the Rex with something like

Re: Pull requests to review

2018-11-05 Thread Vladimir Sitnikov
Piotr, Have you tried to use SqlToRelConverter to convert argument from SqlNode format to the appropriate one? Vladimir

Re: Timestamp as a parameter of UDF

2018-10-25 Thread Vladimir Sitnikov
Then it might be a bug in org/apache/calcite/linq4j/tree/OptimizeShuttle.java:277 Have you tried to comment that branch out for test purposes? Vladimir

Re: Timestamp as a parameter of UDF

2018-10-25 Thread Vladimir Sitnikov
Piotr>I've got following exception and wondering whether I am missing something It sounds like a bug. Piotr>value 2013-01-0101:01:01 does not match type class java.sql.Timestamp Would you please set a breakpoint and/or just print the class of "value" at ConstantExpression.java:49 ? Vladimir

Re: [DISCUSS] reasonable duration for tests in the Calcite codebase

2018-10-24 Thread Vladimir Sitnikov
I'm inclined to do something with LatticeTest (== mark it as disabled or something like that) It fails too often, and the only thing it does it tests HSQL (or H2?) ability to perform join queries. It has nothing to do with Calcite. Current LatticeTests definitely harms Calcite development and it

Re: Exception-handling in built-in functions

2018-10-17 Thread Vladimir Sitnikov
Juilian>Hey, folks. We need your input here. Here are my thoughts: 1) I think the features we add should have at least some level of consistency 2) It is much safer to adopt well-known features rather than be pioneers in the field. I do not mean we must wait for someone else implement and try out

Re: RelTraitPropagationVisitor and useless code policy

2018-10-05 Thread Vladimir Sitnikov
>For instance: - always delete, then discuss :-) If one is confident, no discussions needed. The code can be just deleted provided there's proper commit message. Vladimir

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-10-03 Thread Vladimir Sitnikov
Zoltan>if I run the java compiler it cames back complaining that it doesn't know what the testkt is. In other words, Kotlin compiles *.kt files, and javac compiles *.java files. As for me it looks great. Zoltan>But still: are there any benefits that kotlin is added to the core module? Some of

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-10-03 Thread Vladimir Sitnikov
> mvn install -pl core -DskipTests -Dcheckstyle.skip org.jetbrains.kotlin:kotlin-maven-plugin:1.2.71:test-compile What do you mean by "install" here? "install" here builds the full project with all the plugins, and it includes regular javac stuff. Vladimir

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-10-03 Thread Vladimir Sitnikov
>I would like to note that this change have also altered that now all tests in the core module are now compiled by the kotlin compiler. What do you mean by that? >Right now it is not possible to compile the core module's tests without kotlin support Why do you want that? Even if Kotlin tests

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-29 Thread Vladimir Sitnikov
>In Apache votes are a formality, after consensus has been reached, so consensus is more important than votes The very first line of https://www.apache.org/foundation/voting.html reads Apache/voting> Because one of the fundamental aspects of accomplishing things within the Apache framework is

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-27 Thread Vladimir Sitnikov
Julian>Lazy consensus is not a vote https://www.apache.org/foundation/voting.html#votes-on-code-modification Apache/voting> Unless a *vote has been declared as using lazy consensus* , It implies that "vote can use lazy consensus". Julian>The dictionary definition of consensus is “unanimity”

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-27 Thread Vladimir Sitnikov
Julian>Consensus is a central concept in the Apache Way https://www.apache.org/foundation/voting.html suggests to use whole numbers when it comes to "code changes". "Vetos" section is quite clear that vetos must be withdrawn before code modification could be applied. That provides an

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-26 Thread Vladimir Sitnikov
Michael>if we're going to use the term "lazy consensus" we should agree on what it means Could you clarify what it means? Does that mean "absolutely no responses"? Does that mean "a single -0 comment destroys lazy consensus"? Does that mean "a single +0 comment destroys lazy consensus"? Does

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-25 Thread Vladimir Sitnikov
Apache/voting> A decision-making policy which assumes general consent if no responses are posted within a defined period. Does that mean "absolutely no responses"? I hope no. Does that mean "a single -0 comment destroys lazy consensus"? I hope no. Does that mean "a single +0 comment destroys lazy

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-25 Thread Vladimir Sitnikov
Julian>You said upfront you were going to use lazy consensus. I'm afraid I fail to understand what do you mean by consensus. It would probably help if you provided a definition of "consensus being reached" vs "consensus not being reached". We can't (and shouldn't) wait forever for some unknown

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-25 Thread Vladimir Sitnikov
+0.5 (binding) Laurent Goujon -0 (binding) Enrico Olivelli -0 Jacques Nadeau -0.9 (binding) Vladimir Sitnikov ++1 (binding) 6) I'm sure we don't really want to discuss this. I suggest we don't spend time on splitting hairs here. Apparently there's not that many people who care enough to spend time

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-24 Thread Vladimir Sitnikov
Thanks everybody for your comments. I've received no strong objections so far, so I assume lazy consensus. I've merged the PR in https://git-wip-us.apache.org/repos/asf?p=calcite.git;a=commit;h=55d86646fe598d215bd53dbeac2bbbf32a9506f9 Vladimir

Re: Help with EnumerableMergeJoinRule which is losing a RelCollection trait

2018-09-23 Thread Vladimir Sitnikov
Enrico, 1) EnumerableMergeJoinRule does not seem to work (see https://issues.apache.org/jira/browse/CALCITE-2592 ). It seems to be broken since Calcite 1.9.0 2) It turns out you need to add RelTraitDefs explicitly to the planner, otherwise it just ignores the traits (or something like that).

[jira] [Created] (CALCITE-2592) EnumerableMergeJoin is never taken

2018-09-23 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2592: -- Summary: EnumerableMergeJoin is never taken Key: CALCITE-2592 URL: https://issues.apache.org/jira/browse/CALCITE-2592 Project: Calcite Issue

[jira] [Created] (CALCITE-2590) Remove redundant CAST when operand has exactly the same type as it is casted to

2018-09-23 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2590: -- Summary: Remove redundant CAST when operand has exactly the same type as it is casted to Key: CALCITE-2590 URL: https://issues.apache.org/jira/browse/CALCITE-2590

[jira] [Created] (CALCITE-2589) VolcanoPlanner#fireRules and VolcanoRuleCall#matchRecurse should ignore known-to-be-unimportant relations

2018-09-23 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2589: -- Summary: VolcanoPlanner#fireRules and VolcanoRuleCall#matchRecurse should ignore known-to-be-unimportant relations Key: CALCITE-2589 URL: https://issues.apache.org

[jira] [Created] (CALCITE-2586) RexSimplify: case with repeated branches results in assertion error

2018-09-21 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2586: -- Summary: RexSimplify: case with repeated branches results in assertion error Key: CALCITE-2586 URL: https://issues.apache.org/jira/browse/CALCITE-2586

Re: [DISCUSS] Problem with 'assert' ignored in production, leading to inconsistent query results

2018-09-21 Thread Vladimir Sitnikov
Julian>We can't afford to check assumptions in performance-critical code. We definitely can afford checks that take a couple of CPU cycles to perform. Vladimir

Re: [DISCUSS] Problem with 'assert' ignored in production, leading to inconsistent query results

2018-09-21 Thread Vladimir Sitnikov
+1 for converting that assert to exception with the relevant text. https://issues.apache.org/jira/browse/CALCITE-1890 would probably help there to identify the relation in question (Enumerable.toString can be added to exception message). On the other hand, I don't think we should enable

[jira] [Created] (CALCITE-2580) RexSimplify: coalesce(null > null, true) produces wrong result in unknownAsFalse mode

2018-09-20 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2580: -- Summary: RexSimplify: coalesce(null > null, true) produces wrong result in unknownAsFalse mode Key: CALCITE-2580 URL: https://issues.apache.org/jira/browse/CALC

[jira] [Created] (CALCITE-2573) RexSimplify: simplify NULL to FALSE in uknownAsFalse mode

2018-09-19 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2573: -- Summary: RexSimplify: simplify NULL to FALSE in uknownAsFalse mode Key: CALCITE-2573 URL: https://issues.apache.org/jira/browse/CALCITE-2573 Project

[CALCITE-2518] Javadoc warnings and build failure

2018-09-19 Thread Vladimir Sitnikov
Hi, I would like to fail the build on Javadoc warnings (e.g. broken link, invalid html tag, etc). Current code has lots of warnings on missing @param and @return, and it would take a while to invent meaningful comments there, so I assume we would like to ignore missing-* warnings. Issue:

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-19 Thread Vladimir Sitnikov
Julian>You are accusing Enrico of being a hypocrite. Ad hominem attacks have no place on this list. I apologize if <> reads as accusing. The only reasoning Enrico provided was 1) "widespread or not" issue. This really surprised me, and I noted that QUIDEM is way less widespread. 2) "if you what

***UNCHECKED*** Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-19 Thread Vladimir Sitnikov
Enrico>I don't know if Kotlin is enough widespread to say that it won't be a Enrico>problem for new contributors. Enrico>I sponsor the idea of having domain specific test languages like QUIDEM Enrico>which make it simpler It is truly wonderful how you question "if Kotlin is widespread or not",

Re: Calcite fuzz testing

2018-09-19 Thread Vladimir Sitnikov
Michael>Looks good to me! Should we maybe create a JIRA that we can point to for Michael>those interested in fixing some bugs? Frankly speaking I have no idea how that should work. The identified expressions are new every time, so do you mean we should have "ever-opened JIRA issue that suggests

Re: CALCITE-2458 Use of Kotlin for unit tests

2018-09-18 Thread Vladimir Sitnikov
Julian>I'd like to hear from Calcite contributors - would you be prepared Julian>to take the time to learn Kotlin? We do not force everybody to write tests in Kotlin. However, writing tests in Kotlin might be a fun way of studying both Kotlin and Calcite which might be a great option for

CALCITE-2458 Use of Kotlin for unit tests

2018-09-17 Thread Vladimir Sitnikov
Hi, I think it time for us to enable use of Kotlin in unit tests. There are lots of language features (e.g. name parameters, data classes, multiline strings, infix functions, nullability, smart casts, etc) that would make code simpler to read and write. Note: the change is related to use of

[jira] [Created] (CALCITE-2566) Certain rules might cause class initialization deadlock due to sub-class referenced in

2018-09-16 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2566: -- Summary: Certain rules might cause class initialization deadlock due to sub-class referenced in Key: CALCITE-2566 URL: https://issues.apache.org/jira/browse/CALCITE

[jira] [Created] (CALCITE-2565) Suspicious code in org.apache.calcite.rex.RexBuilder#makeCastIntervalToExact

2018-09-16 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2565: -- Summary: Suspicious code in org.apache.calcite.rex.RexBuilder#makeCastIntervalToExact Key: CALCITE-2565 URL: https://issues.apache.org/jira/browse/CALCITE-2565

[jira] [Created] (CALCITE-2564) Suspicious code in org.apache.calcite.adapter.elasticsearch.ElasticsearchFilter#implement

2018-09-16 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2564: -- Summary: Suspicious code in org.apache.calcite.adapter.elasticsearch.ElasticsearchFilter#implement Key: CALCITE-2564 URL: https://issues.apache.org/jira/browse

[jira] [Created] (CALCITE-2563) Suspicious code in org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses#addEquivalenceClass

2018-09-16 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2563: -- Summary: Suspicious code in org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses#addEquivalenceClass Key: CALCITE-2563 URL: https

[jira] [Created] (CALCITE-2562) Suspicious code in org.apache.calcite.sql2rel.StandardConvertletTable#convertDatetimeMinus

2018-09-16 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2562: -- Summary: Suspicious code in org.apache.calcite.sql2rel.StandardConvertletTable#convertDatetimeMinus Key: CALCITE-2562 URL: https://issues.apache.org/jira/browse

[jira] [Created] (CALCITE-2561) Suspicious code in org.apache.calcite.materialize.Lattice constructor

2018-09-16 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2561: -- Summary: Suspicious code in org.apache.calcite.materialize.Lattice constructor Key: CALCITE-2561 URL: https://issues.apache.org/jira/browse/CALCITE-2561

[jira] [Created] (CALCITE-2560) ChainedSqlOperatorTable#add does not work

2018-09-16 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2560: -- Summary: ChainedSqlOperatorTable#add does not work Key: CALCITE-2560 URL: https://issues.apache.org/jira/browse/CALCITE-2560 Project: Calcite

[jira] [Created] (CALCITE-2559) Upgrade Checkstyle to 7.8.2

2018-09-16 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2559: -- Summary: Upgrade Checkstyle to 7.8.2 Key: CALCITE-2559 URL: https://issues.apache.org/jira/browse/CALCITE-2559 Project: Calcite Issue Type: Bug

Re: Avoid re-generate Parser.jj on each build if the parser was not modified

2018-09-15 Thread Vladimir Sitnikov
>Can you nag the Drill folks to contribute their changes back, if their plugin is a fork? Original plugin is not maintained. It was hosted on GoogleCode which was closed, and I couldn't find a continuation. Vladimir

Avoid re-generate Parser.jj on each build if the parser was not modified

2018-09-15 Thread Vladimir Sitnikov
Hi, I'm sure lots of us have seen during Maven build even though the sources were not changed: Compiling 1155 source files to .../code/calcite/core/target/classes The issue there is FMPP generates Parser.jj no matter what, and it causes JavaCC to re-generate parser which causes

[jira] [Created] (CALCITE-2558) Improve re-compilation times by skipping parser.java update on each build

2018-09-15 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2558: -- Summary: Improve re-compilation times by skipping parser.java update on each build Key: CALCITE-2558 URL: https://issues.apache.org/jira/browse/CALCITE-2558

Re: [VOTE] [CALCITE-490] Remove "End File.java" comments from the end of files

2018-09-13 Thread Vladimir Sitnikov
Josh>-0 I don't see this as a burden as you do, but don't feel strongly Here you go, sir: https://github.com/apache/calcite/pull/830/commits/73452b9d89f1677d1dcbe0d7d1c642bc9082b828#diff-977410f84ab14e4d3890bd28f221ed8dR359 I've no idea how come I named the class with "Programm" inside, however

[jira] [Created] (CALCITE-2556) RexSimplify: not(trueLiteral) could be simplified to false

2018-09-13 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2556: -- Summary: RexSimplify: not(trueLiteral) could be simplified to false Key: CALCITE-2556 URL: https://issues.apache.org/jira/browse/CALCITE-2556 Project

[jira] [Created] (CALCITE-2555) RexSimplify: >=(true, null) could be simplified to null

2018-09-13 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2555: -- Summary: RexSimplify: >=(true, null) could be simplified to null Key: CALCITE-2555 URL: https://issues.apache.org/jira/browse/CALCITE-2555 Proj

Re: Calcite fuzz testing

2018-09-12 Thread Vladimir Sitnikov
Let the fuzzing begin: https://github.com/apache/calcite/pull/830 I have not added it to the CalciteSuite since otherwise it would fail each and every build. On the other hand, it might be a good source of inspiration for newbie contributions. RexProgrammFuzzyTest#testFuzzy produces lots of

Re: Calcite fuzz testing

2018-09-12 Thread Vladimir Sitnikov
>My only concern is that may betoo short and unlikely to find any bugs Remember: each time it starts from a random point. Apache Jenkins / Calcite-Master has 800+ builds now. Travis / Calcite has 2300+ builds now. Just to clarify: current Travis configuration is 4 jobs (Java 8, 9, 10, 11) They

Re: Calcite fuzz testing

2018-09-12 Thread Vladimir Sitnikov
Michael>I wouldn't expect this to execute as part of the normal test suite Note: we can include limited fuzzing in the regular test suite. For instance: a single Travis job that performs fuzz-only tests for a couple of minutes. That would not increase test duration, however it could eventually

Re: [DISCUSS] reasonable duration for tests in the Calcite codebase

2018-09-10 Thread Vladimir Sitnikov
> > Andrew>My biggest pain point when working with calcite is the size of the > core Andrew>project. Individual tests are mostly fast, but just building core > takes 100 > Andrew>seconds. It would also be easier to run just the relevant tests if > there > Andrew> were several smaller maven

Re: Calcite Jenkins fails due to spaces in folder names

2018-09-10 Thread Vladimir Sitnikov
Michael>Excellent :) Would be great to have CI running on Windows. Thanks Vladimir! https://ci.appveyor.com/project/ApacheSoftwareFoundation/calcite/build/2 It works, and it even uses C:\projects\calcite +\ folder (with space and plus!) I'm going to merge appveyor.yml from

Re: Calcite Jenkins fails due to spaces in folder names

2018-09-10 Thread Vladimir Sitnikov
Thanks for the review. Michael> I'm not able to actually test on WIndows right now. I have raised https://issues.apache.org/jira/browse/INFRA-16999 to enable Appveyor integration. Hopefully we could get some level of Windows coverage that way. Vladimir

Re: Calcite fuzz testing

2018-09-10 Thread Vladimir Sitnikov
Michael>Tests are running quite slowly, but I left it overnight and haven't found any crashes There's https://github.com/anse1/sqlsmith which is supposed to be used against PostgreSQL. However, we could configure Calcite to be a proxy to the PostgreSQL, so sqlsmith would use Calcite as if it was

Re: [DISCUSS] reasonable duration for tests in the Calcite codebase

2018-09-10 Thread Vladimir Sitnikov
Michael>just because a test is slow of course doesn't mean it's not useful Does "slow test" impact your development experience in a bad way? Does "slow test" impact contributor's experience in a bad way? Do things like "MaterializationTest 160sec" and "LatticeTest 212sec" make

[VOTE] [CALCITE-490] Remove "End File.java" comments from the end of files

2018-09-10 Thread Vladimir Sitnikov
Hi, Could we have a vote on coding style regarding "// End File.java" in Calcite source files? "//End..." comments clutter Git history, they consume screen space, and they slow down the development by causing Checkstyle violations. Could we vote on the style regarding "//End File.java" [ ] +1,

[DISCUSS] reasonable duration for tests in the Calcite codebase

2018-09-10 Thread Vladimir Sitnikov
Hi all, I wonder what is a maximum duration for newly added test case that will still be "reasonable". I mean a test case that is executed in Travis to validate pull requests, and a test case that is executed as a part of regular `mvn test` / `mvn install`. Could you please pick maximum test

Re: Commit 88f125541, "Reduce HepPlannerTest#testRuleApplyCount complexity"

2018-09-09 Thread Vladimir Sitnikov
Julian>You seem to believe that the only purpose of a test is to test the specific bug or change for which it was introduced I'm afraid you seem to put words in my mouth. Note: so far I have technical reasons to keep the test with reduced number of lines while you don't. Note2: original test

Re: Commit 88f125541, "Reduce HepPlannerTest#testRuleApplyCount complexity"

2018-09-09 Thread Vladimir Sitnikov
Julian>I strongly disagree with your commit 88f125541. You have removed test code that is useful in creating a high-quality product. Could you please provide technical justification? Note: the test is still there. Note2: the test still runs in both Travis and Apache Jenkins. The test still runs

Re: Removing o.a.c.u.Compatible and o.a.c.u.CompatibleGuava11

2018-09-09 Thread Vladimir Sitnikov
Kevin>I think that means that both Compatible and CompatibleGuava11 can be removed since they should no longer be used. Could we keep the files as a monument to Guava's version policy? Vladimir

Re: calcite git commit: Reduce HepPlannerTest#testRuleApplyCount complexity

2018-09-06 Thread Vladimir Sitnikov
>CPU time is cheap. Developer time is expensive That is why known to be slow tests must not be executed in the default test suite. Vladimir

Re: calcite git commit: Reduce HepPlannerTest#testRuleApplyCount complexity

2018-09-06 Thread Vladimir Sitnikov
Julian>Dammit, Vladimir. Stop removing tests!! The test is there, and it still verifies that DEPTH_FIRST approach is better. I did not remove the test. Julian>You seem to have a personal agenda to make the test suite run in under a minute The agenda is to reduce test suite execution while still

[jira] [Created] (CALCITE-2527) Simplify OR with comparisons leads to AssertionError: result mismatch

2018-09-04 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2527: -- Summary: Simplify OR with comparisons leads to AssertionError: result mismatch Key: CALCITE-2527 URL: https://issues.apache.org/jira/browse/CALCITE-2527

[jira] [Created] (CALCITE-2526) Simplify OR with comparisons leads to NPE

2018-09-04 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2526: -- Summary: Simplify OR with comparisons leads to NPE Key: CALCITE-2526 URL: https://issues.apache.org/jira/browse/CALCITE-2526 Project: Calcite

[jira] [Created] (CALCITE-2524) JavaCC updates SqlParserImpl*.java files, and it causes long compilations

2018-08-31 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2524: -- Summary: JavaCC updates SqlParserImpl*.java files, and it causes long compilations Key: CALCITE-2524 URL: https://issues.apache.org/jira/browse/CALCITE-2524

[jira] [Created] (CALCITE-2523) PartiallyOrderedSetTest#testPosetBitsLarge takes ~80 seconds at Travis

2018-08-31 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2523: -- Summary: PartiallyOrderedSetTest#testPosetBitsLarge takes ~80 seconds at Travis Key: CALCITE-2523 URL: https://issues.apache.org/jira/browse/CALCITE-2523

[jira] [Created] (CALCITE-2522) CalciteAssert#returns calls e.printStackTrace() for no apparent reason

2018-08-31 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2522: -- Summary: CalciteAssert#returns calls e.printStackTrace() for no apparent reason Key: CALCITE-2522 URL: https://issues.apache.org/jira/browse/CALCITE-2522

[jira] [Created] (CALCITE-2521) RelMetadataTest#testMetadataHandlerCacheLimit takes 8-20 seconds and it looks useless

2018-08-31 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2521: -- Summary: RelMetadataTest#testMetadataHandlerCacheLimit takes 8-20 seconds and it looks useless Key: CALCITE-2521 URL: https://issues.apache.org/jira/browse/CALCITE

[jira] [Created] (CALCITE-2520) SparkHandlerImpl#compile prints source code to the System.out unconditionally

2018-08-31 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2520: -- Summary: SparkHandlerImpl#compile prints source code to the System.out unconditionally Key: CALCITE-2520 URL: https://issues.apache.org/jira/browse/CALCITE-2520

Re: Test class and package name conventions

2018-08-31 Thread Vladimir Sitnikov
Julian>Add the test class to the annotation in CalciteSuite.java Just wondering: what is the purpose of CalciteSuite at all? It happens that a new test is not added to CalciteSuite, and it is invisible to CI. The test does not get executed, and everybody just assumes the test is fine. Could we

Re: Calcite-Master Jenkins is cluttered with download progress

2018-08-31 Thread Vladimir Sitnikov
>FWIW, as long as you have an account on builds.a.o, you can edit the I've account there, and I do not see "edit" button. I have "build now", but not edit for some reason. Vladimir

Calcite-Master Jenkins is cluttered with download progress

2018-08-31 Thread Vladimir Sitnikov
Hi, Jenkins build logs are cluttered with Maven download progress indicators. Could anybody be so kind to add -B (or --batch-mode) option to Maven execution of Calcite-Master job? Relevant build: https://builds.apache.org/job/Calcite-Master/804/ Calcite-Promotion seems to be fine:

[jira] [Created] (CALCITE-2519) Silence ERROR logs from CalciteException, SqlValidatorException during tests

2018-08-31 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2519: -- Summary: Silence ERROR logs from CalciteException, SqlValidatorException during tests Key: CALCITE-2519 URL: https://issues.apache.org/jira/browse/CALCITE-2519

[jira] [Created] (CALCITE-2518) Add failOnWarnings to maven-javadoc-plugin configuration

2018-08-31 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2518: -- Summary: Add failOnWarnings to maven-javadoc-plugin configuration Key: CALCITE-2518 URL: https://issues.apache.org/jira/browse/CALCITE-2518 Project

Re: CALCITE-2463 Silence ERROR logs from CalciteException, SqlValidatorException

2018-08-31 Thread Vladimir Sitnikov
It removes the lines from the output, and it provides two ways to enable it: 1) Configure trace level for the relevant categories. It logs exceptions with stack traces. That possibility was always there. 2) -Dcalcite.debug=true would result in messages printed to the log (this is new) If

[jira] [Created] (CALCITE-2506) RexSimplify: coalesce(unaryPlus(nullInt), unaryPlus(vInt())) results in AssertionError: result mismatch

2018-08-29 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2506: -- Summary: RexSimplify: coalesce(unaryPlus(nullInt), unaryPlus(vInt())) results in AssertionError: result mismatch Key: CALCITE-2506 URL: https://issues.apache.org/jira

[jira] [Created] (CALCITE-2505) RexSimplify: isFalse(isNotDistinctFrom(vBool(0), vBool(1))) causes AssertionError: wrong operand count 1 for IS DISTINCT FROM

2018-08-29 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2505: -- Summary: RexSimplify: isFalse(isNotDistinctFrom(vBool(0), vBool(1))) causes AssertionError: wrong operand count 1 for IS DISTINCT FROM Key: CALCITE-2505 URL: https

Re: CALCITE-2463 Silence ERROR logs from CalciteException, SqlValidatorException

2018-08-29 Thread Vladimir Sitnikov
Julian>I think we should just solve problem 1 for now. Does that mean you agree to merge the PR? Julian>For 2, if we continue to write "No match found for function signature ABCDE(, , )” to the log it’s not perfect but it’s better than nothing. Why do you think this is the only logged message?

[jira] [Created] (CALCITE-2504) RexProgrammFuzzyTest: fuzzer for RexNodes

2018-08-29 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2504: -- Summary: RexProgrammFuzzyTest: fuzzer for RexNodes Key: CALCITE-2504 URL: https://issues.apache.org/jira/browse/CALCITE-2504 Project: Calcite

Re: joins and low selectivity optimization

2018-08-29 Thread Vladimir Sitnikov
>Nested loops are never likely to happe What's wrong with that? Apparently Andrei asks for that, and "subquery precomputation" is quite close to nested loops in my opinion. Vladimir

Re: joins and low selectivity optimization

2018-08-29 Thread Vladimir Sitnikov
One of the approaches to such queries is to throw Bloom filters all over the place. That is it could execute "small side" of the join, collect the ids (or a lossy version of it in a form of Bloom filters), and it could propagate that Bloom filter to the second source to reduce the set of rows

Re: CALCITE-2463 Silence ERROR logs from CalciteException, SqlValidatorException

2018-08-29 Thread Vladimir Sitnikov
>A sql validation error when a statement is being prepared (say by a jdbc server) is really an error, and I think it should be logged. Suppose there's an end-to-end data management system that happens to use Calcite. What action should system administrator take when the following error is

Re: Calcite contributions

2018-08-29 Thread Vladimir Sitnikov
Julian>If you had just said “Hey Zoltan, I think I’ve come up with a better fix than your PR; do you mind if I commit it?” then Zoltan would have said “Sure”. While I agree with general points (tough I bet it is impossible to set "code of conduct" that makes everybody is happy), however reality

[jira] [Created] (CALCITE-2502) Silence warnings from RexImplicationChecker

2018-08-29 Thread Vladimir Sitnikov (JIRA)
Vladimir Sitnikov created CALCITE-2502: -- Summary: Silence warnings from RexImplicationChecker Key: CALCITE-2502 URL: https://issues.apache.org/jira/browse/CALCITE-2502 Project: Calcite

CALCITE-2463 Silence ERROR logs from CalciteException, SqlValidatorException

2018-08-29 Thread Vladimir Sitnikov
Hi, I would like to hear if there are reasons not to merge CALCITE-2463/PR797 It is a trivial change, the build is green, and I see no comments (==> that sounds like an approval). The issue is CalciteException and SqlValidatorException always log, and it clutters build logs for no reason. The

Re: Giving the Calcite logo some love

2018-08-28 Thread Vladimir Sitnikov
Stamatis>How about something like the following: There's left-to-right vs right-to-left issue, however I would claim that the direction of improvement is right+up. For instance: BTC price is good when plots go to the right and go upward. https://svgur.com/s/83y is slanted backward. That creates

Re: Calcite contributions

2018-08-28 Thread Vladimir Sitnikov
Michael>One of the other side effects in this case Michael>seems to be (without having examined the technical merit of either Michael>solution) that the fix which was ultimately committed still didn't solve Michael>the original issue. I'm afraid you did are wrong here. My first commit implemented

Re: Calcite contributions

2018-08-28 Thread Vladimir Sitnikov
Michael>I still think Michael>this should be communicated to the original contributor along with a link Michael>to the fix. This at least gives the person an opportunity to learn. I have linked the original PR and the fix, and it did help Zoltan to note an alternative implementation. Julian>Your

Re: Giving the Calcite logo some love

2018-08-28 Thread Vladimir Sitnikov
Stamatis>From the discussion so far, I came also with a few quick drafts How about making text separate from the shape? E.g. shape on the left, text on the right. Michael>without the drop shadow on the text +1 Vladimir

Calcite Jenkins fails due to spaces in folder names

2018-08-28 Thread Vladimir Sitnikov
Hi, Jenkins jobs fail due to %20 in the file path. CI failure holds -SNAPSHOT releases from being published. The good news is it looks like there's a solution. https://stackoverflow.com/a/17870390/1261287 suggests Paths.get (uri).toFile(), however that fails for "file:test.txt" kind of URLs

<    2   3   4   5   6   7   8   >