AIR beta 3 and local SQL database changes

Posted December 18, 2007 12:55 pm
Filed under: AIR, Articles by Paul, Flex, Opinions, Writing, local SQL database

Note: Sorry for the delay on this article. I composed this article a couple of weeks ago, and then I got busy with work and holidays and I forgot and didn’t publish it until now =(

If you’ve been following my posts on AIR and the SQL database functionality, you may have noticed a trend: every time there’s a new beta, I tend to go silent for a few weeks beforehand as I try to get things finished up with the documentation. Well, here we went again — another period of silence, another AIR beta.

The marketing team kept things pretty low-key with announcing this new beta, especially compared to previous rounds. I’m not sure of all the reasons for that, but there are a few that are important and helpful for you to know if you’re developing AIR applications:

Of course, following the trend of my going silent before each beta, you can expect that to be magnified as we continue leading up to AIR 1.0. There have been a few things each beta that I wanted to do but had to put off until later — but of course, this time there isn’t any “until later” — so it’s now or never!

Talking specifically about the local SQL database functionality, there were only a few changes this beta, but they’re pretty significant and maybe even a bit sneaky so you’ll want to pay attention to them:

I think that’s it, but please let me know if I’ve forgotten another change!

In the mean time, In addition to the SQL database stuff I’ve been doing more with another part of AIR that I’ve previously been working on as I’ve had time — the AIR-related Flex components. This release includes a new one, the FlexNativeMenu component, which is pretty slick. Watch for more on this in the (hopefully near) future!

You can leave a comment, or trackback from your own site.

3 Comments so far


  1. Hiroaki Nakamura is reported to have said:

    You should see
    http://labs.adobe.com/wiki/index.php/AIR:Release_Notes#API_Changes_in_Adobe_AIR_Beta_3
    for other API changes.
    The removal of SQLStatement.prepare() without any explanation was a big shock to me.


  2. Paul is reported to have said:

    Oh yeah, how could I have forgotten — SQLStatement.prepare() was also removed.

    Yes, I was pretty annoyed about that one when I saw it in the checkin notes when that change was submitted to source control. I tried to argue to get it back, but the “API Review Board” thought that it made the API too confusing to have prepare().

    I absolutely agree that prepare() is useful. Unfortunately there isn’t really a workaround. The only thing you can do is just keep in mind that the first time the SQLStatement is executed it will be prepared and executed, and after that as long as you don’t change the statement text it will already be prepared. (So basically, there’s no way to avoid the performance hit the first time the query is run, although you can save yourself grief on successive executions. And if you were preparing a statement, chances are you were planning to execute it multiple times anyway…)

    Not much consolation, I’m afraid. I’m with you — I lament the loss of prepare(), and hope that the powers that be can be convinced to add it back in.


  3. Paul is reported to have said:

    I just had a conversation with Jason, the engineer who did the local SQL database feature, about prepare() and its removal. He mentioned another point that he considered that helped him conclude that it was okay to remove prepare(). Specifically, he told me that in testing he found that the amount of time necessary to prepare the statement was usually much smaller — generally 2-4 times smaller — than the execution time for the query, and overall execution speed turned out to be positive. Consequently, even on the first execution of a statement when the statement is being prepared, the additional processing time will probably be small enough that it won’t make a noticeable difference on overall execution time.

    Hopefully that helps provide some consolation — or at least clarifies for you (as it did for me) that the issue was given a fair amount of consideration before it was decided.

Add your comment





Comment notes

Please keep comments on topic. Comments that are inappropriate or offensive will be edited or removed.

Paragraphs and line breaks are automatically converted to HTML, and quotation marks are converted to “smart” quotes.

The following XHTML tags can be used: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> . All others will be removed.

Articles by Type

Articles by Topic

Random Reading

Currently...

Subscribe