On Wed, Apr 7, 2010 at 2:29 AM, Stewart Smith <[email protected]> wrote: > So, for Embedded InnoDB, currently I have a requirement that all tables > must have a primary key.
FWIW, I've never heard a good argument for not having a primary key on a table. Ever. > This is due to the Embedded InnoDB API not really allowing us to seek > based on rowid (which is the primary key in InnoDB when you don't > explicitly set one) which means that ::position() (or rather ::rnd_pos) > won't work for such tables... and we don't want to crash out on users > depending on their table definition :) That's precisely what I do in replication. ;) If a table doesn't have a primary key and replcation is enabled, the statement results in an error. > So.. I think this also a limitation for the replication things Jay is > currently working on. See above. > Should we make it a requirement? I think so. > Or we can: > - wait for embedded innodb API to be fixed > - create our own hidden column that's an auto-inc primary key > (similar to what NDB does) Please, no. Cheers, jay > - live with this limitation for embedded_innodb for the time being and > hope one of the above two happens. > > -- > Stewart Smith > > _______________________________________________ > Mailing list: https://launchpad.net/~drizzle-discuss > Post to : [email protected] > Unsubscribe : https://launchpad.net/~drizzle-discuss > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

