>direct replacement in the target file acceptable
What do you mean by that?
Vladimir
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
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
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
>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
=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
>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
>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,
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
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
>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
Piotr,
Have you tried to use SqlToRelConverter to convert argument from SqlNode
format to the appropriate one?
Vladimir
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
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
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
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
>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
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
> 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
>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
>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
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”
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
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
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
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
+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
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
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).
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
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
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
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
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
+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
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
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
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:
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
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",
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
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
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
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
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
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
Vladimir Sitnikov created CALCITE-2563:
--
Summary: Suspicious code in
org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses#addEquivalenceClass
Key: CALCITE-2563
URL: https
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
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
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
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
>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
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
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
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
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
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
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
>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
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
>
> 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
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
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
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
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
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,
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
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
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
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
>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
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
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
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
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
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
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
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
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
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
>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
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:
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
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
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
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
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
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?
Vladimir Sitnikov created CALCITE-2504:
--
Summary: RexProgrammFuzzyTest: fuzzer for RexNodes
Key: CALCITE-2504
URL: https://issues.apache.org/jira/browse/CALCITE-2504
Project: Calcite
>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
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
>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
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
Vladimir Sitnikov created CALCITE-2502:
--
Summary: Silence warnings from RexImplicationChecker
Key: CALCITE-2502
URL: https://issues.apache.org/jira/browse/CALCITE-2502
Project: Calcite
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
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
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
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
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
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
601 - 700 of 780 matches
Mail list logo