On 2/1/07 3:21 PM, Mike Schilli wrote:
> 1) Two columns of a table form a combined unique key, but neither
> of them can be defined UNIQUE().
Then you'd just define a unique key using those two columns:
SQL: UNIQUE(col1, col2),
RDBO: unique_key => [ 'col1', 'col2' ],
> 2) You have a "unique key" that spans several tables:
>
> CREATE TABLE bars (
> id INTEGER AUTO_INCREMENT PRIMARY KEY NOT NULL,
> string VARCHAR(255),
> UNIQUE(string)
> )Type=InnoDB;
>
> CREATE TABLE foos (
> id INTEGER AUTO_INCREMENT PRIMARY KEY NOT NULL,
> bar_id INTEGER,
> UNIQUE(bar_id),
> FOREIGN KEY(bar_id) REFERENCES bars(id),
> INDEX(bar_id)
> )Type=InnoDB;
>
> my $foo = Rosetest::Foo->new(bar => { string => "moo!" });
> $foo->load(speculative => 1); # Error
> $foo->save();
Multi-table searches are pretty clearly the domain of the Manager, IMO.
> 3) The application isn't at liberty to change the db and must
> work with a crappy legacy schema.
Yeah, that's always annoying, but also hard to anticipate. Everyone's
legacy problems are different.
-John
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Rose-db-object mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rose-db-object