On 1/24/06, John Siracusa <[EMAIL PROTECTED]> wrote: > On 1/24/06, Rob Kinyon <[EMAIL PROTECTED]> wrote: > > "Most popular" is a difficult term. DBD::Oracle supports back to > > Oracle 7, after a fashion. 9.2 has been out for about 5-6 years and in > > my consulting career, I've never encountered anything before 9.2 > > (except in extreme legacy cases where I once saw an Oracle 6). If you > > do the standard JOIN syntax, I would be surprised if Oracle8 didn't > > support it for 90%+ of the cases. > > > > 10g has been released, but it's completely backwards compatible with 9 > > which does support JOIN. > > Okay, that sounds reasonable to me. Oracle 9.2+ it is :)
I wouldn't say anything about it and let bug reports come in. If Oracle 8.x.y doesn't support SQL-92 syntax, then f***'em. > > SELECT ... > > FROM ... > > WHERE ... > > HAVING ROWID > 30 AND ROWID <= 30+10 > > > > That corresponds to LIMIT 30,10 in MySQL > > Ah, that's not bad at all. Which db is the one that makes you do > nested selects or something to do limits? Or wait, maybe I am > thinking of oracle and I'm thinking of COUNT(*)? It's not Oracle. Please note: I'm not positive that the pseudo-column is called "ROWID" ... it's something very close, though. (I don't have my Oracle manual anymore.) > > 1) auto-increment is in a sequence > > That's true of Pg as well, BTW, which we already support, with both > explicit and implicit sequences. I just hope the Oracle semantics are > close enough that I don't have to entirely rearrange or fork the logic > to support it. For example, is there a SERIAL column type that > implicitly makes a sequence with a guessable generated name? Can you > set sequence-backed column explicitly? Can you get the > last_insert_id-type value easily? Heh. It's a little more complicated than that. You have to create a BEFORE INSERT trigger to read the next value from the sequence and set the ID to it. This does preclude the option of setting the ID specifically in the query as it will be overwritten. (You don't want to set it if not set because AUTO_INCREMENT columns need to be unique and you can end up with dupes that way.) An alternative is to do a "SELECT MAX(id) FROM $table" as part of a BEFORE INSERT trigger, but that's not only slower, but it may not work as well because of concurrency. > > 4) The information schema is going to make you drool > > Does DBD::Oracle support all of DBI's various *_info() methods > correctly? That alone would make auto-init 90% done, since the > default Auto.pm implementation just uses DBI's native introspection. > All we'd have to add is unique key extraction. It should. Or, put it this way - I would be shocked if it didn't. Remember - Tim supports both DBI and DBD::Oracle. Rob ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642 _______________________________________________ Rose-db-object mailing list Rose-db-object@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rose-db-object