RELEASE NOTES for 2.1BETA3.50x64 (2.1RC1.50x64) ======================================================================== ------------------------------------------------------------------------ NEW COMMANDS/MODIFIERS ------------------------------------------------------------------------ --- CAPACITY command Returns the number of records that can be stored into the specified table(s), along with the number of currently used and available slots. Syntax: CAPACITY '' | tables | ALL '' - current table tables - comma-delimited list of tables ALL - all the tables in the current schema Example: CAPACITY AS_CSV 'Police.Person' Table|Total|InUse|Available Person|1000|1000|0 --- DESCRIBE_TYPE command Returns the possible values of a user-defined type (currently an ENUMERATION) Syntax: DESCRIBE_TYPE type Example: DESCRIBE_TYPE AS_CSV 'School.Gender' Code|Value 1|Male 2|Female --- DESCRIBE_REFERENCES command Returns the information of the references of the specified table(s). Syntax: DESCRIBE_REFERENCES '' | tables | ALL '' - current table tables - comma-delimited list of tables ALL - all the tables in the current schema Example: USE'Police' DESCRIBE_REFERENCES AS_CSV ALL SourceTable|SourceColumn|TargetTable|TargetColumn Ticket|Driver|Person|ID Ticket|Vehicle|Vehicle|ID Vehicle|Model|Model|ID Vehicle|Owner|Person|ID --- NOT_EXISTS modifier Selects the rows that does not match the specified conditions. Syntax: [WHERE|AND] NOT_EXISTS(condition1 SUCH_THAT condition2 WITHIN tolerance) condition1 - first condition that should be met condition2 - second condition that should be met tolerance - tolerance for the second condition Example: FROM 'TableA' WHERE NOT_EXISTS('Column = TableB.Column' SUCH_THAT 'DateTime = TableB.DateTime' WITHIN 60 MINUTES) ------------------------------------------------------------------------ NEW OPTIONS ------------------------------------------------------------------------ --- AUTOOPEN If TRUE, tables are automatically opened when needed --- TIMEOUT_DISK Controls the HD timeout for creation and deletion of files/directories --- INPUTFORMAT/DATE Specifies the format to parse dates in input text files --- LOADER_ONERROR Specifies the action to take when an invalid input line is processed by the loader ------------------------------------------------------------------------ EXTENDED FUNCTIONALITY ------------------------------------------------------------------------ --- EXCEL-TO-VSTAR examplet (WIN32) --- LOADER: Fixed-width input files The "POSITION (START:END)" specification is now supported in the SELECT command to import fixed-width files. Example: INSERT_INTO 'Table' FROM FILE 'File.txt' SELECT 'Column1 POSITION (1:18), Column2 POSITION(19:25), Column3 POSITION(26)' --- LOADER: Filtered input The following operators can now be used to filter lines from both CSV and fixed-width files: = / <> / IN / NOT IN Currently, filters can only be specified with WHERE and monadic AND commands. Example: INSERT_INTO 'Table' FROM FILE 'File.txt' WHERE 'POSITION(237) = "S"' AND 'POSITION(41:44) <> "0800"' SELECT ... --- AND / OR evaluation AND|OR operators are now supported in the arguments of the WHERE, AND & OR commands: WHERE 'condition1 AND condition2 OR condition3' The AND|OR commands behave as the AND|OR operators in the arguments of the WHERE, AND & OR commands: WHERE 'x AND y OR z' == WHERE 'x' AND 'y' OR 'z' IMPORTANT: The following functionality is not (yet) supported: Parenthesis in the WHERE, AND & OR commands AND|OR operators in LOADER filters --- Dyadic functions in SELECT/GET expressions The following pattern is now supported as an argument of SELECT/GET: 'expr1 DYAD1 expr2 ... DYADN exprN' Example: SELECT 'DECODE(Column1;123;0) + ABS(Column2) + Column3' --- Configuration Options are now set in the following order: 1. Read global config (n/n64/ini/n.ini) 2. Read user's config ($HOME/VSTAR/n.ini), overriding any previous values 3. Read environment variables, overriding any previous values Current limitations: * neither ~/ nor $ENV_VAR_NAME are resolved in .ini files * "~/" is not resolved to "$HOME" when reading environment variables --- Other * More detailed INTERFACE_ERROR report * dt2day (DateTime-to-Day) and dt2sec (DateTime-to-Seconds) are now 8X faster * FETCH/XML and FETCH/TXT option is now applied to all formats ------------------------------------------------------------------------ BUG FIXES ------------------------------------------------------------------------ ADD_COLUMN in a non-empty table UPDATE in STRING datatype Concurrent read access raised "syntax error" on some processes Performance issues with hash searches Text file load failed with files bigger than 6GB