SmartData™ for SQLite (Now free)

Window is always maximized. It may have something to do with the limited version?

I sometimes build up my queries visually and copy/paste the sql into other tools.

Hmmm, I doubt that the issue is caused by licensing. I’ll have do some testing on my side to see if I can reproduce the issue.

Will post updates here once I have more info.

[quote=336601:@Peter Fargo]Menu issues fix confirmed.
Window size/position is not working for me. Always opens fully expanded to display (not fullscreen mode).
Another quirk…

Select t_project.name,
t_vendor.name,
t_expenditure.date_expenditure,
t_expenditure.amount
From t_project
Join t_workorder On t_project.project_id = t_workorder.project_id
Join t_vendor On t_workorder.vendor_id = t_vendor.vendor_id
Join t_expenditure On t_workorder.workorder_id = t_expenditure.workorder_id

My resulting records are not distinguishing the two fields “name”. I get the vendor name in both columns of the listbox. Easy enough to workaround with aliases but shouldn’t have to…[/quote]

my opinion is the “workaround” is the preferred solution … I did some testing, and was not thrilled with how SQLite handles this (it SHOULD complain that “name is ambigious”, but instead it creates an internal column name of “NAME:1” which my TADPOLE only revealed which I asked to see the DDL for the table, otherwise it showed “NAME” and “NAME” just like you mentioned… and even if the code (Alwyns or mine, or anyone elses) could show the “:”, the user would be unsure which it referred to.

I agree with Dave that using an alias is normal and preferred. I guess my wording above was ambiguous.

The reason for the report was data was repeated in both columns (“vendor” name in both) when it should have had the “project” name in one and the “vendor” name in the other. The sql was fine but the result was not.

I will definitely look into this.

[quote=336769:@Peter Fargo]I agree with Dave that using an alias is normal and preferred. I guess my wording above was ambiguous.

The reason for the report was data was repeated in both columns (“vendor” name in both) when it should have had the “project” name in one and the “vendor” name in the other. The sql was fine but the result was not.[/quote]
Problem is SQLite doesn’t return any information that would allow what you mention (which is too bad)… it simply appends “:x” where “X” is a number to the end of each ambigious reference… the app would have to attempt to parse the original SQL to find what the table name was… Unlike other database engines that would have done that for you. My Tadpole had been silently ignoring the “:x” information [to be honest, until I read this, I too was unaware of the issue]…

It seems like the only way around this would indeed be to build a SQL parser to effectively build a lookup dictionary for table names with the key being the number and the value being the table name.

Will have to think about this one a bit more, and also see if there aren’t perhaps any other way to deal with it?

{Zoclee}™ SmartData v2.0.10 is now available for download.

Release Notes:

[Fix] Saved window state now maximizes to fullscreen mode instead of display size.
[Fix] Fixed cell highlighting issues with NVARCHAR, VARCHAR, VARYING CHAR, NCHAR and NATIVE CHAR types.
[Enhancement] Changed menu item to “Send Feedback”.
[Enhancement] Improved the opening of databases from the application menu.
[New] Open recent files.
[New] Added contextual menu to SQL console to cut, copy, paste and delete.
[New] Added edit menu to main menu.

I’ve made some changes and hope this issue is now fixed.

Added a edit menu to the main menu, as well as a contextual edit menu to the SQL textbox.

An “Open Recent” menu item has been added to the file menu.

[quote=336843:@Alwyn Bester]It seems like the only way around this would indeed be to build a SQL parser to effectively build a lookup dictionary for table names with the key being the number and the value being the table name.

Will have to think about this one a bit more, and also see if there aren’t perhaps any other way to deal with it?[/quote]
my take on this one?
Don’t bother… unless you can write a bullet proof parser (taking into consideration joins, unions, subquery etc)… you’d be bound to report something incorrectly at somepoint…

Turn short column names off and they’ll be fully qualified names
http://documentation.xojo.com/index.php/SQLiteDatabase.ShortColumnNames

Thank you Norman. There I’ve learned something new.

[quote=336847:@Dave S]my take on this one?
Don’t bother… unless you can write a bullet proof parser (taking into consideration joins, unions, subquery etc)… you’d be bound to report something incorrectly at somepoint…[/quote]

I’m with you on this one. Best to rather rely on the well tested and robust SQLite library.

Unless you work for a car manufacturer, reinventing the wheel is usually not the best option.

{Zoclee}™ SmartData v2.0.11 is now available for download .

Release Notes:

[Fix] Implemented event handler for unhandled exceptions.
[Fix] Arrows now indicated clearly that query toolbar is draggable.
[Fix] Fixed issue where query editor covers whole window.
[Fix] Moved About menu to the application menu on OS X.
[Enhancement] Removed flicker when resizing layout.
[Enhancement] Last window position is now only saved once in Close event.
[Enhancement] Removed all code that could possibly maximise the main window.
[Enhancement] Created more subtle highlighting for NULL values.
[New] Database file path is now shown in caption.
[New] Row filter.
[New] Run queries using the Ctrl+Enter shortcut.
[New] Populate tables with test data.
[New] Windows 64-bit installer.

I think the one new feature that has the greatest impact is the new row filter (see image below). The row filter is a quick search to find rows with specific values. Anything you type into the row filter is used to only display rows that contains the search text. SmartData automatically searches all the columns for you.

{Zoclee}™ SmartData v2.0.12 is now available for download.

This is a very important update for it contains lots of optimisations for better efficiency and for dealing with very large tables. The issue that Dave pointed out of dealing with large million+ row tables have been fixed.

Release Notes:

[Fix] Changes are now only updated once when a cell looses focus.
[Fix] Fixed runtime error when clicking outside of column range.
[Fix] Fixed application icon on 64-bit installs.
[Enhancement] Improved loading speed of table rows.
[Enhancement] Improved loading speed of query results.
[Enhancement] Cell can now be edited by double clicking on it.
[Enhancement] Table now automatically scrolls when inserting new rows.
[Enhancement] 32-bit/64-bit are now indicated in caption and installer.
[New] Added grid lines to tables.
[New] Added refresh button to quickly reload table.

I will take a look at Lexing. In the meantime I did create a feature request ticket for Syntax Highlighting, so expect to see it in a future version.

{Zoclee}™ SmartData v2.0.13 is now available for download.

This version mainly focused on tweaking the user experience of the existing features, and fixing some issues gathered from user feedback.

You can now access your recent files conveniently from the toolbar:

See the rows affected by your queries:

Apart from all the improvements, we have also added a free 30 day trial period to SmartData which will now give you full access to all features for 30 days during your evaluation period.

Release Notes:

[Fix] Scrollbar is now hidden when no is table selected.
[Fix] Fixed issue with determining of unique constraints.
[Fix] Disabled column sorting on data grid.
[Fix] Database is no longer marked as changed by error query runs.
[Fix] Fixed issue where an error is reported with queries containing semicolons.
[Fix] Fixed issue where scrollbar does not get reset to the first position.
[Fix] Restoring window no longer gets stuck on maximum screen size.
[Fix] License expiry time is now reported correctly.
[Enhancement] Schema can now only be changed when all existing data changes are committed.
[Enhancement] Changed “Open” to “Connect”.
[Enhancement] Changed “Save” to “Commit”.
[Enhancement] A rollback is now automatically performed with errors on table changes.
[Enhancement] Row filter is now preserved during query runs.
[Enhancement] Moved query toolbar icons to left.
[Enhancement] Increased SQL history item limit to 2000 unique queries.
[Enhancement] SQL history is now shared instantly between {Zoclee}™ SmartData instances.
[Enhancement] Columns now autosized on first load.
[Enhancement] Custom column widths are now preserved for duration of connection.
[New] Added query results label that reports rows affected.
[New] Pressing Enter or Down Arrow in Row Filter changes focus to the row listbox.
[New] Recent connections can now be accessed directly from toolbar.
[New] Built in 30 days free trial period.

Enjoy :slight_smile:

{Zoclee}™ SmartData v2.0.14 is now available for download.

This release contains plenty of bug fixes and enhancements.

Release Notes:

[Fix] Added error trapping for loading of recent items.
[Fix] Database create window is now closed immediately upon creation.
[Fix] “Add column” text now fits on button (OS X).
[Fix] Fixed runtime error when clearing BLOB.
[Fix] Changing text case is now detected correctly as a database change.
[Fix] Fixed issue where row selection is cleared on scroll.
[Fix] Fixed issue with row scrolling when using arrow keys and PgUp and PgDown.
[Fix] Row filter is now honoured in CSV export.
[Fix] Fixed issue with CSV export of selected rows.
[Enhancement] Changed “Open” to “Connect” in file menu.
[Enhancement] Table name is now highlighted when table editor opens.
[Enhancement] Columns can now be resized in table editor.
[Enhancement] Column name receives focus when adding a new column in the table editor.
[Enhancement] An untitled column is no longer added automatically when creating a new table.
[Enhancement] Multiline SQL queries are now shown as single lines in SQL history explorer.
[Enhancement] Increased datagrid row height.
[Enhancement] Moved query toolbar back to middle of window.
[Enhancement] Tables are now listed in alphabetical order.
[Enhancement] Query result columns are now autosized.
[Enhancement] Removed column types from CSV heading titles.
[New] Added ability to remove queries from query history.
[New] Row count is now displayed above datagrid.

Ok, so after some major refactoring the next release is finally ready. I had to make some big changes in the architecture of SmartData in preparation for upcoming features.

Download SmartData

[quote=335989:@Joost Rongen]@Alwyn Bester - you could consider using the Lexing control to provide syntax SQL highlighting .
I use it in my query-builder project for more than a year now and it works super.[/quote]

The biggest improvement to this version is syntax highlighting. I eventually decided however to bite the bullet and write a new syntax highlighter from scratch using the Xojo Canvas as a base. The reason for this is that I’m planning some very advanced editing features, for which I will need a custom text editor anyways, so I thought I might as well go through the effort now rather than later.

Here is a screenshot of the new syntax highlighting.

The syntax colour scheme comes in three flavors, namely night-mode (dark), day-mode (light) and switched off. You can easily switch between them by simply clicking the black-and-white button above the query editor. SmartData will automatically remember your last chosen colour scheme setting.

I’ve tested the colour schemes with two colour blind users. Both of them were able to use the colour schemes as is. Any feedback on the colour schemes are welcome though and would be greatly appreciated.

Here is a full list of the release notes for this version:

[Fix] Boolean values can now be updated.
[Fix] On update errors cell values are now changed back to previous value.
[Fix] New row inserts are now performed independent from column type.
[Fix] Column types are no longer exported as part of header in CSV exports.
[Fix] Fixed Shift selection of rows.
[Fix] Fixed page flash when inserting new rows.
[Fix] Ctrl+A now correctly selects all rows.
[Fix] Fixed positioning of SmartData logo.
[Fix] Fixed issue where key down scrolls rows off screen.
[Enhancement] Major refactoring in support of upcoming features.
[Enhancement] Slightly reduced row heights.
[Enhancement] Created more subtle highlighting for BLOB values.
[Enhancement] Columns in CSV import preview can now be resized.
[Enhancement] Row filter is now honoured in CSV export.
[Enhancement] Increased minimum width limit of row listbox.
[Enhancement] Increased wheel row scroll step.
[Enhancement] Only fully visible rows are now displayed.
[New] Syntax highlighting.

Happy querying :slight_smile:

SmartData™ v2.0.16 is now available for download.

This release makes some improvements to the query text editor, and switched to the Solarized colour scheme, A screen shot of the new syntax highlighting is given below.

Another very useful feature that was added is that you can now very quickly add new rows by just double clicking on the first empty row below the last row in a table (instead of having to move the mouse all the way up to the toolbar to click on the Insert Row icon).

Release Notes:

[Fix] Fixed selected text highlighting that does not clear.
[Fix] Double clicking in query editor now works on Linux again.
[Fix] Linux: Fixed encryption algorithm text being cut off on Create Database window.
[Fix] Fixed About window title caption.
[Fix] Syntax editor now returns text in a UTF8 encoding.
[Fix] Horizontal scrollbar position is now preserved.
[Enhancement] Changed syntax highlighting to Solarized colour scheme.
[Enhancement] Re-branded application exclusively as SmartData™.
[Enhancement] A new row can now be added by double clicking on the last row.
[New] Query editor can now be navigated with Ctrl+Left/Right Arrow.

Any feedback is welcome and appreciated.

SmartData™ v2.0.17 is now available for download.

This is just a maintenance release that fixes a few minor issues, and switched to a tree view of the database instead of a table list view.

Release Notes:

[Fix] Fixed runtime error when closing database while changing table name.
[Fix] NULL values are now correctly exported as null values with CSV exports.
[Fix] Linux: Fixed encryption algorithm text being cut off on Create Database window.
[Fix] Affected row count is now cleared on rollback.
[Enhancement] BLOB values are now exported as Base64 encoded values with CSV exports.
[Enhancement] Significantly improved scrolling speed of table rows.
[New] Switched to a tree view for the database.