ODBC Driver Changelog 20200803 - (mac) rebuilt to link to dependencies in /usr/lib rather than /opt/local/lib. 20200728 - added a boolean configuration option "PoolByStmts" to control when SAM pool sessions are acquired and released. * when PoolByStmts=0 (default), a SAM pool ID is held while a connection is open. this prior behavior has not changed, and is just described here for reference. - a free ID is claimed and logged in when a connection is opened (SQLDriverConnect), and released when the connection is closed (SQLDisconnect). * when PoolByStmts=1, a SAM pool ID is held while any statements on the connection are open. - a free ID is claimed and immediately released when a connection is opened (SQLDriverConnect) to verify credentials. - a free ID is claimed and logged in when the first statement on a connection is opened (SQLAllocStmt), and released when the last statement on the connection is closed (SQLFreeStmt). if further statements are opened, the process is repeated. * PoolByStmts would help to conserve SAM pool IDs for users that keep several connections, but not statements, open at a time. On the other hand, PoolByStmts would adversely affect users that open, execute, and close statements one at a time. 20200706 - updated digital signature certificate (windows) 20200422 - Fixed parser so that SQL keywords INNER, CROSS, LEFT, JOIN, and ON are not interpreted as FROM clause delimiters when enclosed in curly braces. (CORE-3523) 20200228 - Fix for a sql translation regression that occurred from the aliasing updates in version 20190626. (CORE-4648) 20191118 - Fixed typo in default config file. 20191113 - Updates to SQLDriverConnect to support connection to DSCVR accounts and some general bug fixes. 20190827 - Changed SQLDescribeCol to not use display width to describe length of text columns. - Updated timestamp midnight exception to include 23:59:59 20190715 - Improvement to the timestamp midnight exception option. Now, effects literals in SQL text in addition to in bound timestamp parameters. 20190626 - Various fixes to improve translation of complex SQL to 1010 queries * better handling of aliasing in SQL * handling for {fn CONVERT()} in SQL * bug fix for scientific notation parsing - Fixed issue using SQLBindParameter with date, time, timestamp parameters - Added configuration option to treat timestamp literals (both in a SQL query text and as a bound parameter in a query) at midnight as a date value on that day instead of a timestamp value. 20180412 - Fix issue in configuring a 1010data DSN on Windows where the LogLevel field wouldn't persist in the Configuration Manager. 20180410 - Fixed an issue which caused the program to crash. 20180406 - Table searches now allow the `%` metacharacter. - Fixed various bugs. - Linux ODBC driver no longer exits entire application if $HOME/.1010data/config is unavailable. - 1010data passwords can now contain non-alphanumeric characters. 20170601 - Fixed an incompatability with versions of 1010data older than 9.18. - Added support for 64-bit integer download as SQL_BIGINT. 20170518 - Fixed issue causing inefficient data downloading during SQLFetch that resulted in performance degradation. 20170503 - Fixed an issue on Windows where very long queries were unceremoniously truncated. 20161130 - Added configuration to report success in SQLEndTran that is needed for compatibility with Oracle OGS. 20161019 - Fixed issue introduced in 20160929 when calling SQLGetData. - Added support for Oracle OGS. 20160929 - Changed how URL redirects are handled internally to reduce network traffic. - Updated certificate authority bundle used by libcurl. 20160623 - Updated SQLGetFunctions to more accurately report what funcitons are supported. This was done so tools like Power BI behave correctly. - Fixed SSL support on OSX. 20150925 - Added the ability to ignore the warnings generated when a column name ends in an underscore. Only enable this is you are 100% confident that your column names do not collide with 1010data system variables (i_, now_, etc.) - Fixed the "Retry GetUID if system is busy"/loopgetuid option. - Improved logging. 20150901 - Fixed an issue with queries that used bound parameters. - Left outer joins on a primary key column now translate into default 1010data links instead of type="exactexpand" links. 20150820 - Updated the SQL translator's LENGTH function to support scalars and UTF-8 data. - Fixed support for empty result sets (initially broken in 1010data system version 8.04). - Added support for != (which is equivalent to <>). 20150806 - Added OpenPGP signature. - Improved retry logic. 20150721 - Updated SQLGetInfo to better advertise the ODBC driver's functionality. 20150414 - Previously timestamp literals ({ts YYYY-MM-DD HH:MM:SS.NNNNNNNNN}) would always evaluate to January 1, 2035 at 12:00 AM. They are now handled correctly. 20150202 - Added option to allow SQL with quotes around stored procedure clauses to improve interoperability with external BI tools that cannot produce queries with valid SQL stored procedure syntax. 20150113 - Corrected behavior of the RANK and DENSE_RANK SQL functions. 20141106 - Added support for specifying the SQL_ATTR_ROWS_FETCHED_PTR statement attribute through SQLSetStmtAttr. - Fixed a parsing bug that caused column names containing _case_ or _over_ to be incorrectly identified as CASE/OVER SQL syntax. 20140807 - Support has been added for 1010data columns with format "ansidate" and "ansidatetime". 20140722 - When downloading a result set that is smaller than the "Window" attribute, the size of the result set will be requested instead of the a full window. 20140602 - Fixed the handling of type mismatches between a reported column type and the actual downloaded data type. 20140422 - Added OSX support. 20140421 - Changed the names of the registry keys to differ between the 64-bit and the 32-bit drivers. 20140418 - Update from OpenSSL 1.0.1e to 1.0.1g. 20140416 - Added a "Test" button to the "SQL1010 ODBC DSN Configuration" dialog, which can be used to verify that a connection can be established with 1010data using your current credentials. - When SQL[Driver]Connect fails on Windows an error message will now be properly reported to the client application. - Miscelaneous bug fixes. 20140212 - Version 20131023 introduced a new conversion error when downloading SQL_[TYPE_]TIMESTAMP columns. This error has been corrected. 20131220 - Fixed issue where ODBC applications that split an established connection were not inheriting the proxy information from the first connection. 20131023 - Fixed conversion error when fetching 1010data date+time columns into the ODBC 'Datetime' format. 20131016 - Escaped double quotes in escaped macrocode are now respected. 20130910 - The ODBC Driver Installer now names the default 32-bit DSN on a 64-bit Windows installation win32.1010data and names the 64-bit DSN native.1010data. On a 32-bit Windows installation the default driver is named native.1010data. 20130906 - Fixed the uninstaller to respect the "/S" (silent) flag. 20130905 - Fixed a bug which broke the "persist" reconnect functionality as of 20130418. - Fixed a bug which would could SQLTables to crash in certain rare instances. 20130904 - The unmangling step in SQL translation is now *much* faster. 20130903 - The ODBC Driver Installer now names the default 32-bit DSN www32.1010data.com and names the default 64-bit DSN www64.1010data.com. - When uninstalling the ODBC driver it will now only delete the DSNs constructed during the installation procedure. 20130831 - Escaped literals ({d ... }) inside of scalar functions ({fn ... }) are now properly handled. 20130830 - You can now pass in a SID,EPW instead of the password to "duplicate" a session. This is done by preceding the UID with the '^' character and replacing the PWD with your session ID, a comma, and then your encrypted password. 20130809 - Fixed compatability issue using the driver through the Data Connection Wizard in Windows Excel 2013. 20130719 - In both SQL and escaped Macrocode escaped quote characters (' or ") are now supported in quoted strings, they can be escaped with either a black slash (\) or by repeating the character to be escaped. - Support for result sets larger than 1024 columns has been added. - SQLError has been implemented. While this is a deprecated ODBC 1.0 function, many ODBC Driver Managers use it to extract errors that occur during SQL(Driver)Connect. Client applications should now get the proper error message from SQLGetDiagRec when called after SQL(Driver)Connect returns SQL_ERROR. 20130712 - Improved character escaping in the TID field. - Corrected an issue in SQLDisconnect where you would not logout if KillP={1,yes} and you would logout if KillP={-1,possess}. 20130702 - Fixed issue with the Windows installer. 20130626 - Updated XML log generation to write a log if an error occurs during login. - Removed an extra print statement which was writing to the console. 20130516 - Added the TID connection string key, which sets the "true identity" field during login. - Minor updates to the documentation. 20130507 - Added support for SQL_C_UBIGINT and SQL_C_SBIGINT types in SQLBindCol. 20130418 - The "SQL1010 ODBC DSN Configuration" dialog now has the option to set killp to possess in addition to yes and no. - Added the option to change wide how string columns are reported to be. - Added to the Linux default config file several configuration options that were missing. - Changed default port for new connections to 443. 20130415 - Closed small memory leaks related to login. 20130408 - Added support for X-Forwarded-For headers. 20130402 - Corrected an issue which was preventing http keep-alive packets from being sent. - This release (and all following releases unless stated otherwise) is being developed on Ubuntu 12.04.5 (x64). The linux distribution is compiled/deployed on Ubuntu 7.04 targeting GLIBC 2.5 with gcc 4.2.4. We fully expect it to work on other linux distributions and versions, so long as they have GLIBC 2.5 or newer, and conform to the C++03 ABI. The Windows release is compiled and tested on Windows 7, but we again expect it to work on other versions of Windows. 20130319 - When importing configuration information blank values will now be ignored. 20130109 - Corrected a bad merge (20121220 was missing the updates from 20121217). 20121220 - Improved the connection stability logic in transactions that download data. 20121217 - Changed default window size to 50,000 records. 20121211 - Previously, if no 1010data version was specified, prod-latest would be used, now the version specified in the user's userpref is used. 20121210 - Added logging of the system version after a successful login. 20121205 - More improvments to the included documentation for both Windows and Linux users. 20121107 - Previously we had four versions of our Windows installer. Moving forward we will only have one installer. It will install both the 32 and 64 bit versions of the driver on 64-bit machines, and will give the user the option to choose if they want the initial DSN that is set up to be preconfigured to support stored procedures. 20121030 - When using a Windows application that does not have input fields for username/password and connecting to a DSN that does not contain both, the driver pops up a dialog where username and password can be input. Previously when closing this dialog the user would always get an error dialog saying the DSN name cannot be used as a data source name. This has been fixed. - Corrected a graphical issue with the SQL1010 ODBC Driver Connect dialog. - Previously, due to a bug in SQLGetData, we didn't support pyodbc. That bug has been resolved and we now support pyodbc. 20121019 - Continued improvments to the included documentation for both Windows and Linux users. - Removed an invalid read which occurred when the config file did not contain all of the possible key=value; pairs. 20121002 - Added a new option to the ODBC configuration. In the Driver tab, there is now a "Report errors in SQLSetStmtAttr" checkbox. When checked, the driver will return SQL_ERROR when an attribute cannot be set. When unchecked, SQL_SUCCESS is always returned for this function. 20120905 - Renamed the linux library to libsql1010odbc.so to make it easier to link directly to the library. 20120824 - The default gateway is now prod-latest. - The default port for the linux version of the ODBC driver is now 443. 20120814 - The 20120810 update didn't cast a wide enough net, RHEL5 support has been restored. - Major update to tenten_odbc_manual.pdf. 20120813 - Fixed SSL support for the Linux version of the ODBC driver. 20120810 - Since 20120801 release a connection string containing "key=;" or "key=(null)" was overwriting the default specified in the config file on Linux, this has been corrected. - An upgrade to our build servers was causing configuration issues for customers using linux installations with older GLIBC versions and older ABI schemes. We now build to target a wider range of distros. 20120806 - Corrected an issue where some incomplete SQL statements were not being handled cleanly during SQL parsing. Fixed a bug where a specific error message would not be set when that error was encountered and the user did not have write permission to their logfile location. 20120801 - Added the ability to specify any of the attributes from the config file in the connection string when calling SQLDriverConnect on Linux. 20120724 - Changed the default behavior when handling columns returned as the wrong type. 20120723 - Corrected an issue caused when using the ODBCTENTEN environment variable on *nix system. 20120314 - Improved support for nested joins in the FROM clause. 20120313 - Added UTF-8 support for lcase/ucase functions and added lower/upper function support. 20120312 - Fixed a few more memory leaks. 20120306 - Fixed several memory leaks where table metadata was never freed. 20120301 - Improved some logging during SQLDriverConnect. 20120229 - Corrected default user agent strings.