Sunday, June 10, 2012

Linq2IndexedDB: Release 1.0.3

This weekend I released a new version of the Linq2IndexedDB. The major changes in this release is a broader support of browsers. Because of the release of a new version of the IndexedDB spec some changes were made. The biggest change of them all is the transactionType. In previous versions this was a number (READ_ONLY = 0, READ_WRITE = 1, VERSION_CHANGE = 2), but this has changed into string values (“readonly”, “readwrite”, “versionchange”). Also these values aren’t available any more under the IDBTransaction interface.

Since this release the Linq2IndexedDB library now also supports browsers that doesn’t implement the IndexedDB specification yet. The only condition is they support the obsolete WebSQL spec. This means that Opera and Safari are now supported by the Linq2IndexedDB due the IndexedDB shim written by nparashuram who is also a contributor to the Linq2IndexedDB project.

With the release of the Windows 8 Release Preview, a new version of Internet Explorer 10 was released. Next to the change I described in the beginning of this post, IE10 Release Preview now uses the window.indexeddb implementation and no longer uses the ms prefix (window.msIndexedDB). The only disadvantage is they do not implement the autoIncrement and multiEntry attribute yet.

Next to the changes made to the Linq2IndexedDB library, I’ve started building on a new project: an IndexedDBViewer. This allows you easy access to the database structure and the contents of the object stores. The only thing you need to provide is the name of the IndexedDB you want to inspect. The only thing you need to keep in mind is that this IndexedDB viewer must be added to the Web app. This is necessary because you can only access the IndexedDB databases defined within your origin (domain).

All these changes are now available on MyGet:

and on NuGet:

All the sources of these projects can be found on CodePlex.


  1. tnx for ur great wrapper, my problem is with the Update , everytime iam going to use this, console show transaction aborted :| dont know why! BTW ur demo is not working in chrome !?

    my code is :
    var obj; db.linq.from("familyFolder").get(window.selectedFamily).then(function(data) {

    data.childs =[];
    obj = data;

    }, handleError);

    }, handleError);

  2. Hi,

    I look into it ASAP. Btw which version of my library are you currently using? If you have the latest, it should provide you some improved error handling



    1. hi,Tnx for ur reply.
      well, i used the one included in your demo page ,lol :D (because i just confused around indexedDB and many other wrapper's provided, just wanted to test all, and tell u what, ur code is the best after searching many of them (except ma search for websql, dauhh...)!)

      now updated to 1.0.19 . will tell u if error still occurred @};-.

    2. Ok, this is good news :). I updated my demo also