Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge changes from AWS repository (#92)
* [AD-231] Update build for version 0.3 beta https://bitquill.atlassian.net/browse/AD-231 * AD-204 Fixed comparisons against NULL/undefined (#5) ### Summary AD-204 Fixed comparisons against NULL/undefined ### Description Comparison operators (<, >, !=) now return null in expressions where a field is compared to null. Fixes three types of queries: 1. Queries with multiple conditions on a single field eg. `SELECT * FROM table WHERE field <> 3 AND field <> 5` 2. Queries did not remove null values in not-equals filters. For example in the above query a row containing `field:null` would be included in the result set. 3. Queries involving CASE would incorrectly consider some comparisons to null to be true/false, instead of unknown. eg. `SELECT CASE WHEN field < 2 THEN 'A' ELSE 'B' END FROM table` would result in 'A' if `field==null` instead of 'B'. The same is true if the field does not exist at all in the document. ### Related Issue https://bitquill.atlassian.net/browse/AD-204 * Minot enhancements in the documentation * Commit Code Coverage Badge * [AD-231] Update build for version 1.0.0-beta.3 https://bitquill.atlassian.net/browse/AD-231 * [AD-192] Integrate existing aws repository content with our develop branch (#1) ### Summary Integrate existing aws repository content with our develop branch. ### Description - Integrates changes from the initial commit of the aws repository to our develop branch (adds a contributing readme, code of conduct readme, a notice file and a license file) - There was already an Apache license file so added our header license file as a separate file in license-header.txt. - Removed task and github action steps related to sonarqube. ### Related Issue https://bitquill.atlassian.net/browse/AD-190 * Added link to GitHub Releases * not - [user] * [AD-195] Implement CLI for the metadata persistence - Part 2 (#4) ### Summary [AD-195](https://bitquill.atlassian.net/browse/AD-195) Implement CLI for the metadata persistence - Part 2 ### Description Add support for: 1. `-l` "list" - lists persisted schema 1. `-b` "list tables" - lists persisted table schemas 1. `-e` "export" - exports one or more table schema to JSON. 1. `-i` "import" - import table schema and update persisted schema. 1. `-o` "output-file" - outputs exported table schema to a file, instead of standard out. 1. Updated documentation. ### Related Issue https://bitquill.atlassian.net/browse/AD-195 * [AD-236] Make use of sessions conditional on supported versions. (#8) ### Summary [AD-236] Make use of sessions conditional on supported versions. ### Description Do not use sessions if version is not 4.0 or greater. ### Related Issue https://bitquill.atlassian.net/browse/AD-236 * [AD-189] Load work-around JAR files from branch in Janino forked repository. (#3) ### Summary [AD-189] Load work-around JAR files from branch in Janino forked repository. ### Description Reference work-around JAR file from forked Janino project where the source is set for the work-around and the JAR files are produced against that source. ### Related Issue https://bitquill.atlassian.net/browse/AD-189 * Added script to automatically generate taco file. * Commit Code Coverage Badge * [AD-237] Document Schema JSON format (#10) ### Summary [AD-237](https://bitquill.atlassian.net/browse/AD-237) Document Schema JSON format ### Description - Document table schema in JSON format and how make modifications to flatten a virtual table. ### Related Issue https://bitquill.atlassian.net/browse/AD-237 * [AD-203] Fix where clause (#7) * AD-204 Fixed comparisons against NULL/undefined (#89) * AD-215 Fixed comparisons for CASE * AD-204 Fix for multi-field conditions * Commit Code Coverage Badge * Commit Code Coverage Badge * AD-204 Added test in query mapping service * Commit Code Coverage Badge * AD-204 Added check for cast, removed list copying * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> * AD-203 Initial commit with unit tests * AD-203 Used RexToMongoTranslator * AD-203 Added fix for quotes, and Long parsing, also fixed unit tests * AD-203 Added test for nested OR in WHERE clause * AD-203 Changed $literal to $numberLong * AD-203 Format and fixed comment * Commit Code Coverage Badge * AD-203 Removed $literal * Commit Code Coverage Badge * AD-203 Added note on $literal, fixed some types * Commit Code Coverage Badge * AD-203 Changed to use placeholder constant, added DECIMAL to types * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> * [AD-240] Allow "latest or none" option so we don't always generate a schema (#12) ### Summary [AD-240](https://bitquill.atlassian.net/browse/AD-240) Allow "latest or none" option so we don't always generate a schema. ### Description Add option to get latest or none - so we don' always generate a new schema. ### Related Issue https://bitquill.atlassian.net/browse/AD-240 * [AD-223] Sql Functions Foundation (#9) * AD-204 Fixed comparisons against NULL/undefined (#89) * AD-215 Fixed comparisons for CASE * AD-204 Fix for multi-field conditions * Commit Code Coverage Badge * Commit Code Coverage Badge * AD-204 Added test in query mapping service * Commit Code Coverage Badge * AD-204 Added check for cast, removed list copying * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> * AD-203 Initial commit with unit tests * AD-203 Used RexToMongoTranslator * AD-203 Added fix for quotes, and Long parsing, also fixed unit tests * WIP - added dateadd and some datepart functions * Add more tests * AD-203 Added test for nested OR in WHERE clause * AD-203 Changed $literal to $numberLong * AD-203 Format and fixed comment * Commit Code Coverage Badge * [AD-223] Update taco file * Commit Code Coverage Badge * AD-203 Removed $literal * Commit Code Coverage Badge * Resolve conflicts with AD-203 + add unit tests * Commit Code Coverage Badge * AD-203 Added note on $literal, fixed some types * Commit Code Coverage Badge * Merge cganges from [AD-203] * Commit Code Coverage Badge * Merge changes from develop * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <76969722+mitchell-elholm@users.noreply.github.com> Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> Co-authored-by: andiem-bq <andiem-bq@users.noreply.github.com> * Commit Code Coverage Badge * AD-257 refactor DocumentDbStatementTest (#14) * AD-257 refactor DocumentDbStatementTest * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> * AD-220 Add missing tests (#13) * AD-220 Initial commit, added tests for IN, NOT IN, CAST, OFFSET, NATURAL JOIN, CROSS JOIN * AD-220 Re-worked cast tests, refactored DocumentDbStatementTest * Spotbugs * Commit Code Coverage Badge * AD-220 Added refactor from Develop * Commit Code Coverage Badge * AD-220 Added documentation * Commit Code Coverage Badge * AD-220 Documentation space * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> * [AD-193] Documentation and Demo for metadata persistence with DocumentDB (#15) ### Summary [AD-193](https://bitquill.atlassian.net/browse/AD-193) Documentation and Demo for metadata persistence with DocumentDB ### Description - Fixes an issue with importing schema for a new (previously non-existent) schema. - Fixes some small documentation issues. ### Related Issue https://bitquill.atlassian.net/browse/AD-193 * AD-241 Error when querying >20000 rows (#17) * AD-241 Added client to result set * Commit Code Coverage Badge * AD-241 Added unit test, fixed get/setFetchSize * AD-241 Checkstyle * Removed mock overrides * Fixed test class * Fixed Statement test * Commit Code Coverage Badge * Adjusted batch/fetchSize * Checkstyle * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> * [AD-214] Query cancellation (#16) * WIP - initial commit * [AD-214] Implement query cancellation for statement and prepared statement * Remove duplicate calls to verifyOpen() * Commit Code Coverage Badge * Fix spacing in build.gradle * Commit Code Coverage Badge * Code review improvements * Commit Code Coverage Badge * Resolve merge conflicts from develop * Commit Code Coverage Badge Co-authored-by: andiem-bq <andiem-bq@users.noreply.github.com> * [AD-261] Update version to v1.0.0-beta.4 (#18) * [AD-261] Update version to v1.0.0-beta.4 * Commit Code Coverage Badge Co-authored-by: andiem-bq <andiem-bq@users.noreply.github.com> * [AD-261] Update Tableau Connector name (#19) * [AD-261] Update version to v1.0.0-beta.4 * [AD-261] Update names and links in taco file * Commit Code Coverage Badge Co-authored-by: andiem-bq <andiem-bq@users.noreply.github.com> * [AD-226] Add additional extract tests (#20) * Add additional tests for datepart functions * Add ':' in needsQuote check * Add tests for case * Add test descriptions * Commit Code Coverage Badge Co-authored-by: andiem-bq <andiem-bq@users.noreply.github.com> * Commit Code Coverage Badge * [AD-227] Added support for CURRENT_TIMESTAMP, CURRENT_DATE, QUARTER, DAYNAME, and MONTHNAME. (#21) ### Summary [AD-227] Added support for CURRENT_TIMESTAMP, CURRENT_DATE, QUARTER, DAYNAME, and MONTHNAME. ### Description - CURRENT_TIMESTAMP/NOW, - CURRENT_DATE/TODAY, - QUARTER, - DAYNAME, and - MONTHNAME. - Date/Datetime operators `+` and `-` (in Tableau) - Small improvement in handling BsonTimestamp conversions. ### Related Issue https://bitquill.atlassian.net/browse/AD-227 * [AD-227] Added support for CURRENT_TIMESTAMP, CURRENT_DATE, QUARTER, DAYNAME, MONTHNAME. https://bitquill.atlassian.net/browse/AD-227 * Commit Code Coverage Badge * [AD-227] Correct failing test. https://bitquill.atlassian.net/browse/AD-227 * [AD-227] Improvements from review. https://bitquill.atlassian.net/browse/AD-227 * Commit Code Coverage Badge * [AD-227] Update datediff in dialect.tdd * Commit Code Coverage Badge * [AD-227] Add dialect entry for datetime - datetime * Commit Code Coverage Badge * [AD-227] Add support for NULL as parameter to DAYNAME, MONTHNAME, and QUARTER. https://bitquill.atlassian.net/browse/AD-227 * Commit Code Coverage Badge * [AD-227] Refactored MONTHNAME, DAYNAME and QUARTER to use String.format() to create Mongo aggregate commands. https://bitquill.atlassian.net/browse/AD-227 * Commit Code Coverage Badge Co-authored-by: birschick-bq <birschick-bq@users.noreply.github.com> Co-authored-by: Andie Montoya <andiem@bitquilltech.com> Co-authored-by: andiem-bq <andiem-bq@users.noreply.github.com> * AD-194 Added fix for Tableau Issue (#22) * AD-194 Added fix for Tableau Issue * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> * [AD-268] Handle case when sub-document (virtual table) contains '_id' as field. (#24) ### Summary [AD-268] Handle case when sub-document (virtual table) contains '_id' as field. ### Description Now correctly sending the `collectionName` instead of `path`. ### Related Issue https://bitquill.atlassian.net/browse/AD-268 * [AD-268] Handle case when sub-document (virtual table) contains '_id' as field. https://bitquill.atlassian.net/browse/AD-268 * Commit Code Coverage Badge Co-authored-by: birschick-bq <birschick-bq@users.noreply.github.com> * AD-251 Added support for IS [NOT] NULL (#23) * AD-251 Added support for IS [NOT] NULL * Removed unused import * Checkstyle * Commit Code Coverage Badge * AD-251 Added mapping test, simplified null handler * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> * [AD-269] Handle case when first array is empty followed by non-empty array of object. (#25) ### Summary [AD-269] Handle case when first array is empty followed by non-empty array of object. ### Description Handle the case when a field is first encountered as an empty array, followed by a non-empty array of object. ### Related Issue https://bitquill.atlassian.net/browse/AD-269 * [AD-269] Handle case when first array is empty followed by non-empty array of object. https://bitquill.atlassian.net/browse/AD-269 * Commit Code Coverage Badge Co-authored-by: birschick-bq <birschick-bq@users.noreply.github.com> * [AD-262] Additional tests for CASE (#26) * [AD-262] Add additional tests for CASE * [AD-262] Add additional tests for CASE * [AD-262] Add additional tests for CASE * Remove extra space * Remove extra space * Commit Code Coverage Badge * Add separate test for CASE with NOT + add setting to treat string literals of different lengths as varchar * Commit Code Coverage Badge Co-authored-by: andiem-bq <andiem-bq@users.noreply.github.com> * [AD-274] Fix handling of checking for missing database name in connection string. (#29) ### Summary [AD-274] Fix handling of checking for missing database name in connection string. ### Description - Fix handling of checking for missing database name in connection string. ### Related Issue https://bitquill.atlassian.net/browse/AD-274 * [AD-274] Fix handling of checking for missing database name in connection string. https://bitquill.atlassian.net/browse/AD-274 * Commit Code Coverage Badge Co-authored-by: birschick-bq <birschick-bq@users.noreply.github.com> * Commit Code Coverage Badge * AD-225 Added substring (#28) * AD-225 Added substring * Ad-225 Checkstyle * Commit Code Coverage Badge * Fixed merge * Moved old method to make changes clearer * Commit Code Coverage Badge * $substr -> $substrCP * Fixed mapping test * Commit Code Coverage Badge * Added more tests with literals * Commit Code Coverage Badge * Fixed substring support for expressions, added tests, added tableau support for MID * Commit Code Coverage Badge * Removed use of standard operator * Commit Code Coverage Badge Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> * [AD-213] Implement a automated identifier truncation when they exceed the maximum (128) length. (#30) ### Summary [AD-213] Implement a automated identifier truncation when they exceed the maximum (128) length. ### Description - Truncate generated identifiers to ensure it doesn't exceed maximum (128) length. - Attempt to keep "base" table name in truncated identifiers - Attempt to keep as much of context as possible. ### Related Issue https://bitquill.atlassian.net/browse/AD-213 * [AD-213] Implement a automated identifier truncation when they exceed the maximum (128) length. https://bitquill.atlassian.net/browse/AD-213 * Commit Code Coverage Badge * [AD-213] Update documentation. https://bitquill.atlassian.net/browse/AD-213 * Commit Code Coverage Badge * [AD-213] Review changes. Refactor DocumentDbTableSchemaGenerator.java with helper class. Improve test understanding. https://bitquill.atlassian.net/browse/AD-213 * [AD-213] Change test so not so memory challenging. https://bitquill.atlassian.net/browse/AD-213 * Commit Code Coverage Badge * [AD-213] Documentation updates from code review. https://bitquill.atlassian.net/browse/AD-213 * Commit Code Coverage Badge Co-authored-by: birschick-bq <birschick-bq@users.noreply.github.com> * [AD-278] Create MongoClient only when needed. Close client connection when closing the Enumerable. (#32) ### Summary [AD-278] Create MongoClient only when needed. Close client connection when closing the Enumerable. ### Description - Create `MongoClient` (`client`) only when needed. - Close `client` connection when closing the Enumerable. ### Related Issue https://bitquill.atlassian.net/browse/AD-278 * [AD-278] Create MongoClient only when needed. Close client connection when closing the Enumerable. https://bitquill.atlassian.net/browse/AD-278 * Commit Code Coverage Badge Co-authored-by: birschick-bq <birschick-bq@users.noreply.github.com> * [AD-254] Implement FLOOR for DATETIME types. (#31) ### Summary [AD-254] Implement FLOOR for DATETIME types. ### Description Implements `FLOOR (<datetime> TO <timeunit>)` - Uses equivalent of `dateadd(<timeunit>,datediff(<timeunit>,0,@datetime),0)` (https://stackoverflow.com/questions/85373/floor-a-date-in-sql-server/85379#85379) - Except for YEAR and MONTH which use `$dateToString` and `$dateFromString` - Implements an emulated version of integer division using `$mod`. ### Related Issue https://bitquill.atlassian.net/browse/AD-254 * [AD-254] Implement FLOOR for DATETIME types. https://bitquill.atlassian.net/browse/AD-254 * Commit Code Coverage Badge * [AD-254] Added support for ISOYEAR. https://bitquill.atlassian.net/browse/AD-254 * [AD-254] Removed support for ISOYEAR. https://bitquill.atlassian.net/browse/AD-254 * Commit Code Coverage Badge * [AD-254] Slight refactor for easier review. https://bitquill.atlassian.net/browse/AD-254 * Commit Code Coverage Badge * [AD-254] Implement FLOOR(... TO WEEK). Split query/DocumentDbQueryMappingServiceTest.java https://bitquill.atlassian.net/browse/AD-254 * Commit Code Coverage Badge * [AD-254] Minor refactor. https://bitquill.atlassian.net/browse/AD-254 * Commit Code Coverage Badge * [AD-254] Updated Tableau dialect file. https://bitquill.atlassian.net/browse/AD-254 * Commit Code Coverage Badge * [AD-254] Improvements from code review. https://bitquill.atlassian.net/browse/AD-254 * [AD-254] Implement QUARTER time unit for FLOOR. https://bitquill.atlassian.net/browse/AD-254 * Commit Code Coverage Badge * [AD-254] Added support for FLOOR aggregation in Tableau. https://bitquill.atlassian.net/browse/AD-254 * Commit Code Coverage Badge * Commit Code Coverage Badge Co-authored-by: birschick-bq <birschick-bq@users.noreply.github.com> * Update beta version from 4 to 5 (#33) * Update beta version from 4 to 5 * Commit Code Coverage Badge Co-authored-by: andiem-bq <andiem-bq@users.noreply.github.com> * Commit Code Coverage Badge Co-authored-by: Bruce Irschick <brucei@bitquilltech.com> Co-authored-by: Alexey Temnikov <alexeyt@bitquilltech.com> Co-authored-by: alexey-temnikov <alexey-temnikov@users.noreply.github.com> Co-authored-by: mitchell-elholm <76969722+mitchell-elholm@users.noreply.github.com> Co-authored-by: mitchell-elholm <mitchell-elholm@users.noreply.github.com> Co-authored-by: andiem-bq <andiem-bq@users.noreply.github.com> Co-authored-by: birschick-bq <birschick-bq@users.noreply.github.com>
- Loading branch information