David,

thanks for the rebuttle. i will continue to use auto generated ids. for now i 
will just worry about the postgresql and come back to this later b/c i think 
you are absolutly right about your interface implementation. the thing about 
it though is that's exactly what DBI/DBD is supposed to do for us. so this 
really needs to be a modification to it to be done correctly.

who is the maintainer of DBI/DBD? i would like to suggest this addition. it 
could be done in one of two ways: 

a new function, like get_key(table_name). this then would be outfitted by all 
the DBDs to implement. differences would be handled by the them, for example 
in Oracle it looks like according to your (David's) example the argument 
would be ignored.

the other appraoch would be to catch a foo SQL Statement: "SELECT KEY AS keyid 
FROM table;" such that DBD would do like wise as above, rather than pass it 
on the the database (obviosuly), but return the result as a [ Row ].

i like the last approach as it sets a precedence. but either way, this would 
be a great addition to DBI. i imagine some wrinkles might need working out 
but surely David's right. this can be done.

-transami