Nov 23, 2008

SqlDbx current state and planned new features

Currently working on version 3.27. It's almost done. Couple of things left to test and make sure nothing got broken. Big change in this release will be change to Editor. We are adding variable pitch font support. It's not that I personally like but we actually need to do it in order to support Asian and Chinese fonts. Even mono space Asian fonts have at least two different widths. Originally Editor was not designed to support variable fonts but it was surprisingly easy to add it. The only complicated thing is column selection mode. Another new feature is SQL formatter. Initial version has some quirks but pretty functional.
One request we getting a lot is to make possible to run SqlDbx from USB key without installing database client software on user computer. I think it is possible to do. The idea is to have all SqlDbx configuration stored in file instead of registry and then copy database client files to flash and then on startup set environment variables, create private registry entries in order to make database client think that it is installed.
Also will be adding ability to filter objects on a left pane. Looked at couple other products and how they do it. Did not find one I particularly like. I am thinking about doing it very in a different way.
Basically I want to make it look like SQL select statement. For example to show all tables whose name starts with "AB" and table named "MYTABLE" plus procedures with names like "*_production_*" you will enter something like this:
(TYPE == 'TABLE' and (NAME like 'AB*' or NAME == 'MYTABLE') or (TYPE == 'PROCEDURE' and NAME like '*_production_*')

TYPE and NAME are predefined column names. Some other columns are OWNER, DATE_CREATED.
One more suggestion from our users is to add ability to easy select child records when if you select parent record in Result Grid. Idea here is to figure out if current result set in Result grid contains primary key and then find out what table(s) reference it and then give menu item to allow to select rows from child table.