I am encountering an issue when using the auto_validations and 
single_table_inheritance plugins together on the same model.

Every instantiation of a model seems to be triggering a schema query of the 
form:

SELECT "indc"."relname" AS "name", "ind"."indisunique" AS "unique", 
> "att"."attname" AS "column", "con"."condeferrable" AS "deferrable" FROM 
> "pg_class" AS "tab" INNER JOIN "pg_index" AS "ind" ON ("ind"."indrelid" = 
> "tab"."oid") INNER JOIN "pg_class" AS "indc" ON ("indc"."oid" = 
> "ind"."indexrelid") INNER JOIN "pg_attribute" AS "att" ON 
> (("att"."attrelid" = "tab"."oid") AND ("att"."attnum" = 
> ANY("ind"."indkey"))) LEFT JOIN "pg_constraint" AS "con" ON 
> ("con"."conname" = "indc"."relname") WHERE (("indc"."relkind" = 'i') AND 
> ("ind"."indisprimary" IS FALSE) AND ("indexprs" IS NULL) AND ("indpred" IS 
> NULL) AND ("indisvalid" IS TRUE) AND ("tab"."oid" = 
> CAST(CAST('"XXX_TABLE_NAME_XXX"' AS regclass) AS oid)) AND ("indisready" IS 
> TRUE) AND ("indcheckxmin" IS FALSE)) ORDER BY "indc"."relname", (CASE 
> "att"."attnum" WHEN "ind"."indkey"[0] THEN 0 WHEN "ind"."indkey"[1] THEN 1 
> WHEN "ind"."indkey"[2] THEN 2 WHEN "ind"."indkey"[3] THEN 3 WHEN 
> "ind"."indkey"[4] THEN 4 WHEN "ind"."indkey"[5] THEN 5 WHEN 
> "ind"."indkey"[6] THEN 6 WHEN "ind"."indkey"[7] THEN 7 WHEN 
> "ind"."indkey"[8] THEN 8 WHEN "ind"."indkey"[9] THEN 9 WHEN 
> "ind"."indkey"[10] THEN 10 WHEN "ind"."indkey"[11] THEN 11 WHEN 
> "ind"."indkey"[12] THEN 12 WHEN "ind"."indkey"[13] THEN 13 WHEN 
> "ind"."indkey"[14] THEN 14 WHEN "ind"."indkey"[15] THEN 15 WHEN 
> "ind"."indkey"[16] THEN 16 WHEN "ind"."indkey"[17] THEN 17 WHEN 
> "ind"."indkey"[18] THEN 18 WHEN "ind"."indkey"[19] THEN 19 WHEN 
> "ind"."indkey"[20] THEN 20 WHEN "ind"."indkey"[21] THEN 21 WHEN 
> "ind"."indkey"[22] THEN 22 WHEN "ind"."indkey"[23] THEN 23 WHEN 
> "ind"."indkey"[24] THEN 24 WHEN "ind"."indkey"[25] THEN 25 WHEN 
> "ind"."indkey"[26] THEN 26 WHEN "ind"."indkey"[27] THEN 27 WHEN 
> "ind"."indkey"[28] THEN 28 WHEN "ind"."indkey"[29] THEN 29 WHEN 
> "ind"."indkey"[30] THEN 30 WHEN "ind"."indkey"[31] THEN 31 ELSE 32 END)
>

I traced the problem in the debugger and setup_auto_validations() is being 
called due to dataset change:

Plugins.after_set_dataset(self, :setup_auto_validations)


This seems like a bug related to the STI dataset/row_proc voodoo

Any suggestions for a workaround or fix ?






-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to