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

Re: [Bug 11270] New: Interaction between in-line keys and key generators

From: Jonas Sicking <jonas@sicking.cc>
Date: Thu, 11 Nov 2010 13:32:54 -0800
Message-ID: <AANLkTinBMcFtZQvkznGUUgXi7eimtkqgno1jzLhgZVjA@mail.gmail.com>
To: Jeremy Orlow <jorlow@chromium.org>
Cc: "Tab Atkins Jr." <jackalmage@gmail.com>, Pablo Castro <Pablo.Castro@microsoft.com>, "bugzilla@jessica.w3.org" <bugzilla@jessica.w3.org>, "public-webapps@w3.org" <public-webapps@w3.org>
On Thu, Nov 11, 2010 at 11:41 AM, Jeremy Orlow <jorlow@chromium.org> wrote:
> On Thu, Nov 11, 2010 at 6:41 PM, Tab Atkins Jr. <jackalmage@gmail.com>
> wrote:
>> On Thu, Nov 11, 2010 at 4:20 AM, Jeremy Orlow <jorlow@chromium.org> wrote:
>> > What would we do if what they provided was not an integer?
>> The behavior isn't very important; throwing would be fine here.  In
>> mySQL, you can only put AUTO_INCREMENT on columns in the integer
>> family.
>> > What happens if
>> > the number they insert is so big that the next one causes overflow?
>> The same thing that happens if you do ++ on a variable holding a
>> number that's too large.  Or, more directly, the same thing that
>> happens if you somehow fill up a table to the integer limit (probably
>> deleting rows along the way to free up space), and then try to add a
>> new row.
>> > What is
>> > the use case for this?  Do we really think that most of the time users
>> > do
>> > this it'll be intentional and not just a mistake?
>> A big one is importing some data into a live table.  Many smaller ones
>> are related to implicit data constraints that exist in the application
>> but aren't directly expressed in the table.  I've had several times
>> when I could normally just rely on auto-numbering for something, but
>> occasionally, due to other data I was inserting elsewhere, had to
>> specify a particular id.
> This assumes that your autonumbers aren't going to overlap and is going to
> behave really badly when they do.
> Honestly, I don't care too much about this, but I'm skeptical we're doing
> the right thing here.

Pablo did bring up a good use case, which is wanting to migrate
existing data to a new object store, for example with a new schema.
And every database examined so far has some ability to specify
autonumbered columns.

overlaps aren't a problem in practice since 64bit integers are really
really big. So unless someone "maliciously" sets a number close to the
upper bound of that then overlaps won't be a problem.

/ Jonas
Received on Thursday, 11 November 2010 21:33:51 UTC

This archive was generated by hypermail 2.3.1 : Friday, 27 October 2017 07:26:28 UTC