details:   /erp/devel/pi/rev/f6316be65fe7
changeset: 8452:f6316be65fe7
user:      Antonio Moreno <antonio.moreno <at> openbravo.com>
date:      Tue Sep 28 11:09:22 2010 +0200
summary:   Related to issue 14642. Readded the view so that 
ad_script_disable/enable_triggers still work, but with a small change so that 
it works in PostgreSQL 8.4 and 9.0

diffstat:

 src-db/database/model/postscript-PostgreSql.sql |   2 -
 src-db/database/model/prescript-PostgreSql.sql  |  37 +++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 2 deletions(-)

diffs (68 lines):

diff -r f2c30fd7b2f8 -r f6316be65fe7 
src-db/database/model/postscript-PostgreSql.sql
--- a/src-db/database/model/postscript-PostgreSql.sql   Mon Sep 27 10:13:22 
2010 +0200
+++ b/src-db/database/model/postscript-PostgreSql.sql   Tue Sep 28 11:09:22 
2010 +0200
@@ -23,7 +23,6 @@
 BEGIN
  FOR Cur_Triggers IN (SELECT OBJECT_NAME AS NAME, TABLE_NAME
                       FROM USER_OBJECTS
-                      WHERE OBJECT_TYPE = 'TRIGGER'
                       ORDER BY OBJECT_NAME) LOOP
     v_seqNo := v_seqNo + 1;
   --      INSERT INTO AD_SCRIPT_SQL VALUES (v_seqNo, 'ALTER TRIGGER 
'||Cur_Triggers.NAME||' DISABLE');
@@ -96,7 +95,6 @@
 BEGIN
  FOR Cur_Triggers IN (SELECT OBJECT_NAME AS NAME, TABLE_NAME
                       FROM USER_OBJECTS
-                      WHERE OBJECT_TYPE = 'TRIGGER'
                       ORDER BY OBJECT_NAME) LOOP
       v_seqNo := v_seqNo + 1;
 --    INSERT INTO AD_SCRIPT_SQL VALUES (v_seqNo, 'ALTER TRIGGER 
'||Cur_Triggers.NAME||' ENABLE');
diff -r f2c30fd7b2f8 -r f6316be65fe7 
src-db/database/model/prescript-PostgreSql.sql
--- a/src-db/database/model/prescript-PostgreSql.sql    Mon Sep 27 10:13:22 
2010 +0200
+++ b/src-db/database/model/prescript-PostgreSql.sql    Tue Sep 28 11:09:22 
2010 +0200
@@ -1155,8 +1155,45 @@
   ORDER BY table_name, index_name, column_position
 /-- END
 
+SELECT * FROM drop_view('USER_OBJECTS')
+/-- END
 
+CREATE or REPLACE function create_user_objects() returns varchar as '
+DECLARE
+  cnt int4;
+BEGIN
+  SELECT into cnt count(*) from version() where version like ''%PostgreSQL 
9.%'';
+  if cnt > 0 then
+    execute ''CREATE OR REPLACE VIEW USER_OBJECTS
+(TABLE_NAME, OBJECT_NAME, OBJECT_ID)
+AS 
+SELECT UPPER(PG_CLASS.RELNAME), UPPER(PG_TRIGGER.TGNAME), PG_TRIGGER.TGFOID
+FROM PG_TRIGGER, PG_NAMESPACE, PG_CLASS 
+WHERE PG_TRIGGER.TGRELID = PG_CLASS.OID
+AND PG_TRIGGER.TGISINTERNAL = FALSE
+AND PG_CLASS.RELNAMESPACE = PG_NAMESPACE.OID
+AND PG_NAMESPACE.NSPNAME = CURRENT_SCHEMA()'';
+else
+execute ''CREATE OR REPLACE VIEW USER_OBJECTS
+(TABLE_NAME, OBJECT_NAME, OBJECT_ID)
+AS 
+SELECT UPPER(PG_CLASS.RELNAME), UPPER(PG_TRIGGER.TGNAME), PG_TRIGGER.TGFOID
+FROM PG_TRIGGER, PG_NAMESPACE, PG_CLASS 
+WHERE PG_TRIGGER.TGRELID = PG_CLASS.OID
+AND PG_TRIGGER.TGISCONSTRAINT = FALSE
+AND PG_CLASS.RELNAMESPACE = PG_NAMESPACE.OID
+AND PG_NAMESPACE.NSPNAME = CURRENT_SCHEMA()'';
+  end if;
+  return null;
+END;'
+language 'plpgsql'
+/-- END
 
+SELECT * FROM create_user_objects()
+/-- END
+
+DROP FUNCTION create_user_objects()
+/-- END
 
 SELECT * FROM drop_view('USER_CONS_COLUMNS')
 /-- END

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to