Release notes for MBS Xojo SQL Plugin
MBS Xojo Plugins 23.5 - 7th November 2023
Added RowsAffected property to
SQLConnectionMBS and SQLDatabaseMBS classes. Changed
SQLConnectionMBS class, so you can load Actual Tech ODBC drivers directly without using iODBC. Updated SQLAPI to version 5.2.6.
Updated SQLite to version 3.44.0.
MBS Xojo Plugins 23.4 - 12th September 2023
Fixed a bug in setting
SQLNumericMBS values with floating numbers, caused by a bug fix in version 23.3. Values showed up as zero incorrectly. Updated SQLAPI to version 5.2.5.
Updated SQLite to version 3.43.0.
Updated Plugin SDK to version 2023r2.
MBS Xojo Plugins 23.3 - 18th July 2023
Fixed a crash with
SQLNumericMBS when parsing a string. Updated SQLite to version 3.42.0.
Updated openssl library to version 3.1.1.
MBS Xojo Plugins 23.2 - 9th May 2023
Updated SQLAPI to version 5.2.4.
Updated SQLite to version 3.41.2.
MBS Xojo Plugins 23.1 - 7th March 2023
Applied SQLAPI patch for Oracle fix in memory leak.
Patched SQLAPI to work again with Field() query without FetchNext.
Updated SQLite to version 3.41.0.
Removed 32-bit plugin parts for macOS. We now require Xojo 2017r3 or newer to load plugins on macOS.
MBS Xojo Plugins 23.0 - 17th January 2023
Fixed a problem with an OutOfBoundsException in Connect method of
SQLDatabaseMBS class. Updated SQLAPI to version 5.2.3.
Updated SQLite to version 3.40.0.
Added Linux 64-bit ARM plugins.
MBS Xojo Plugins 22.5 - 8th November 2022
Fixed a problem in
InternalPostgreSQLLibraryMBS module for new transaction function. Fixed a problem in
InternalSQLiteLibraryMBS module for new changes64 function. Updated SQLAPI to version 5.2.2.
Updated SQLite to version 3.39.4.
Updated openssl to version 1.1.1s.
Updated Xcode to version 14.0.1.
MBS Xojo Plugins 22.4 - 6th September 2022
Updated SQLite to version 3.39.2.
Fixed file path handling bug for Windows ARM affecting various functions.
MBS Xojo Plugins 22.3 - 12th July 2022
Added 64-bit Windows ARM plugin support.
Added "MariaDB:" prefix for
SQLDatabaseMBS class. Added kMariaDBClient constant for
SQLConnectionMBS class. Updated SQLAPI to version 5.2.1.
MBS Xojo Plugins 22.2 - 17th May 2022
MBS Xojo Plugins 22.1 - 15th March 2022
Added BeginTransaction method for
SQLDatabaseMBS to avoid SQL errors. Deprecated
DuckDatabaseMBS and related classes since MBS Xojo SQL Plugin handles this. Fixed a memory leak in
SQLPreparedStatementMBS class with binding. Fixed a problem with
SQLPreparedStatementMBS class, where an invalid parameter name would crash the app as clang optimized the NULL check away. Rebuild SQLAPI with std::atomic for mutex handling.
Updated SQLAPI to version 5.1.9.
Updated SQLite to version 3.38.0.
Updated Xcode to version 13.2.1.
MBS Xojo Plugins 22.0 - 18th January 2022
Removed Shell method for
InternalSQLiteLibraryMBS class. Please use command line tool instead. Updated SQLAPI to version 5.1.8.
Updated SQLite to version 3.37.0.
MBS Xojo Plugins 21.5 - 16th November 2021
Added CacheInsertStatement flag for
SQLDatabaseMBS to cache insert statements for InsertRecord to speed those up. Changed
SQLPreparedStatementMBS class to raise TypeMismatchException if you pass array of variant for param array, e.g. array in array. Fixed a problem with decimal data type for Firebird in our
MBS Xojo SQL Plugin. Fixed issue for
MBS Xojo SQL Plugin when using Download command with CubeSQL. Updated SQLAPI to version 5.1.7.
Updated plugin SDK for Xojo 2021r3.
Updated Xcode to version 13.1.
MBS Xojo Plugins 21.4 - 7th September 2021
Added thread pooling for Windows to be used for multi threaded methods.
Added FieldExists method to
SQLCommandMBS class. Updated SQLAPI to version 5.1.5.
MBS Xojo Plugins 21.3 - 12th July 2021
Fixed a memory leak with trace event in
SQLConnectionMBS class. Fixed an issue with SetLocale in SQL Plugin, introduced in 21.2. Now using C locale for Windows.
Updated SQLite to version 3.36.0.
Updated Xcode to version 12.5.1.
MBS Xojo Plugins 21.2 - 18th May 2021
Added code to use ICU libraries for SQLite. See new properties on
InternalSQLiteLibraryMBS module. Added constructor for string to
SQLDateTimeMBS class. Added kSnapshot constants for
SQLDatabaseMBS and SQLConnectionMBS classes. Enabled math and geopoly functions for internal SQLite library. see
InternalSQLiteLibraryMBS Fixed a bug with string handling for
MBS Xojo SQL Plugin on Windows. Patched SQLAPI to parse timestamps with fraction better.
Updated SQLAPI to version 5.1.4 with new DuckDB support.
Updated Linux 64-bit build machine to Ubuntu 18.04. Plugin still compatible to Ubuntu 16 and CentOS 7.7.
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
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.
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.
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.
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.
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
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
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
MBS Xojo Plugins 18.3 - 17th July 2018
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.
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.
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
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
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.