-
Breaking Changes
- NyQL static class access
NyQL
has been removed. Migrate all parses and executions to aNyQLInstance
, and bind it to your application lifecycle. - NyQL configuration file is different and simplified. Migrate to new v2 configuration file for convenience.
- All passwords must be base64 encoded. No plain passwords allow anymore.
- Function
$IMPORT_UNSAFE
has been renamed to$IMPORT_SAFE
- Renamed functions
CURTIME
,CURDATE
, andCUREPOCH
toCURRENT_TIME
,CURRENT_DATE
, andCURRENT_EPOCH
respectively. - Recommended to change db-inconsistent
CONCAT
functions toCONCAT_NN
for null-ignoring concatenation.
- NyQL static class access
-
New database supports
-
Features & Enhancements
- Syntactic sugar for upsert and insertOrLoad queries #18
- Simulate FULL OUTER JOIN in unsupported databases #24
- Ability to recompile a script without having to restart JVM #29
- Provide loading scripts from multiple directories #36
- Convert given list of values to a table #34
- Provide syntactic sugar to create temp tables on the fly with selected data from another table #25
- Application level pagination for SELECT queries #46
- Application level transaction handling #47
- Raw query parts can be written with parameters #49
- Query level logging enhancements #35
- Insert syntax supports for
SET {}
instead ofDATA([])
clause - Ability to specify length when casting #41
- Support statistical functions #21
- Simulate java's lastIndexOf functionality in SQL queries #20
- Dev mode new script addition should be able to detect automatically #10
- Change the model to support execution of multiple parsed queries at once in executor #19
- Database version aware translators #27
-
Bug fixes
- Inconsistency behavior of CONCAT functions in difference databases #30
- Should not have alias when already aliased column is used inside a CASE statement #31
- PARAM() is missing when it is inside LCASE() #38
- PARAM() is missing when it is inside a THEN clause #39
- Cannot use $IMPORT_UNSAFE outside queries #37
-
Features & Enhancements
-
Bug fixes
All batch related operations accept its data within the map in key name of '__batch__'
instead of previously used key 'batch'.
-
Features
- New result object
NyQLResult
having friendly methods to deal with the output of a query/script. - Ability to configure NyQL using environment variables at startup time (see Readme file for more info).
- New
batchUpdate
query (similar to batchInsert) - Binary value input/output support through base64 encoded values
- New result object
-
Enhancements
- Easily configure NyQL programmatically using only minimum required parameters.
- Ability to provide non-plaintext password using
passwordEnc
in configuration - Readable functions for CURRENT_TIME, CURRENT_DATE, CURRENT_EPOCH instead of CURTIME, CURDATE, CUERPOCH respectively.
- Timestamp and date parameters can be converted automatically through
PARAM_TIMESTAMP
andPARAM_DATE
. - Transactions can be written using Java API.
-
Bug fixes:
- Automatically quotes identifiers/aliases if they are equal to any reserved keywords.
- Randomly occurring JVM bytecode validation error in eclipse IDE.
- Native query with query parameters.
- Some string functions accepts constant values / jdbc parameters as function argument(s)
- Initial release