W3C home > Mailing lists > Public > public-webapps@w3.org > October to December 2009

Re: [web databases] about rowids

From: Ian Hickson <ian@hixie.ch>
Date: Tue, 1 Dec 2009 02:01:22 +0000 (UTC)
To: João Eiras <joaoe@opera.com>
Cc: "public-webapps@w3.org" <public-webapps@w3.org>
Message-ID: <Pine.LNX.4.62.0912010154390.4718@hixie.dreamhostps.com>
On Wed, 2 Sep 2009, João Eiras wrote:
> 
> Hi everyone.
> 
> 1) Currently, SqlResultSet.insertId is defined as a integer. This would 
> prevent user agents to use an underlying database engine that does not 
> rely on integers for rowids. For instance, both SQLite, MS Access, 
> Informix use integers it seems, DB2 uses a transparent type 17 bytes 
> big, Oracle uses strings, Java JDBC uses byte[].
> 
> For the sake of compatibility, it would probably be better to make 
> insertId either a string, or in the case of lack of agreement, a 
> implementation defined type, which is not desirable.

Since we're now requiring a sqlite-compatible backend, integer is right, no?


> 2) insertId only stores one row id. That's not very helpful for the case 
> of a "INSERT INTO table(...) SELECT ..." dml. Considering that the query 
> could produce an arbitrary number of rowids, the insertId field should 
> probably be a SqlResultSetRowList, or an array.

insertId is supposed to expose sqlite3_last_insert_rowid, which doesn't 
seem to support returning an array.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'
Received on Tuesday, 1 December 2009 02:01:50 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:35 GMT