Paul Robertson's words, punctuated

Thoughts on development, user-centered design, code, etc. by Paul Robertson

Run! AIR SQL query authoring/testing tool

Run! is a “query runner” tool for Adobe AIR developers building applications that use AIR’s local SQL database (SQLite) functionality.

A screenshot of the Run! AIR SQLite query testing tool, showing the tree view of the tables in the open database as well as a query and its results.

The current version of Run! is 0.2.1 (July 7, 2009)

Run! was previously known as “Doppler” but my plans for the project changed somewhat, so a name change seemed appropriate too.

When I’m developing an application that uses a database, I find it much easier to get a SQL statement working in isolation rather than trying to write it and test it within the application source code. That is the basic idea of Run!. Since Run! can load and save SQL files directly, I use it as the editor application for my SQL code while I’m building AIR apps that use SQLite database functionality.

Install

To install Run!, click on the “Install Now” link in the installer badge:

Please upgrade your Flash Player to view the install badge

If the badge installer doesn’t work for you, you can also Download the .air file and execute it to install Run!. You will need to have Adobe AIR 1.5 (or later) installed on your machine already.

Notes: If you have “Doppler” version 0.1.3 or earlier installed, you will need to uninstall it before installing the latest version. Starting with Run! version 0.2, the application includes support for auto-updating, so that should no longer be necessary.

Currently I’m only providing the .air file, although someday (once I’ve cleaned up the code) I plan to make this an open source project.

Details

Here’s a screenshot to give you an idea of what to expect from Run!:

A screenshot of the Run! AIR SQLite query testing tool, showing the tree view of the tables in the open database as well as a query and its results.

The main part of the application is the query editor on the right hand side. You enter your SQL and run it, and if it’s a SELECT query you see the results in the grid beneath. In addition, the db structure is shown in the tree on the left. You can double-click on a table or column node, and it’s name is automatically entered in the editor at the selection point.

Note that Run! is not intended to be a full-featured database administration tool. For additional “admin tool” functionality, such as creating and managing tables and indexes, I use and recommend David Deraedt’s “Lita” SQLite admin tool. I personally use both tools for development. I use Lita for creating/managing database structure. I use Run! for testing queries because it shows more detailed table and view structure without needing to click away from the query window and has some additional functionality.

Project history

0.2.1 (2009-07-07):

  • The application is now signed with a trusted/chained certificate
  • Editor pane improvements:
    • Added find/replace functionality (Ctrl/Cmd + F to open dialog)
    • Added block indenting: when a block of text is selected, pressing tab indents the selected lines (shift-tab removes indent)
    • Added menu/toolbar commands to insert single-line and multi-line comments (and remove comments)
  • Bug fixes:
    • If the result includes a column named “uid” it is not displayed in the results table
    • Rolling the mouse wheel over the line numbers causes the line numbers (but not the editor text) to scroll

0.2 (2009-03-18):

  • Renamed project to “Run!” to reflect new plans and direction for the app
  • Added update functionality. You should no longer need to uninstall the previous version to install a newer one.
  • Editor pane improvements:
    • Line numbers
    • Code auto-indents when you type <Enter>
  • Results pane improvements:
    • For SELECT query results, the number of rows returned by the query is displayed
    • For SELECT queries, the statement execution time is shown
  • Schema pane improvements:
    • Table and view names are sorted alphabetically in the schema tree
    • Table and view schemas are loaded separately, so that if view schema loading fails, table schema is still shown. (This is a workaround for an AIR issue where if you have too many views in a database, view schema loading fails.)
  • Menu improvements:
    • New menu item: “New SQL file” (Ctrl/Cmd+n)
    • New “Recent SQL files” submenu
    • New “Recent databases” submenu
    • New keyboard shortcuts for menu commands: “Open SQL file” (Ctrl/Cmd+o), “Save SQL file” (Ctrl/Cmd+s)

0.1.3 (2009-01-26):

  • Fixed bug: when an error occurs, only the error id was showing. Now the entire error message is displayed.
  • Fixed bug: views and their columns now display in the left-hand tree. (And no “views” node appears if the database doesn’t contain views.)

0.1.2 (2008-11-18):

  • Added support for encrypted databases. When you attempt to open an encrypted database, a prompt will appear asking for the encryption key. You must enter the key as a Base-64-encoded string.
  • Updated AIR version to 1.5.

0.1.1 (2008-08-28):

  • Updated AIR version (needed for new SQL error detail ids). This application now requires Adobe AIR 1.1.
  • Fixed bug: after creating new database, error popup appears due to empty schema.
  • Fixed bug: # rows affected message doesn’t appear for non-SELECT statements.
  • New feature: added “refresh” button for schema tree, to reload the tree after modifying the structure via SQL

0.1 (2008-08-19): Initial release