I get how frustrating it must be for bugs to happen in tests but not from sqlline.
Regarding example/csv/sqlline. I had forgotten that we have two copies of sqlline (and sqlline.bat). They arrived when we imported a different project, optiq-csv. Do the extra copies serve any useful purpose? If not, rather than make example/csv/sqlline diverge even further from sqlline, can we just delete it? As a developer, would it be OK to invoke sqlline with the command-line ‘./sqlline -ea’ or ‘./sqlline --jvmArgs=-ea'? Those options don’t currently work, but it wouldn’t be difficult to make them work. Julian [1] https://github.com/apache/calcite/commit/686c0ddd615fcd17211175952873a949d9249f43 > On Oct 27, 2023, at 9:06 AM, Ran Tao <chucheng...@gmail.com> wrote: > > hi, community > > Currently I have encountered a case where when I run a certain query in csv > sqlline, it runs correctly, but it fails in the IDE. The location of > failure is a certain assertion. The reason is that running tests in the IDE > will turn on -ea to activate assert by default, but sqlline will not be > turned on by default[1]. Therefore, some code behaviors are inconsistent on > both sides. > > Frankly I know that asserts are useful in the testing and development > process and are typically omitted for production code. > > Therefore, I only recommend opening '-ea' for sqlline by default under > example/csv, so that inconsistent behavior will not occur during the dev > process and when executing tests on the IDE. > > what do you think? > > [1] https://github.com/apache/calcite/blob/main/example/csv/sqlline#L43 > > > Best Regards, > Ran Tao > https://github.com/chucheng92