use of org.jumpmind.db.model.Trigger in project symmetric-ds by JumpMind.
the class Db2As400DdlReader method getTriggers.
public List<Trigger> getTriggers(final String catalog, final String schema, final String tableName) throws SqlException {
List<Trigger> triggers = new ArrayList<Trigger>();
log.debug("Reading triggers for: " + tableName);
JdbcSqlTemplate sqlTemplate = (JdbcSqlTemplate) platform.getSqlTemplate();
String sql = "SELECT " + "TRIGGER_NAME, " + "TRIGGER_SCHEMA, " + "EVENT_OBJECT_TABLE as TABLE_NAME, " + "ACTION_TIMING as TRIGGER_TIME, " + "EVENT_MANIPULATION as TRIGGER_TYPE, " + "CREATED, " + "ENABLED " + "FROM QSYS2.SYSTRIGGERS " + "WHERE EVENT_OBJECT_TABLE=? and EVENT_OBJECT_SCHEMA=?";
triggers = sqlTemplate.query(sql, new ISqlRowMapper<Trigger>() {
public Trigger mapRow(Row row) {
Trigger trigger = new Trigger();
trigger.setName(row.getString("TRIGGER_NAME"));
trigger.setSchemaName(row.getString("TRIGGER_SCHEMA"));
trigger.setTableName(row.getString("TABLE_NAME"));
trigger.setEnabled(row.getString("ENABLED").equals("Y"));
trigger.setTriggerType(TriggerType.valueOf(row.getString("TRIGGER_TYPE")));
trigger.setMetaData(row);
return trigger;
}
}, tableName, schema);
return triggers;
}
use of org.jumpmind.db.model.Trigger in project symmetric-ds by JumpMind.
the class HsqlDbDdlReader method getTriggers.
@Override
public List<Trigger> getTriggers(final String catalog, final String schema, final String tableName) throws SqlException {
List<Trigger> triggers = new ArrayList<Trigger>();
log.debug("Reading triggers for: " + tableName);
JdbcSqlTemplate sqlTemplate = (JdbcSqlTemplate) platform.getSqlTemplate();
String sql = "SELECT * FROM INFORMATION_SCHEMA.TRIGGERS " + "WHERE TABLE_NAME=? and TRIGGER_SCHEMA=? and TRIGGER_CATALOG=? ;";
triggers = sqlTemplate.query(sql, new ISqlRowMapper<Trigger>() {
public Trigger mapRow(Row row) {
Trigger trigger = new Trigger();
trigger.setName(row.getString("TRIGGER_NAME"));
trigger.setCatalogName(row.getString("TRIGGER_CATALOG"));
trigger.setSchemaName(row.getString("TRIGGER_SCHEMA"));
trigger.setTableName(row.getString("TABLE_NAME"));
trigger.setEnabled(true);
trigger.setSource(row.getString("SQL"));
row.remove("SQL");
String triggerType = row.getString("TRIGGER_TYPE");
if (triggerType.equals("DELETE") || triggerType.equals("INSERT") || triggerType.equals("UPDATE")) {
trigger.setTriggerType(TriggerType.valueOf(triggerType));
}
trigger.setMetaData(row);
return trigger;
}
}, tableName, schema, catalog);
return triggers;
}
use of org.jumpmind.db.model.Trigger in project symmetric-ds by JumpMind.
the class InterbaseDdlReader method getTriggers.
@Override
public List<Trigger> getTriggers(final String catalog, final String schema, final String tableName) throws SqlException {
List<Trigger> triggers = new ArrayList<Trigger>();
log.debug("Reading triggers for: " + tableName);
JdbcSqlTemplate sqlTemplate = (JdbcSqlTemplate) platform.getSqlTemplate();
String sql = "select " + "TRIG.RDB$TRIGGER_NAME as TRIGGER_NAME, " + "TRIG.RDB$RELATION_NAME as TABLE_NAME, " + "TYPES1.RDB$TYPE_NAME as TRIGGER_TYPE, " + "TRIG.RDB$TRIGGER_SEQUENCE as TRIGGER_SEQUENCE, " + "TRIG.RDB$TRIGGER_BLR as TRIGGER_BLR, " + "TRIG.RDB$DESCRIPTION as DESCRIPTION, " + "TRIG.RDB$TRIGGER_INACTIVE as TRIGGER_INACTIVE, " + "TYPES2.RDB$TYPE_NAME as SYSTEM_FLAG, " + "TRIG.RDB$FLAGS as FLAGS, " + "TRIG.RDB$VALID_BLR as VALID_BLR, " + "TRIG.RDB$DEBUG_INFO as DEBUG_INFO," + "TRIG.RDB$TRIGGER_SOURCE as TRIGGER_SOURCE " + "from RDB$TRIGGERS as TRIG " + "inner join RDB$TYPES as TYPES1 " + "on TYPES1.RDB$FIELD_NAME = 'RDB$TRIGGER_TYPE' " + "and TYPES1.RDB$TYPE = TRIG.RDB$TRIGGER_TYPE " + "inner join RDB$TYPES as TYPES2 " + "on TYPES2.RDB$FIELD_NAME = 'RDB$SYSTEM_FLAG' " + "and TYPES2.RDB$TYPE = TRIG.RDB$SYSTEM_FLAG " + "where RDB$RELATION_NAME = ? ;";
triggers = sqlTemplate.query(sql, new ISqlRowMapper<Trigger>() {
public Trigger mapRow(Row row) {
Trigger trigger = new Trigger();
trigger.setName(row.getString("TRIGGER_NAME"));
trigger.setTableName(row.getString("TABLE_NAME"));
trigger.setEnabled(true);
trigger.setSource(row.getString("TRIGGER_SOURCE"));
row.remove("TRIGGER_SOURCE");
String triggerType = row.getString("TRIGGER_TYPE");
if (triggerType.contains("STORE"))
trigger.setTriggerType(TriggerType.INSERT);
else if (triggerType.contains("ERASE"))
trigger.setTriggerType(TriggerType.DELETE);
else if (triggerType.contains("MODIFY"))
trigger.setTriggerType(TriggerType.UPDATE);
trigger.setMetaData(row);
return trigger;
}
}, tableName);
return triggers;
}
use of org.jumpmind.db.model.Trigger in project symmetric-ds by JumpMind.
the class SqlAnywhereDdlReader method getTriggers.
@Override
public List<Trigger> getTriggers(final String catalog, final String schema, final String tableName) throws SqlException {
List<Trigger> triggers = new ArrayList<Trigger>();
log.debug("Reading triggers for: " + tableName);
JdbcSqlTemplate sqlTemplate = (JdbcSqlTemplate) platform.getSqlTemplate();
String sql = "SELECT " + "trigname AS trigger_name, " + "owner, " + "tname AS table_name, " + "event AS trigger_type, " + "trigtime AS trigger_time, " + "trigdefn " + "FROM SYS.SYSTRIGGERS " + "WHERE tname=? and owner=? ;";
triggers = sqlTemplate.query(sql, new ISqlRowMapper<Trigger>() {
public Trigger mapRow(Row row) {
Trigger trigger = new Trigger();
trigger.setName(row.getString("trigger_name"));
trigger.setSchemaName(row.getString("owner"));
trigger.setTableName(row.getString("table_name"));
trigger.setEnabled(true);
trigger.setSource(row.getString("trigdefn"));
row.remove("trigdefn");
String triggerType = row.getString("trigger_type");
if (triggerType.equals("DELETE") || triggerType.equals("INSERT") || triggerType.equals("UPDATE")) {
trigger.setTriggerType(TriggerType.valueOf(triggerType));
}
trigger.setMetaData(row);
return trigger;
}
}, tableName, schema);
return triggers;
}
use of org.jumpmind.db.model.Trigger in project symmetric-ds by JumpMind.
the class PostgreSqlDdlReader method getTriggers.
@Override
public List<Trigger> getTriggers(final String catalog, final String schema, final String tableName) {
List<Trigger> triggers = new ArrayList<Trigger>();
log.debug("Reading triggers for: " + tableName);
JdbcSqlTemplate sqlTemplate = (JdbcSqlTemplate) platform.getSqlTemplate();
String sql = "SELECT " + "trigger_name, " + "trigger_schema, " + "trigger_catalog, " + "event_manipulation AS trigger_type, " + "event_object_table AS table_name," + "trig.*, " + "pgproc.prosrc " + "FROM INFORMATION_SCHEMA.TRIGGERS AS trig " + "INNER JOIN pg_catalog.pg_trigger AS pgtrig " + "ON pgtrig.tgname=trig.trigger_name " + "INNER JOIN pg_catalog.pg_proc AS pgproc " + "ON pgproc.oid=pgtrig.tgfoid " + "WHERE event_object_table=? AND event_object_schema=?;";
triggers = sqlTemplate.query(sql, new ISqlRowMapper<Trigger>() {
public Trigger mapRow(Row row) {
Trigger trigger = new Trigger();
trigger.setName(row.getString("trigger_name"));
trigger.setCatalogName(row.getString("trigger_catalog"));
trigger.setSchemaName(row.getString("trigger_schema"));
trigger.setTableName(row.getString("table_name"));
trigger.setEnabled(true);
trigger.setSource(row.getString("prosrc"));
row.remove("prosrc");
String triggerType = row.getString("trigger_type");
if (triggerType.equals("DELETE") || triggerType.equals("INSERT") || triggerType.equals("UPDATE")) {
trigger.setTriggerType(TriggerType.valueOf(triggerType));
}
trigger.setMetaData(row);
return trigger;
}
}, tableName, schema);
return triggers;
}
Aggregations