Category: SQLEditor

  • Lion Released

    Lion is released!

    Things seem to be going well. SQLEditor appears to work correctly.

    There is one identified issue which means that you cannot register the app for all users of a machine. Each user must register the app separately in their own account. (This is due to the /Library/Preferences directory now only being writable by root).

    This doesn’t affect Macs which are already registered. Administrators can also manually set the preference keys in the
    /Library/Prefererences/com.malcolmhardie.sqleditor.cocoa.plist

    file to register for all users.

    This problem will probably fixed by making the registration process separate and running it with higher permissions.

    HTMLValidator still needs some more work and isn’t currently compatible. A revised version is in the works and should be available soon.

    TesseractOCR seems to be working fine (and if you haven’t seen them, please check out the xcode 4 source release, it’s a big improvement)

  • SQLEditor and OS X 10.7/Lion

    The release of OS X 10.7 Lion is approaching very fast and the question must be: is SQLEditor compatible?

    The answer is that I expect that SQLEditor will be compatible with OS X 10.7 when it is released in July.

    There is a new page up on the support site about this,

  • SQLEditor Diff Support: A Sneak Peak

    Development work is continuing on SQLEditor, and I thought I’d post a sneak peak of some features that will be arriving fairly soon.

    Today the feature is Diff support. Yes, it’s something that people have been asking for and something that I’ve wanted to add for some time and here it is:

    In this example the original table probably looked something like this:
    The table as it was before the alterations

    The diff panel shows the SQL instructions that you need to execute to get from the original table to the new table.

    This is useful for any number of things, but the most obvious one is if you’re running a database on a remote web server and you only have command line access, you can make changes, grab the instructions needed to make the change and paste them into the command line client on the server. Other people may want to a record of alterations to their databases for change tracking; or they might not trust SQLEditor to get the changes right and might want to inspect any changes before applying them.

    With new diff support you can now do all of these things 🙂

    The observant will also notice the new side bar which as well as the usual source view and the new diff view, also contains a new object search panel as well.
    (more on that in another post).

    Right now the diff system allows you to choose between comparing the last save of the document or comparing it against any other open document.
    The “Compare With” popup allows you to choose what you compare to.

    It’s still being worked on, but it should appear in the next major upgrade.

  • SQLEditor now zip file not a dmg

    In a change that will probably affect almost nobody at all, SQLEditor is now being distributed with a zip file rather than a dmg as the default download.

    Why?

    • Zip files are simpler to create
    • It prevents the problem of the app being run from the dmg
    • Safari handles zip downloads really nicely
    • Disk images created in 10.6 tend to loose their background images in 10.5

    That last problem is quite significant, because most of the friendliness of the dmg is the background image; if you loose that, you might as well have a zip file.

    There are some benefits from dmg files:

    • They have the background image and the drag to applications directory install
    • DMG files can be smaller
    • DMG files are handy to store

    But then if you loose the first point anyway, it might not be worth bothering.

    Now there are excellent tools like DMG Canvas for creating cross platform disk images that work fine and keep their background images, but I began to wonder if it was worth the effort for SQLEditor. Were the benefits of the background image sufficient to make up for the trouble?

    Various notables including John Gruber, Panic and Sofa recommend or use zip files, so it’s becoming more popular. (The Mac App Store uses pkg but it’s a different story altogether)

    The change isn’t actually as significant as it seems anyway, because SQLEditor has been available in both zip and dmg formats for some months now. The release process automatically builds both zip and dmg format archives and uploads them at the end of the build release process. The change is really just that the website links now point to the zip instead of the dmg. (And if you really want the dmg you can change zip to dmg in the download link and get a dmg)

    Enjoy!

    Or take absolutely no notice of it at all 🙂

  • Drizzle JDBC supports MySQL

    I came across the Drizzle JDBC driver today, which seems very interesting

    Most interesting though, is that it supports MySQL and it is BSD licensed. This could solve some of the licensing problems that applications like SQLEditor run into.

    I’m hoping to have a good look at it later this week.

  • SQLEditor + Django

    Good news everyone…

    the new Django plugin for SQLEditor is now available.

    It allows you to import, edit and export Django model classes with SQLEditor.

    Django Plugin Page

    There are some limitations still, in particular it doesn’t support all of the SQLEditor object types and there are some limitations with foreign key support, but the basics should work pretty nicely.

    The Django plugin is also now built using the new SDK, which is getting closer to public release.

    I’m really interested in knowing what people think of this, so a feedback on this is particularly welcome. 🙂

  • SQLEditor 1.6 final

    So, if you’ve seen SQLEditor recently, you’ll hopefully have seen that there is a new version out: version 1.6. This got released just at the beginning of December 2009

    1.6 is something that I’ve been working on now for a long time, it is essentially (the unreleased) version 1.5 with improvements and updates. In particular it contains a SQL parser that was written using ANTLR and a new JNI based system for using JDBC drivers with support for Java 6 JDBC drivers.

    It’s also the first release version of SQLEditor that is compatible with Snow Leopard. SQLEditor 1.4.7 and earlier had an unusual architecture. When I originally started writing SQLEditor, it was a Java application with a Swing user interface. After some development it seemed clear that java swing was proving limited in some ways. I rewrote the user interface layer in Cocoa, leaving the model layer in Java and using Cocoa Java to connect the two parts together. The application development continued and new versions were released. Eventually though, Apple decided that Cocoa Java was not the future and decided to deprecate it.

    Work began immediately on rewriting the crucial components of SQLEditor, although there were some issues.

    The first was the model code. Every object in an SQLEditor document is represented by an object and all of the code for these objects was written in Java. All of the object code was rewritten and tested against the earlier versions to check that it still worked. It was very important that files from previous versions continued to work (and as far as I know all of them so far do). New code was written to read and write the SQLEditor document xml format.

    The second major issue was that the database interface used JDBC drivers, which are written in Java. Native code would use ODBC drivers. Although similar this might mean that users wouldn’t be able to use existing arrangements to access databases.

    Eventually code was written to bridge between SQLEditor native code and the JDBC drivers using the Java Native Interface (JNI).

    The other crucial problem was the SQL parser. This is used if you paste SQL code into SQLEditor or if you import a file. The SQL parser was written using JavaCC, a parser generator that is written in and produces Java code. Several parser generators were looked at to replace JavaCC and eventually ANTLR was chosen.

    A new SQL parser was written and tested during 2009 in ANTLR and is included in SQLEditor 1.6. The new parser is completely rewritten compared to the one that existed in SQLEditor 1.4.7 and no code is shared between them.

    A major step in developing the new parser was to port all of the SQL test cases from Java (in 1.4.7) to objective C (in 1.6). These automated unit tests are run against the parser to ensure that the new parser behaves correctly compared to both the 1.4.7 parser and the assorted SQL standards.

    It is still something of a work in progress though, there are things it doesn’t support and it’s still being actively worked on. One particular thing that makes this somewhat harder than it might otherwise be is that it must accept SQL in several different dialects, not just a single standard.

    SQLEditor 1.6 also included user interface improvements and various performance fixes.

    Overall it’s an improved program, although I do wish that it had been released sooner.

    Thanks to everyone using SQLEditor for your patience and also for trying the beta versions.

  • SQLEditor 1.6

    The SQLEditor 1.6 public beta has been available now for about 3 weeks and I’m getting more hopeful about a final candidate release.

    SQLEditor 1.6 is required for Mac OS X 10.6 Snow Leopard support, but because major sections needed rewriting to get this compatibility, there are also improvements to the core of the application.

    There is a brand new SQL parser which is based on ANTLR and a new, more extendible, export system. Plus there are lots of other improvements in both user interface and functionality.

    Best of all, it’s going to be a free upgrade for existing SQLEditor customers.

    The beta is currently at version 1.6b7 but 1.6b8 will probably be out very soon.

    I hope that you like it.

    🙂

    Download
    SQLEditor 1.6b7
    (DMG file | 4.2MB)

  • SQLEditor 1.4.4 Released

    SQLEditor 1.4.4 was just released on Tuesday, the main feature improvement is the support for compound foreign keys. I posted a bit about this before and the final version is pretty much the same as I described.

    Unfortunately there were a couple of bugs that slipped through relating to clicking objects. 🙁

    These are going to be fixed in a point release that should appear soon.

    The new version is available from the automatic update system or download here:


    3.9MB dmg File
    Change Log
    Product Notes
    Expires
    21st January 2009
  • SQLEditor: Compound Foreign Keys

    The newest version of SQLEditor (1.4.4b1) now has support for compound foreign keys. This is something that people have been asking about for a while now, so I’m pleased that it got included.

    There are some things that may need to be improved, but I’m fairly happy with the first revision of this.

    Diagram showing compound foreign key
    Diagram showing compound foreign key

    The compound foreign key object is a new table level object that you can add from the Object menu just like a field or index. Then you drag from the foreign key to the target table. Finally you use the inspector to create pairs of columns to link together.

    When importing from a database SQLEditor will try to create field-to-field links on foreign keys with only 1 pair of columns unless you tell it otherwise. (There is a new preference to do this)

    Support is fairly complete, SQL parsing, database import, database export and SQL export are all available so it should work fairly well. I think the only thing it doesn’t do is auto-create indexes, so you may need to do this by hand on referenced columns (for those databases that need this)

    There is naturally a new inspector palette to go with the table object.

    Compound foreign key inspector
    Compound foreign key inspector

    This allows you to add pairs of columns using the + button at the bottom. Choose your columns using the little popup menus.

    The whole thing is completely new, so please send in your thoughts to the usual address.

    Download SQLEditor 1.4.4b1

    (or enable the “Check for beta versions” preference and then use the check for updates feature)