version of migration_tools.exec that displays the sql
authorJason Etheridge <jason@esilibrary.com>
Mon, 20 Apr 2009 20:34:39 +0000 (20:34 +0000)
committerJason Etheridge <jason@esilibrary.com>
Mon, 20 Apr 2009 20:34:39 +0000 (20:34 +0000)
sql/base/base.sql

index 69c33b0..8141a3b 100644 (file)
@@ -66,6 +66,23 @@ CREATE OR REPLACE FUNCTION migration_tools.exec (TEXT,TEXT) RETURNS VOID AS $$
     END;
 $$ LANGUAGE PLPGSQL STRICT VOLATILE;
 
+CREATE OR REPLACE FUNCTION migration_tools.debug_exec (TEXT,TEXT) RETURNS VOID AS $$
+    DECLARE
+        migration_schema ALIAS FOR $1;
+        sql ALIAS FOR $2;
+        nrows INTEGER;
+    BEGIN
+        EXECUTE 'UPDATE ' || migration_schema || '.sql_current SET sql = ' || quote_literal(sql) || ';';
+        RAISE INFO 'debug_exec sql = %', sql;
+        EXECUTE sql;
+        GET DIAGNOSTICS nrows = ROW_COUNT;
+        PERFORM migration_tools.log(migration_schema,sql,nrows);
+    EXCEPTION
+        WHEN OTHERS THEN 
+            RAISE EXCEPTION '!!!!!!!!!!! state = %, msg = %, sql = %', SQLSTATE, SQLERRM, sql;
+    END;
+$$ LANGUAGE PLPGSQL STRICT VOLATILE;
+
 CREATE OR REPLACE FUNCTION migration_tools.init (TEXT) RETURNS VOID AS $$
     DECLARE
         migration_schema ALIAS FOR $1;