Releases: nfinit/SQLiteCE
v0.6.0
Version 0.6.0 of SQLite/CE is a milestone release implementing a proper graphical grid view for query results in addition to the standard tab-separated text view, alongside various enhancements to data export and editor experience.
Grid view
SQLite/CEdit 0.6.0 features a new grid view mode for result output, which can be toggled from the View menu or by a command bar button. Grid view not only provides a more graceful way to view query results, but also allows users to sort on columns and find values in the rowset without needing to write follow-up queries. Grid view will also automatically scale column width based on an initial sample of data returned, which appropriately sizes columns in most cases while incurring significantly less performance penalty. In this version grid view only displays the results of the most recently executed query; multi-query runs will still need to be done in text mode, or one at a time with the editor's Execute at Cursor mode.
Grid view is implemented using a standard CE ListView construct in virtual mode to improve performance by only drawing rows that are actually on the screen. Additional performance enhancements include WM_SETREDRAW batching to prevent unnecessary redraws during rowset population.
Schema Explorer enhancements
The Schema Explorer now distinguishes between primary keys and indexes and features a new icon for the latter, as well as additional icon set tweaks. The font size control now properly scales text and common keybinds such as Alt-X are properly supported for quick exit.
Data export improvements
SQLite/CEdit 0.6.0 can now export tables and query result sets as HTML tables either to a .html file on disk or directly to a clipboard for quick copy-pasting, with options to specify a table header as well as HTML id and class attributes. The standard export function now also supports exporting a table as a SQL script of INSERTs or CREATE TABLE with INSERTs, depending on use case.
Find and replace
The SQLite/CEdit query editor now supports find and replace via Ctrl-H with proper support for the tab, enter and escape keys.
Other minor improvements
The Options dialog can now be exited (with cancel) by hitting the escape key.
Binaries
The included SH-3 binaries are tested on an HP 620LX running Windows CE 2.0. As I lack a MIPS CE 2.0 device to test with, the MIPS binaries, while they build, are provided as-is and may behave in odd ways.
v0.5.0
Version 0.5.0 introduces a substantial new feature: the Schema Explorer, which gives you a hierarchical, graphical overview of every object in the active database new tools to inspect and manage them.
Schema Explorer
The Schema Explorer is a new view mode in addition to the Query Editor and Results pane, and can be accessed via a command bar button or using the keyboard shortcut Ctrl+3. With the Schema Explorer, SQLite/CEdit inches closer to becoming a proper database management tool, giving you the ability to quickly inspect, export and drop any object within a database, as well as see parameters such as rowcounts and sizes with the Show Details view mode. The Schema Explorer can be navigated either by touch or by key, with fully implemented arrow key support. To view the complete contents of a table, select and press Enter or double-tap its icon.
Dynamic interface
SQLite/CEdit 0.5.0 features an updated dynamic context window that shows tools relevant to your view mode, such as execution for queries, quick export for the Results view and DDL export in the Schema view.
Export extensions
SQLite/CEdit 0.5.0 includes a full host of DDL export functions that can extract DDL for single objects or entire databases into a .sql file. Additionally, results can now be exported to CSV or plaintext. Version 0.5.0 also supports exporting individual tables to CSV, with more formats planned in future releases.
UI/UX polish
Version 0.5.0 includes many subtle workflow improvements, including automatic return to the Query Editor view when a new query is loaded.
Test harness
The SQLite/CE Test harness has 27 new test cases to exercise some functions introduced with SQLite/CEdit 0.5.0, among other cases.
Binaries
As with 0.4.0, the SH-3 binaries provided are tested on an HP 620LX running Windows CE 2.0. The MIPS binaries are still untested, and while they should be fine, be wary of odd behavior or errors.
v0.4.0
Version 0.4.0 features a number of bug fixes, UI flow improvements and a major refactor of the SQLite/CEdit source that has broken up the original 2,400-line C file into a number of smaller, domain-specific files for ease of maintenance.
Workflow and experience
- Proper options dialog to reduce menu clutter
- Menu options further consolidated based on operation domain
- Reminder to save on exit if the query editor buffer has been modified
- New command bar control to enable or disable execute-at-eursor mode
- File memory: SQLite/CEdit now remembers the last 5 databases and last 5 queries you opened, allowing you to easily return to them
- Path memory: the Open Query dialog in SQLite/CEdit now remembers the path of your most recently opened query, making it easier to work with multiple related scripts
- Keyboard improvements: Execute scripts with
Ctrl-Ein addition toCtrl-EnterandF5(on CE systems with function keys), text results pane now supports arrow keys,PgUp/PgDn,HomeandEndfor navigation (Home/Endmove to the beginning and end of the current line, respectively, will likely be tweaked for the results pane in future versions)
Bugfixes
Testing for 0.4.0 exposed some significant bugs in SQLite/CEdit's line number display where the line number would increment on wrap even if it was still technically on the same line. SQLite/CEdit now distinguishes between real and logical lines, and the line number gutter will correctly number wrapped lines in this version. An additional bug in which the execute button in the command bar would permanently disable if a user attempted to execute an empty buffer has also been fixed in this release.
New binaries
The release for SQLite/CE 0.4.0 includes an experimental, untested binary set for MIPS systems such as the NEC MobilePro family, in addition to the tested SH-3 binaries.
v0.3.0
SQLite/CE 0.3.0 introduces substantial enhancements to SQLite/CEdit with these key features:
- Line numbering "gutter" that automatically adjusts with line count and font size
- Multi-statement execution with automatic cursor positioning on errors
- "Execute at cursor" option to only execute one statement/line at a time based on cursor position
- Support for importing Windows CE databases as SQLite tables
Outstanding bugs
Testing shows there may be erratic behavior with Alt-key shortcuts, but these may be quirks of the CE 2.0 Toolkit emulator as they do not appear to manifest on physical devices tested.
Installation
- Place SQLiteCE.dll in the
/Windowsdirectory - Place the
.exefiles in any location you like on the device.
v0.2.0
SQLite/CE v0.2.0
This preliminary release is a significant improvement on the 0.1.0 MVP's usability, featuring import/export functionality for both queries and entire databases, along with other improvements.
Data import and export
SQLite/CE 0.2.0's most major usability improvements are in data movement, with the ability to import and export the following:
- SQL queries: Can be saved and loaded in .sql format
- Tables: Can be exported and imported from CSV files with type inference
- Databases: Can be exported (copied) in native SQLite format, or as a folder of CSVs for each table.
:memory:can also be exported for saving/instantiating scratch data.
User interface
Version 0.2.0 adds resizable fonts to the query and result views that can be changed independently of each other, as well as more responsive UI features such as selective greying of options based on current operating context. A new dedicated control for closing an open database has been added to the command bar for environments where databases can only be accessed by one application at a time. Currently, this feature will disconnect any active file database and return the context to the :memory: database.
To install:
- Place SQLiteCE.dll in the
/Windowsdirectory - Place the
.exefiles in any location you like on the device.
v0.1.0
SQLite/CE v0.1.0
This is a minimum viable product release for archival purposes. v0.1.0 includes the ported SQLite 2.8.17 library (SQLiteCE.dll), SQLite/CEdit query editor (SQLiteCEdit.exe) and a simple test harness (SQLiteCETest.exe) that validates some library functionality.
SQLite/CEdit 0.1.0 offers a simple query editor that returns results in formatted plaintext. It can either work from the SQLite in-memory temp database (:memory:) or a database on the filesystem. It supports a number of keyboard shortcuts, minor QoL enhancements, and shows query status and execution time on run.
v0.1.0 binaries are only available for the sh3 architecture, as it was the platform used for physical hardware testing, and functionality has only been tested under CE 2.0. Future releases will target multiple architectures.
To install:
- Place SQLiteCE.dll in the
/Windowsdirectory - Place the
.exefiles in your root directory (they can probably reside anywhere, as long as the.dllis in the right location)