Release notes for MBS Xojo SQL Plugin
MBS Xojo Plugins 21.1 - 9th March 2021
- Added Edit/Update support for RecordSet for SQLDatabaseMBS class.
- Added Error, ErrorMessage and ErrorCode properties to SQLDatabaseMBS for iOS.
- Added FindTableName function to SQLGlobalsMBS class.
- Added SQLSelectAsRowSetMT and SQLSelectAsRowSet methods to SQLConnectionMBS class.
- Added UnInitialize method to SQLGlobalsMBS class.
- Fixed issue with MoveFirst with RecordSet in our SQL Plugin when used with PostgreSQL.
- Updated SQLAPI to version 5.1.4b5.
- Updated to Xcode 12.4.
MBS Xojo Plugins 21.0 - 19th January 2021
- Added plugins for iOS and Apple Silicon.
- Changed SQL Plugin to automatically use CLOB/BLOB type for strings for SQL Server if length is >8000.
- Fixed an issue with SQL plugin connect to MySQL when server doesn't know utf8mb4 text encoding.
- Updated SQLite library to version 3.34.0.
- Updated SQLAPI to version 5.1.3.
- Reduced usage of deprecated SDK functions.
- Updated to Xcode 12.3.
MBS Xojo Plugins 20.5 - 17th November 2020
- Added asDateTimeValue to SQLValueReadMBS class to return DateTime object.
- Added code to detect if variant is unsigned, so we can handle UInt32/UInt64 correctly in SQLPreparedStatementMBS and SQLCommandMBS and SQLValueMBS.
- Added CubeSQLLastInsertID to SQLDatabaseMBS and SQLConnectionMBS classes.
- Changed Disconnect in SQLDatabaseMBS and SQLConnectionMBS to stop our check alive background task.
- Changed PostgreSQL plugin part (InternalPostgreSQLLibraryMBS) to not depends on LDAP libraries, but load them dynamically if needed.
- Changed SQL Plugin to better work together with Actual Tech SQL Server ODBC Drivers.
- Updated SQLAPI to version 5.1.3b3.
- Reduced usage of deprecated SDK functions.
- Updated to newer plugin SDK.
MBS Xojo Plugins 20.4 - 15th September 2020
- Added missing API 2 functions in Database class for our SQL Plugin documentation.
- Applied SQLAPI patch for SADateTime, e.g. our SQLDateTimeMBS class.
- Deprecated InternalPostgreSQLLibraryMBS module. Please use postgreSQL library.
- If you pass picture as value for SQL parameter, we now convert to PNG MemoryBlock internally.
- Updated SQLAPI to 5.1.1.
- Updated SQLite to version 3.33.0. This includes decimal extension now.
- Updated to Xcode 10.6.
- Upgraded Visual Studio from 2008 to 2019 and rebuild everything. See blog post.
MBS Xojo Plugins 20.3 - 21st July 2020
- Added IsInput and IsOutput properties to SQLParamMBS class.
- Fixed a crash with cleanup of SQL clients for SQLConnectionMBS and SQLDatabaseMBS.
- Fixed Options property in SQLConnectionMBS class to not clear exception state when debugging.
- Updated SQL Plugin to SQLAPI version 5.1.
- Updated SQLite to version 3.32.0.
- All MBS Xojo Plugins compile for Apple Silicon, so we are ready.
- Upgraded examples to use 64-bit targets. This was made automatically to enable 64-bit targets, HiDPI and dark mode for all projects. Thanks to Arbed!
MBS Xojo Plugins 20.2 - 12th May 2020
- Added kTypeInt32 and kTypeUInt32 constants to SQLPreparedStatementMBS class.
- Changed SQL Plugin to report errors with ErrorCode = 0 in SQLDatabaseMBS class as -1 to avoid Xojo taking ErrorCode 0 as no error.
- Changed SQLDatabaseMBS RecordSet to pass time, date and timestamp to Xojo with the right type, so Xojo can handle them correctly.
- Fixed bug in SQLPreparedStatementMBS where Int64 was passed as numeric.
- Fixed problem with SQL Plugin and passing Int64 as parameter for a prepared statement for ODBC with servers not supporting 64bit directly.
- Updated SQLAPI to version 5.0.6.
- Updated plugin SDK to version for Xojo 2020r1
MBS Xojo Plugins 20.1 - 10th March 2020
- Checked plugins for Windows XP compatibility. All load except the built-in CubeSQL library.
- Disabled a warning from our own check code about data size of SQLDatabaseMBS class.
- Disabled alive check for SQLite in SQLConnectionMBS/SQLDatabaseMBS class and added ping option to disable it.
- Updated SQLAPI to version 5.0.5.
- Updated SQLite to version 3.31.0.
MBS Xojo Plugins 20.0 - 14th January 2020
- Added hasDate and hasTime properties to SQLDateTimeMBS class.
- Fixed crash in Commands functions in SQLDatabaseMBS and SQLConnectionMBS classes.
- Fixed issue with CubeSQL client in SQL Plugin to allow SHOW commands to work.
- Fixed reference counting problem in Commands() function in SQLDatabaseMBS and SQLConnectionMBS classes causing crashes.
- Updated SQLAPI to version 5.0.3.
- Updated Xcode to version 11.3.
MBS Xojo Plugins 19.5 - 12th November 2019
- Added ExecuteSQL and SelectSQL methods for SQL Plugin to support API 2.0.
- Added AsRowSet method to SQLCommandMBS class.
- Added CubeSQLReceiveData, CubeSQLSendData, CubeSQLSendEndData to SQLConnectionMBS and SQLDatabaseMBS classes.
- Added DB2SQLExecDirect and DB2SQLRowCount methods to SQLCommandMBS class.
- Added kDataTypeInt64 and kDataTypeUInt64 constants to SQLValueReadMBS class.
- Added kTypeInt64 and kTypeUInt64 constants to SQLPreparedStatementMBS class.
- Added MySQLInsertID to SQLConnectionMBS and SQLDatabaseMBS classes.
- Added SQLiteBackupFinish, SQLiteBackupInit, SQLiteBackupPageCount, SQLiteBackupRemaining, SQLiteBackupStep, SQLiteEnableLoadExtension, SQLiteLastInsertRowID, SQLiteLoadExtension file, SQLiteLoadExtension path, SQLiteMemoryHighwater, SQLiteMemoryUsed, SQLiteReKey, SQLiteSetBusyHandler, SQLiteSetBusyTimeout, SQLiteSetKey, SQLiteTableColumnMetaData and SQLiteThreadsafe methods to SQLConnectionMBS and SQLDatabaseMBS classes.
- Changed BackupInit in SQLite3MBS and SQLiteBackupInit in SQLConnectionMBS and SQLDatabaseMBS classes to take variant and accept both database and connection object for dest and source.
- Changed MemoryHighwater and MemoryUsed in SQLite3MBS class to be regular properties.
- Changed SQL connection to CubeSQL to default to scrollable recordsets.
- Fixed a crash with empty RecordSet from CubeSQL crashing in debugger.
- Fixed bug for date handling in SQLPreparedStatementMBS class.
- Fixed bug in SQLDatabaseMBS, SQLParamMBS or SQLFieldMBS where Options may have returned nil.
- Fixed problem with SQL Plugin not using internal SQLite library (broken in pr1).
- Removed Connection parameters for SQLAPIMBS methods. Not needed anymore for MySQLMBS, DB2MBS, PostgreSQLAPIMBS and SQLite3MBS.
- Removed LibraryLoaded properties from DB2MBS, InformixMBS, MySQLMBS, PostgreSQLAPIMBS and SQLite3MBS classes.
- Rewrote handling for internal SQLite, PostgreSQL and CubeSQL libraries.
- Updated SQLAPI to version 5.0.1.
- Updated SQLite to version 3.30.0.
- Updated SQLPreparedStatementMBS for changes in Xojo 2019r2.1.
- Updated plugin SDK to version from Xojo 2019r2.
MBS Xojo Plugins 19.4 - 17th September 2019
- Added SelectSQL method to SQLPreparedStatementMBS class.
- Added SSL connection modes for CubeSQL client in MBS Xojo SQL Plugin.
- Changed SelectSQL method in SQLPreparedStatementMBS to return type RowSet and made it private.
- Changed SQL Plugin functions for ODBC on Mac to not complain about missing SQLBrowseConnect.
- Fixed a problem with ActualTech ODBC drivers to connect from Mac to Microsoft SQL server.
- Fixed possible crash situation with SQL Plugin pinging server in background.
- Renamed BindedValues and BindedTypes properties in SQLPreparedStatements to BoundValues and BoundTypes.
- Updated CubeSQL client to version 5.8.3.
- Improvements for Xojo 2019r2.
MBS Xojo Plugins 19.3 - 24th July 2019
- Added BindedValues and BindedTypes property for SQLPreparedStatements to inspect bindings.
- Added SQLDatabaseMBS.kOptionLibraryCubeSQL and SQLConnectionMBS.kOptionLibraryCubeSQL constants.
- Updated SQLite to version 3.29.0.
MBS Xojo Plugins 19.2 - 21st May 2019
- Added asInt32, asInteger, asInt64, asUInt32 to SQLValueReadMBS class.
- Added nil object check for SQLCommandMBS.ExecuteMT and similar functions.
- Added setAsInt32, setAsInt64, setAsInteger, setAsUInt32 to SQLValueMBS class.
- Added SQLiteInMemory constant to SQLDatabaseMBS and SQLConnectionMBS classes.
- Changed ChartDirector and SQL Plugin to accept licenses for up to 5 years in future instead of 3 years.
- Changed SQL Plugin to not complain about missing functions with freetds.
- Changed SQL Plugin to ping server regularly and check alive status.
- Changed SQLCommandMBS class to clear SQLFieldMBS and SQLParamMBS objects from it in destructor. If you access them later, you'll get SQLNotInitializedExceptionMBS exception.
- Changed SQLConnectionMBS/SQLDatabaseMBS to pass more options to SQLCommandMBS for MS SQL: SQL_ATTR_CURSOR_TYPE, SQL_ATTR_QUERY_TIMEOUT, SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_SCROLLABLE and SQL_ATTR_CURSOR_SENSITIVITY.
- Changed SQLDatabaseMBS.Client and SQLConnectionMBS.Client to raise exception if client is out of range.
- Deprecated the Shell function on InternalSQLiteLibraryMBS class.
- Fixed an issue with AutoCache in SQL Plugin preventing MovePrev method to work correctly.
- Fixed bug with exception handling for SQLCommandMBS.ExecuteMT method.
- Fixed SQLSelect and SQLSelectMT methods in SQLConnectionMBS class to avoid hex encoding for BLOBs.
- Rewrote Caching for SQL Plugin to use much less memory.
- Updated SQLite to version 3.28.0.
- Upgraded CubeSQL SDK to version 5.7.3.
- Fixed problem with cached recordsets and BLOB values converted to hex unintended.
- Improved performance for plugin functions accessing Xojo dictionaries.
- Updated to Xcode 10.2.
MBS Xojo Plugins 19.1 - 12th March 2019
- Added SQLErrorExceptionMBS.SQL property.
- Fixed crash with connecting to SQL Anywhere when creating connection failed. Now reports an error instead.
- Updated SQLAPI to version 4.2.5.
- Updated SQLite to version 3.27.1.
MBS Xojo Plugins 19.0 - 22nd January 2019
- Added more for internal SQLite3 library load for SQLAPI.
- Added option to SQLPreparedStatementMBS class and other variant functions to accept folderitem to stream from file to blob field.
- Changed a few SQL functions to copy options from connection to command, which before not all functions did.
- Changed default SQL options for connecting to FileMaker via ODBC so it works out of the box.
- Enabled SQLITE_ENABLE_API_ARMOR for SQLite to help reduce crashes with wrong API calls to SQLite.
- Fixed a bug in Oracle initialization for Linux for SQL Plugin.
- Fixed a problem with MySQL DLL loading.
- Fixed bug with binding empty values on encrypted CubeSQL connection.
- Fixed crash in SQL Plugin when using unnamed fields in SQLite recordsets.
- Fixed problem with text data type handling for variants in plugin functions, e.g. for SQLDatabaseMBS.UpdateRecord method.
- Fixed problem with text encoding with Oracle databases for SQL Plugin.
- Updated SQLAPI to version 4.2.4.
- Updated SQLite version 3.26.0.
- Added links to blog articles from help.
- Changed Linux compile to include function names for stack traces.
- The MBS Plugin for Real Studio will be build on demand only.
MBS Xojo Plugins 18.5 - 27th November 2018
- Changed SQLDatabaseMBS to return RecordSet where you can query names of columns even if you have no rows.
- Fixed bug with SQLAPI on finding the MySQL libraries.
- Updated SQL Database plugin for changes in Xojo 2018r3.
- Updated SQLAPI library to version 4.2.4 beta 2.
- Updated SQLite to version 3.25.2.
- Rebuild with Xcode 10. Minimum MacOS version is now 10.9.
- Updated to Xcode 10.1.
MBS Xojo Plugins 18.4 - 25th September 2018
- Added CancelAllCommands and Commands methods for SQLConnectionMBS and SQLDatabaseMBS clases.
- Added SQLParamMBS.Options and SQLFieldMBS.Options properties.
- Updated SQLAPI to version 4.3.3.
- Updated SQLite to version 3.25.0.
MBS Xojo Plugins 18.3 - 17th July 2018
- Added InternalCubeSQLLibraryMBS module to use built in cubesql client library.
- Added InsertRecord and UpdateRecord methods to SQLDatabaseMBS class.
- Added MemoryUsed, MemoryHighwater, Keywords and isKeyword to InternalSQLiteLibraryMBS module.
- Added UpdateRecord method to SQLConnectionMBS class.
- Changed SA_ODBC_SQL_WCHART_CONVERT setting for building SQLAPI on Linux, so we can connect to Microsoft SQL Server here.
- Fixed a problem with ODBC crashing on Linux with using freetds to connect to Microsoft SQL Server.
- Fixed auto commit issue for CubeSQL.
- Fixed bug where SQL Plugin would return date with year 1899 instead of nil for empty SQLDateTime value.
- Improved InternalSQLiteLibraryMBS.Shell function to reset global settings for further calls.
- Improved SQLDatabaseMBS.InsertRecord to better handle float and integer number types.
- Improved SQLPreparedStatementMBS.SQLSelect to not return invalid RecordSet when SQL is invalid.
- Updated SQLAPI to version 4.3.3 beta with fixed for CubeSQL.
- Updated SQLite to version 3.24.0.
- Updated plugin SDK for 2018r2.
- Added database class for documentation.
MBS Xojo Plugins 18.2 - 22nd May 2018
- Changed AutoCache for SQL Plugin to not try to cache recordsets if there is no result set.
- Changed cursor functions for SQL Plugin to return field count = 0 if there is no result set.
- Fixed problem with SQLConnectionMBS.Options property crashing.
- Updated SQLite to version 3.23.1
- Updated to SQLAPI 4.2.2.
- Updated to Xojo 2018r1 plugin SDK.
MBS Xojo Plugins 18.1 - 6th March 2018
- Added Options property to SQLDatabaseMBS, SQLConnectionMBS and SQLCommandMBS to inspect options.
- Added support for SQL Anywhere API v1 in addition to v2.
- Changed SQLPreparedStatementMBS to accept binding with Xojo.Core.Date objects.
- Fixed exceptions for SQL Plugin on ARM.
- Fixed problems with connecting to SQL Anywhere database.
- Fixed problems with using SQLDatabaseMBS object after calling close method on it. Now you can reuse it for another connection.
- Fixed SQLDatabaseMBS and SQLConnectionMBS to close an existing connections before starting a new one.
- Updated SQLite to version 3.22.0
MBS Xojo Plugins 18.0 - 23rd January 2018
- Added kSQLAnywhereClient and kCubeSQLClient constants to SQLConnectionMBS class.
- Fixed SQLConnectionMBS.ConnectMT to set SQLite encryption key.
- Removed warning if using empty sqlite encryption key.
- Updated SQLAPI to version 4.2.1.
- Fixed an issue with exception handling on 64-bit Linux introduced in 17.3.
MBS Xojo Plugins 17.5 - 28th November 2017
- Added SQLConnectionMBS.InsertRecord function.
- Fixed bug with SQLite Prepare command with extra spaces in SQL commands.
- Fixed issue in SQL plugin with binding parameters for ODBC.
- Fixed issue in SQL plugin with getting text fields with FileMaker over ODBC.
- Updated SQLite to version 3.20.1.
MBS Xojo Plugins 17.4 - 26th September 2017
- Added MemoryUsed and MemoryHighwater properties to SQLite3MBS class.
- Added SQL_ATTR_CURSOR_TYPE as one of the options we pass from SQL connections down to all command objects.
- Removed SQLAnywhere plugin part as that functionality is now available in SQL Plugin.
- Updated SQLAPI to version 4.1.12.
- Updated SQLite to version 3.20.0.
- Changed Linux plugins to include build number in SONAME field so OS can distinguish different versions better.
- Updated all GTK code to dynamically load GTK+ 3 for Xojo 2017r2 and GTK+ 2 for older versions.
MBS Xojo Plugins 17.3 - 18th July 2017
- Updated PostgreSQL to version 9.6.3.
- Updated SQLite to 3.19.3.
- Disabled linux version script linker option.
MBS Xojo Plugins 17.2 - 15th May 2017
- Fixed an issue with writing BLOB fields into Firebird database via SQLPreparedStatementMBS class.
- Fixed bug in SQLNumericMBS.NumericWithCurrency when using small negative numbers.
- Updated PostgreSQL to version 9.6.2.
- Updated SQLAPI to version 4.1.11.
- Updated SQLite to 3.18.0.
- Removed PPC code.
MBS Xojo Plugins 17.1 - 14th March 2017
- Added LibraryLoaded property to DB2MBS, InformixMBS, MySQLMBS, PostgreSQLAPIMBS and SQLite3MBS.
- Fixed InternalPostgreSQLLibraryMBS, so it works again on Linux.
- Updated SQLite to 3.17.0.
MBS Xojo Plugins 17.0 - 23rd January 2017
- Changed SQL plugin to detect ODBC to FileMaker and handle that better for reading text fields and avoid a crash.
- Updated SQLite to 3.16.2.
- Changed plugin file names to include name of plugin and name of part.
MBS FileMaker Plugins