Version 4.1.0 New Feature: Added the capability to import delimited text files (e.g. csv files created from spreadheet apps)-Added to the "File" polymorphic VI. New Feature: Added new PRAGMA "busy_timeout" (only applicable when using 3.7.15 or later binaries) New Feature: Added "SQLite_Set Busy Timeout.vi" to low level palette (Default=0ms Off). New Feature: Added "Busy Timeout" terminal to SQLite_Open (Default=0ms Off). Bug Fix: issue #19 SQLite_Open.vi would crash on MAC osx lion. Bug Fix: issue #16 SQLite Read Blob.vi fails on zero length data. Changes: Added "Import Text" (import delimited files) to the Files Example. Changes: Modified Import File icons so that they are more decernible. Changes: Removed cursor VIs from "SQLite DB Manager.vi" since they are not supported on all platforms. Changes: Modified "SQLite_Data Logging Example.vi" to use DBL polymorphic instance instead of converting from string. Version 4.0.0 New Feature: Added VxWorks 6.3 support (cRIO and sbRIO targets). Added binary "sqlite3x32.out" to enable VxWorks support (commercial license holders only). New Feature: Added extended error reporting. Now reports extended error reasons. Bug Fix: issue #14 SQLite_Backup.vi can fail to finish backup. Bug Fix: issue #13 Fails to write to encrypted databases with error 26. Changes: Reduced the number of rows inserted in the "SQLite_In Memory DB Example.vi" to prevent memory exhaustion on RT targets. Changes: Changed licensing. The API is now dual licensed (non-commercial and commercial) with the non-commercial changed to international licence from region specific. Version 3.0.1 New Feature: Added conditional defines to specify the SQLite Journal Mode. (refer to the readme section "CONDITIONAL SYMBOLS") New Feature: Added new example "SQLite In Memory DB Example" to demonstrate using in-memory databases with the low level functions. New Feature: Added SQL export function to application example "SQLite DB Manager". Bug Fix: issue #6 The query Transaction.VI reports out of memory error. Can now use semi colons [;] in multi-line SQL transactions (illiminated a previous limitation). Bug Fix: issue #10 Missing database data in export file (Missmatched enum in SQLite_Table Info.vi causing column details to not be returned). Bug Fix: issue #12 File export of blob fields are not encoded (added code to SQLite_Implode 1D-Individual.vi to format into required hexadecimal format when null chars detected). Performance: Minor optimisations e.g. Replaced "Find First Error.vi" in SQLite Close.vi with a quick check of previous error. Performance: Optimised binaries yielding approx 10% speed improvement for SELECT statements. Changes: Added number of rows and encryption boolean to "SQLite Speed Example.vi" so that differing numbers of records AND columns can be benchmarked with or without encryption. Changes: Removed several duplicate and obsoleted files. Changes: Now using wildcard path in a default conditional disable for all platforms except Mac to make maintenance easier (now doesn't report invalid platform since only ETS is not supported at present but will be in the future). Changes: Moved Sync mode define inside SQLite open.vi removing the requirement to explicitly use the SQLite Set Sync Mode.vi when using the low level palette. Changes: Changed all SQLite library references to pointer sized integers (has never caused a problem - a defensive change in case of future changes to binaries) Changes: Up issued SQLite binaries to 3.7.13.0. The distribution binaries will now be frozen at this version. Commercial clients can download the latest builds from www.labview-tools.com or via email request. Version 3.0.0 New Feature: Added Macintosh i386 support. Added binary (sqlite3.dylib) to enable Mac support. New Feature: Added "READ" conditional disable symbol. By default, reads are are now "uncommited" (http://www.sqlite.org/sharedcache.html). Bug Fix: Fixed installer (on linux) reporting success when it couldn't copy due to lack of root permissions. Now prevents progress if permissions are inadequate. Changes: Updated all examples to use the application directory rather than default input from front panel (removes OS path dependancy) Changes: Updated "Speed Example" to create an encrypted database to serve as a benchmark including encryption AND as an example of using encryption. Changes: Updated SQLite _Open.vi to open with "shared cache" to support uncommited reads. Changes: Changed fonts on installer for better presentation on non-windows machines. Changes: Updated installer to support Mac. Changes: Up issued SQLite binaries to 3.7.12.1 Version 2.0.0 New Feature: SQLite_Select.vi is now polymorphic (U8,I8,U32,I32,U64,I64,DBL and String) for easier use with homogenous tables of LabVIEW data types. New Feature: Added AES encryption support. New Feature: Added SQLite_Change Password.vi to enable encrypting and decrypting of existing databases (New encrypted databases can be created without using the VI). New Feature: Added KEY and REKEY pragmas to support the encryption. New Feature: Added SQLite_Is Encrypted.vi to support the encryption. New Feature: Exposed SQLite_Prepare.vi on the low level palette (Feature Request #9). New Feature: Updated SQLite DB Manager to support encrypted databases. Changes: Renamed some window titles for better presentation of names in the palettes (in particular the bind VIs)) Changes: File path now accepts the password for encrypted databases in the form "C:\test.3db->Password" Changes: Compiled publicly distributed dynamic libraries with AES 128 (ECB) encryption (commercial users can download AES 256 (CBC) binaries from labview-tools.com or by email request) Changes: Compiled dynamic libraries to remove deprecated and unused features (decreased binary sizes). Changes: Compiled dynamic libraries with "Secure Delete" as default. Version 1.4.0 New Feature: Exposed all Fetch functions on "Low Level" Palette. New Feature: Exposed bind functions on "Low Level" Palette. Lower level access to binding and executing variables for prepared statements. New Feature: SQLite_Prepared Execute.vi (Low Level Palette) is now polymorphic. Can now execute prepared statements with doubles, int, int64 without first converting to text. Bug Fix: Wired an error cluster from CLN in SQLite_Column Count.vi that should have been wired (error cluster in question is used for sequencing and would not have impacted users code) Changes: Added file name conversion to utf8 in SQLite_Open.vi to make it easier to use with Asian character sets. Changes: Up issued SQLite binaries to 3.7.11.0 Version 1.3.5 New Feature: New application example "SQLite Error Logging Example.vi".Demonstrates logging errors, warnings and info to a database. Performance: Retrieves column type once now instead of every Fetch (~10% speed improvement). Changes: Binaries now compiled with FTS4 as well as FTS3. Changes: Up issued SQLite binaries to 3.7.9.0 Version 1.3.4 Changes: Improved error reporting. Now returns more verbose errors indicating nature of SQL errors in syntax instead of just "SQL error or missing database " Changes: Up issued SQLite binaries to 3.7.8.0 Version 1.3.3 New Feature: Added "Error If Exists" boolean to Create Trigger VIs. Changes: Up issued SQLite binaries to 3.7.7.1 Version 1.3.2 New Feature: Added Foreign Key support to high level APIs. Changes: Up issued SQLite binaries to 3.7.6.2 Version 1.3.1 Bug Fix: Swapped case selector cases in "SQLite_Query-Transaction.vi" Fixes SQlite_Query-Transaction returning RowID when it shoudn't Bug Fix: Changed regex in "SQLite_RowID Insert.vi" to fix problem with some characters following DISTINCT causing incorrect insertion. Changes: Removed boolean from VIs that are reliant on the SQlite_Query-Transaction that were set to TRUE. Changes: Renamed SQLite_Load File to SQLite Import File in-line with its API name Version 1.3.0 New Feature: New application example "SQLite Data Logging Example.vi".Demonstrates dynamic graphing with infinite history and auto-decimation. New Feature: New example "SQLite Order Limit and views Example.vi". Demonstrates using ORDER and LIMIT SQL queries and the new Views functions . New Feature: New polymorphic VI "SQLite_Views.vi" added to the palette. Allows the creation and deletion of "Views" (pre-packaged select statements). New Feature: New VI "SQLite_Prepared Execute.vi" added to Low Level palette (allows execution of prepared statements). New Feature: SQLite DB Manager can now delete multiple rows. New Feature: SQLite DB Manager can now update columns (live editable table cells). New Feature: New file function "SQLite_Export.vi". Exports a database contents to a SQL formatted text file. Performance: Changed "SQLite_Fetch All.vi" to get column count once before each row (new VI "sqlite_column count.vi")- Thanks MattW. Performance: Eliminated a few coercion dots. Performance: No longer check error clustor in "SQlite_Fetch Record.vi" and removed conditional terminal (superfluous) Performance: Replaced labVIEw function "Trim Whitespace" with "Fast Trim". Bug Fix: Changed all API poly VIs to corrrect execution system (*Other 1"). Bug Fix: Changed "Moveblock" dll call path in SQLite_Read Blob.vi from "labview.exe" to "LabVIEW" (fixes file not found when exe is created). Changes: "Insert" and "Insert Table" conflict clause control is now a Typdef (and corrected spelling). Changes: Added "Where Clause" to SQLite_Row Col Count.vi" - Can now also count rows for a query. Changes: Changed all VI's that have a "No RowID" boolean to return the RowID only if TRUE (feature inversion and renamed). Changes: Updated all example VI's to remove No RowID boolean. Changes: Change"SQL_Tables.vi"Table.vi" menu names to be more explicit. Changes: "SQL_Tables.vi"Table.vi" can now accept fields with definitions (e.g REAL, NOT NULL, DEFAULT etc.). Changes: New implementation of array decimation for "Query BY Ref.vi" - Now can include semicolons in field values. Changes: Changed several API VIs to use the new Fast Trim Function. Chnages: Added empty SQL string check to "Query by Ref.vi" on the offchance it may happen. Version 1.2.1 New Feature: Added "Conflict Clause" to SQLite_Insert and SQLite_Insert Table.vi (allow replace, fail ect) Performance: Changed "SQLite_Prepare.vi" and "SQLite_Bind.vi" to pass data as a U8 array rather than string. Performance: Changed "Insert" (SQLite_Insert Row.vi) to use "Insert Table". (All inserts now use prepared statements. Performance: Changed some low level VIs to re-entrant for better concurrency. Bug Fix: Changed all polymorphic API VIs to show instance icon. (some context help for VI was not being displayed when set to polymorphic VIs' icon) Bug Fix: Exposed "Distinct" boolean on "SQLite_Select.vi". (No terminal on compane). Bug Fix: Replaced some cursor "Unset Busy" with "Set Busy" in SQLite DB Manager. Bug Fix: Changed "SQLite_Bind.vi" to force sqlite dll to use local copy of data. (Fixes reported bug in LVx32 insering the same data in multiple columns). Changes: Changed icon on "Insert Table" to make more visually discerning from "Insert". Version 1.2 New Feature: Added "SQLite DB Manager" application example. New Feature: Added "on-line" backup support (added to the File functions). New Feature: Added "Distinct" option to "SQLite_Select.vi" - Returns duplicate records by default (FALSE) or single occurance if TRUE. New Feature: Added "No RowID" option to "SQLite_Select.vi". "query.vi" and "Query Transaction.vi". Allows results to be returned without the "ROWID". By default the RowID is returned New Feature: Added "SQLite_Insert Table.vi" which allows bulk inserts. New Feature: Added version info to Windows dlls. Performance: Changed Step ordering in "SQL_Execute.vi"(Thanks Matt W). Performance: Moved instances of error code to string further up the hierarchy - less calls. Performance: Replaced Blob reading function with more efficient implementation. Performance: Changed default Synchronisation mode to "OFF" (Mode can be altered in the project options/conditional statements. Valid options include OFF, NORMAL, FULL and DEFAULT. SQLites default setting is FULL (DEFAULT=FULL) when compiled with a standard make file. See www.sqlite.org "PRAGMA SYNCHRONOUS" for more information concerning data corruption when using "OFF".) Changes: Renamed VIs from SQLlite (note extra "L") to SQLite in-line with the correct spelling (Thanks Matt W). Changes: "SQLite_Insert.vi" is now polymorphic to encomapass "SQLite_Insert Row.vi" and "SQLite_Insert Table.vi". Changes: Some icons changed (None in the API). Changes: Up issued SQLite dlls to 3.7.3 Version 1.1 New Feature: Added Blob support. New Feature: Added Trigger support (Insert, Update, Delete, Drop). New Feature: Added File functions (Import SQL and save query). New Feature: Added Delete All Tables (deletes all tables from a database). New Feature: Added Tables Info (Retrieves information about table columns). New Feature: Added Memory and Version utilities (Retrieves information about the SQLite engine). Performance: Modified execution subsystem to remove array allocations. Functional Changes. Query results now also returns the rowid. Version 1.0 Initial Release Shaun Rumbell 05/10/2010