dCache/dcache — pull request #52 by alrossi (2013-05-17 12:17:18+00:00)
Title: dcache: fix billing liquibase add plpgsql changeset

module: dcache

Prior to version 8.4, postgres did not automatically contain support for plpgsql, and the language had to be explicitly added to the database.

The liquibase changeset was written to use an sqlCheck which was intended to execute the sql statement and ignore the warning that the language was already present. For 8.4+ this worked fine, but on an actual 8.3 installation, the sql would not execute because sqlCheck required a return value and was getting none (what is shown in the interpreter after the statement is executed evidently is not a return value). Hence the changeset fails entirely there. Another disadvantage of this was the fact that the successful completion (where the warning is skipped) looked like an error and was confusing (see the ticket reported below).

Our approach here is to modify the original changeset by substituting for it two new ones with new ids which will behave correctly. The absence of the old changeset from the changelog does not cause problems -- the entry for just continues to occupy a dead row in the databasechangelog table.

Target: master
Patch: http://rb.dcache.org/r/5572
Require-notes: no
Require-book: no
Request: 2.6
Request: 2.2
Ticket: http://rt.dcache.org/Ticket/Display.html?id=7809
Acked-by: Tigran

Ran the new changeset successfully over a previous installation without errors or warnings.