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

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.

J

Received on Thursday, 11 November 2010 19:41:53 UTC