From: Chris H. <ch...@op...> - 2003-07-31 20:08:35
|
> Also, Sean, did you ever look into using ROWID? As far as I can tell it's > like oid, but not scheduled to go away any time soon? I'm asking my > friend at oracle right now to be sure, but it looks promising. It's > generated for each row, is unique and autogenerated, and can easily be > queried into a 16 character string with ROWIDTOCHAR(ROWID). I'm still > trying to set up my oracle db, so I haven't checked it yet, what form it > is, but if it starts with a number we can just prepend the table name, > though I suspect it might already do that, as the wfs spec author uses > some oracle type db. If it works for oracledatasource then we won't need > to mess with fidsequence for it. Ok, just talked to my friend at oracle, and I guess rowid looks a bit nasty - AABJSeAAjAAAdECAAA, and there is a chance it can move if the partition changes? We could use a hash of it though, to get a number, which would be a bit nicer, to which we could prepend the tablename. But a sequence generated logical ID would be better. He was saying that you can create sequences with jdbc, so that might be the way to go, but that of course requires appropriate permissions of the user connecting. There's also the idea of looking for already existing primary key sequences, but that could be bad if the we use a sequence that the user needs to control himself. But yes, this is a tough problem because we need to cover as many cases as possible, from the most incredible dba who obviously sets up all his primary keys and sequences right to the least skillful oracle newbie who doesn't even know what a primary key is. We probably should just cast a wide net and try a few different approaches for each datasource. Chris |