|
Re: Rose::DB::Object::QueryBuilder set operations: msg#00024lang.perl.modules.dbi.rose-db-object
On 6/6/06 10:49 PM, Perrin Harkins wrote: > According to the docs, 'COLUMN' => { in_set => 'A' } generates the SQL > "A IN COLUMN". This seems like the reverse of normal usage, e.g. "name > IN ('john','paul')". Can anyone explain what this might be used for? It's used for the SET column type supported by Informix, which actually uses the syntax described. > Also, what is the difference between "IN" (in_set) and "= ANY" > (in_array)? According to all the database docs I've seen, these are > equivalent. The in_array operator is for Postgres arrays (e.g., INT[]), which support the "A = ANY(COLUMN)" syntax. The in_set operator is for SET columns in Informix. You can see examples of both in the test suite, and actually run them against Pg and Informix databases to see the generated SQL working. > Were these meant to be used for subqueries? Nope. > I do intend to work with subqueries and am thinking about how to incorporate > them or else cheat with some post-processing. You may have to cheat for now since QueryBuilder has no support for subqueries (other than as liter SQL clauses) -John
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: DBIx::Class or Rose::DB::Object or other???, Kurt Hansen |
|---|---|
| Next by Date: | Re: Rose::DB::Object::QueryBuilder set operations, John Siracusa |
| Previous by Thread: | Rose::DB::Object::QueryBuilder set operations, Perrin Harkins |
| Next by Thread: | Re: Rose::DB::Object::QueryBuilder set operations, John Siracusa |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |