John,
        Sorry for the delayed reply, this sounds great.  I'll check out the
latest svn from sf.net tomorrow and give it a go.  Thanks again for
looking into making these additions.

        Also, I will be switching from Cable to FiOS (FINALLY) in the next
couple weeks.  I don't anticipate much down time for the Development
Oracle DB, but if you have any connection problems let me know.

-Kevin   

On Sun, 2007-01-07 at 00:07 -0500, John Siracusa wrote:
> On 12/27/06 3:22 PM, Kevin McGrath wrote:
> > Just wondering if there is a time line for some of these Oracle changes to
> > be implemented?  The sequence addition would be very nice to have.  I have a
> > kludge right now where I override the save function.
> 
> This is pretty much working in SVN.  No docs yet, but here's the short
> version...
> 
> To get serial columns to work in Oracle, make your database column like
> this:
> 
>     id INT NOT NULL PRIMARY KEY
> 
> (It doesn't have to be named "id".  Any name will do.  Also, probably any
> integer-ish data type will work.)
> 
> Then create a sequence named like this:
> 
>     <table>_<column>_seq
> 
> For example, if the table is named "t1" and the desired serial column is
> named "id", then create a sequence named "t1_id_seq"
> 
>     CREATE SEQUENCE rose_db_object_test_id_seq;
> 
> Now create a trigger on insert for the table that sets the primary key
> column to the next value in the sequence:
> 
>     CREATE OR REPLACE TRIGGER t1_insert
>     BEFORE INSERT ON t1 FOR EACH ROW
>     BEGIN
>       SELECT t1_id_seq.nextval INTO :new.id FROM dual;
>     END;
> 
> Finally, set up the RDBO column metadata as usual for a serial column:
> 
>     columns =>
>     [
>       id => { type => 'serial', primary_key => 1, not_null => 1 },
>       ...
>     ]
> 
> You can override the auto-selected sequence name like this:
> 
>     columns =>
>     [
>       id => { type => 'serial', primary_key => 1, not_null => 1,
>               sequence => 'some_other_seq' },
>       ...
>     ]
> 
> Sync from SVN and give it a whirl.  You'll need both the new Rose::DB and
> Rose::DB::Object for it to work.  Docs to come, then (assuming no
> outstanding bugs) release by the end of January.
> 
> -John
> 
> 
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Rose-db-object mailing list
> Rose-db-object@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/rose-db-object


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Rose-db-object mailing list
Rose-db-object@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rose-db-object

Reply via email to