On Mon, Jun 6, 2011 at 7:32 AM, Mike Rylander <[email protected]> wrote: > On Mon, Jun 6, 2011 at 12:23 AM, Dan Scott <[email protected]> wrote: >> The functions look exactly like the functions in 002.schema.config.sql >> in master, running on PostgreSQL 9.0.4 on Fedora 15. I get the same >> result (FALSE) when I invoke >> evergreen.upgrade_verify_no_dep_conflicts('0549') if I roll back to >> ec28db76588c79d7d9176fe7eeb4e6537a277301 (when 0533 was added) and >> recreate the functions from 002.schema.config.sql at that time. And of >> course, at that point in time evergreen.upgrade_deps_block_check() >> fails because of the ARRAY_ACUM() typo. >> > > They looked the same by eyeballing, but in case I missed something, > what happens if you apply > upgrade/0537.schema.upgrade-dep-tracking-fix.sql ?
Ah, so the definitions of evergreen.upgrade_list_applied_deprecated() are the same in 002.schema.config.sql in ec28db76588c79d7d9176fe7eeb4e6537a277301 (when 0533 was added), 60c996b358cc3fbcb184c6f045109b40e8f36d3f (when 0537 was added) and in current HEAD. But, while 002.schema.config.sql consistently defines evergreen.upgrade_list_applied_deprecated() RETURNS TEXT and thus FALSE, in 0537.schema.config.sql, the same function RETURNS SETOF TEXT and thus TRUE. So only people creating new database schemas run into this problem.
