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




_______________________________________________
Rose-db-object mailing list
Rose-db-object@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rose-db-object

Reply via email to