tuichenchuxin commented on issue #13571:
URL: 
https://github.com/apache/shardingsphere/issues/13571#issuecomment-966948844


   in postgres
   ```
   SELECT t.oid                                                               
AS oid,
          (n.nspname)::information_schema.sql_identifier                      
AS trigger_schema,
          (t.tgname)::information_schema.sql_identifier                       
AS trigger_name,
          (c.relname)::information_schema.sql_identifier                      
AS trigger_table_name,
          (em.text)::information_schema.character_data                        
AS event_manipulation,
          (c.relkind)::information_schema.sql_identifier                      
AS trigger_table_type,
          (nsp.nspname)::information_schema.sql_identifier                    
AS referenced_table_schema,
          (cs.relname)::information_schema.sql_identifier                     
AS referenced_table,
          t.tgdeferrable                                                      
AS is_deferrable,
          t.tginitdeferred                                                    
AS is_deferred,
          (np.nspname)::information_schema.sql_identifier                     
AS function_schema,
          (p.proname)::information_schema.sql_identifier                      
AS function_name,
          ("substring"(pg_get_triggerdef(t.oid),
                       ("position"("substring"(pg_get_triggerdef(t.oid), 48), 
'EXECUTE PROCEDURE'::text) +
                        47)))::information_schema.character_data              
AS action_statement,
          (CASE
               WHEN (((t.tgtype)::integer & 1) = 1) THEN 'ROW'::text
               ELSE 'STATEMENT'::text END)::information_schema.character_data 
AS for_each,
          (CASE
               WHEN (((t.tgtype)::integer & 2) = 2) THEN 'BEFORE'::text
               ELSE 'AFTER'::text END)::information_schema.character_data     
AS fire_time,
          t.tgenabled                                                         
AS enabled,
          (CASE
               WHEN pg_has_role(c.relowner, 'USAGE'::text) THEN (SELECT rm.m[1] 
AS m
                                                                 FROM 
regexp_matches(pg_get_triggerdef(t.oid),
                                                                                
     (E'.{35,} WHEN \((.+)\) EXECUTE PROCEDURE'::text)) rm(m)
                                                                 LIMIT 1)
               ELSE NULL::text END)::information_schema.character_data        
AS condition,
          tc.event_object_column                                              
AS update_columns,
          (t.tgconstraint > 0)                                                
AS is_constraint,
          t.tgisinternal                                                      
AS is_internal,
          obj_description(t.oid)                                              
AS comment
   FROM pg_trigger t
            INNER JOIN pg_class c ON t.tgrelid = c.oid
            LEFT JOIN pg_namespace n ON c.relnamespace = n.oid
            LEFT JOIN pg_proc p ON t.tgfoid = p.oid
            LEFT JOIN pg_namespace np ON p.pronamespace = np.oid
            LEFT JOIN (((SELECT 4, 'INSERT' UNION ALL SELECT 8, 'DELETE') UNION 
ALL SELECT 16, 'UPDATE')
                       UNION ALL
                       SELECT 32, 'TRUNCATE') em(num, text) ON 
((t.tgtype)::integer & em.num) <> 0
            LEFT OUTER JOIN (SELECT oid, relnamespace, relname FROM pg_class) 
cs ON (t.tgconstrrelid = cs.oid)
            LEFT OUTER JOIN (SELECT oid, nspname FROM pg_namespace) nsp ON 
(cs.relnamespace = nsp.oid)
            LEFT JOIN information_schema.triggered_update_columns tc
                      ON (tc.trigger_schema = n.nspname) AND (tc.trigger_name = 
t.tgname) AND
                         (tc.event_object_schema = n.nspname) AND 
(tc.event_object_table = c.relname)
   WHERE (n.nspname)::information_schema.sql_identifier = 'public'
     AND (c.relname)::information_schema.sql_identifier = 't_order'
   ORDER BY c.relname, t.tgname ASC
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to