1 | public class DomainDetailsTab extends BasePreparedStatementTab↵ | | 1 | public class TriggerDetailsTab extends BasePreparedStatementTab↵
|
2 | {↵ | | 2 | {↵
|
|
3 | private static final StringManager s_stringMgr =↵ | | 3 | private static final StringManager s_stringMgr =↵
|
4 | StringManagerFactory.getStringManager(DomainDetailsTab.class);↵ | | 4 | StringManagerFactory.getStringManager(TriggerDetailsTab.class);↵
|
|
|
5 | /** SQL that retrieves the data. */↵ | | 5 | /**↵
|
6 | private static ↵ | | |
|
| | | 6 | * This interface defines locale specific strings. This should be↵
|
| | | 7 | * replaced with a property file.↵
|
| | | 8 | */↵
|
| | | 9 | private interface i18n↵
|
| | | 10 | {↵
|
| | | 11 | // i18n[firebird.trigDetails=Details]↵
|
7 | String SQL =↵ | | 12 | String ↵
|
8 | "select rdb$field_name, " +↵ | | |
|
9 | "rdb$validation_source, " +↵ | | |
|
10 | "rdb$computed_source, " +↵ | | |
|
11 | "rdb$default_source, " +↵ | | |
|
12 | "rdb$field_length↵ | | 13 | TITLE = s_stringMgr.getString("firebird.trigDetails");↵
|
| | | 14 | // i18n[firebird.triggerDetails=Display trigger details]↵
|
| | | 15 | String HINT = s_stringMgr.getString("firebird.triggerDetails");↵
|
| | | 16 | }↵
|
|
| | | 17 | /** SQL that retrieves the data. */↵
|
| | | 18 | private static String SQL =↵
|
13 | , " +↵ | | 19 | "select rdb$trigger_name, " +↵
|
14 | "rdb$field_scale, " +↵ | | 20 | "rdb$trigger_sequence, " +↵
|
15 | "rdb$field_type, " +↵ | | 21 | "case rdb$trigger_type " +↵
|
16 | "rdb$field_sub_type, " +↵ | | 22 | "↵
|
17 | "rdb$missing_source, " +↵ | | |
|
18 | "rdb$edit_string, " +↵ | | |
|
19 | "rdb$character_length, " +↵ | | |
|
20 | "rdb$collation_name, " +↵ | | |
|
21 | "rdb$character_set_name, " +↵ | | |
|
22 | "rdb$field_precision " +↵ | | |
|
23 | "rdb$description↵ | | 23 | when 1 then 'BEFORE INSERT' " +↵
|
| | | 24 | " when 2 then 'AFTER INSERT' " +↵
|
| | | 25 | " when 3 then 'BEFORE UPDATE' " +↵
|
| | | 26 | " when 4 then 'AFTER UPDATE' " +↵
|
| | | 27 | " when 5 then 'BEFORE DELETE' " +↵
|
| | | 28 | " when 6 then 'AFTER DELETE' " +↵
|
24 | " +↵ | | 29 | " else 'UNKNOWN TYPE' || rdb$trigger_type " +↵
|
25 | "from rdb$fields f " +↵ | | 30 | "↵
|
26 | "left outer join rdb$character_sets cs on cs.rdb$character_set_id = f.rdb$character_set_id " +↵ | | |
|
27 | "left outer join rdb$collations cl on (cl.rdb$collation_id = f.rdb$collation_id and cl.rdb$character_set_id = f.rdb$character_set_id)↵ | | 31 | end as rdb$trigger_type, " +↵
|
| | | 32 | "case rdb$trigger_inactive " +↵
|
28 | " +↵ | | 33 | " when 0 then 'ACTIVE' " +↵
|
29 | "where " +↵ | | 34 | " whe↵
|
30 | " rdb$field_name = ?";↵ | | |
|
31 | ↵ | | |
|
32 | /**↵ | | |
|
33 | * This interface defines locale specific strings. This should be↵ | | |
|
34 | * replaced with a property file.↵ | | |
|
35 | */↵ | | |
|
36 | private interface i18n↵ | | |
|
37 | {↵ | | |
|
38 | // i18n[firebird.details=Details]↵ | | |
|
39 | String TITLE = s_stringMgr.getString("firebird.details");↵ | | |
|
40 | // i18n[firebird.domainDetails=Display domain details]↵ | | |
|
41 | String HINT = s_stringMgr.getString("firebird.domainDetails");↵ | | |
|
42 | }↵ | | 35 | n 1 then 'INACTIVE' " +↵
|
| | | 36 | " else 'UNKNOWN' " +↵
|
| | | 37 | "end as rdb$trigger_active, " +↵
|
| | | 38 | "rdb$description " +↵
|
| | | 39 | "from rdb$triggers where " +↵
|
| | | 40 | " rdb$trigger_name = ?";↵
|
|
43 | /** Logger for this class. */↵ | | 41 | /** Logger for this class. */↵
|
44 | private final static ILogger s_log =↵ | | 42 | private final static ILogger s_log =↵
|
45 | LoggerController.createLogger(DomainDetailsTab.class);↵ | | 43 | LoggerController.createLogger(TriggerDetailsTab.class);↵
|
|
46 | public DomainDetailsTab()↵ | | 44 | public TriggerDetailsTab()↵
|
47 | {↵ | | 45 | {↵
|
48 | super(i18n.TITLE, i18n.HINT, true);↵ | | 46 | super(i18n.TITLE, i18n.HINT, true);↵
|
49 | }↵ | | 47 | }↵
|
|
50 | protected PreparedStatement createStatement() throws SQLException↵ | | 48 | protected PreparedStatement createStatement() throws SQLException↵
|
51 | {↵ | | 49 | {↵
|
52 | ISession session = getSession();↵ | | 50 | ISession session = getSession();↵
|
53 | IDatabaseObjectInfo doi = getDatabaseObjectInfo();↵ | | |
|
54 | if (s_log.isDebugEnabled()) {↵ | | 51 | if (s_log.isDebugEnabled()) {↵
|
55 | s_log.debug("Preparing SQL: "+SQL);↵ | | 52 | s_log.debug("Preparing SQL: "+SQL);↵
|
56 | }↵ | | 53 | } ↵
|
57 | PreparedStatement pstmt = session.getSQLConnection().prepareStatement(SQL);↵ | | 54 | PreparedStatement pstmt = session.getSQLConnection().prepareStatement(SQL);↵
|
| | | 55 | IDatabaseObjectInfo doi = getDatabaseObjectInfo();↵
|
58 | if (s_log.isDebugEnabled()) {↵ | | 56 | if (s_log.isDebugEnabled()) {↵
|
59 | s_log.debug("setString param: "+doi.getSimpleName());↵ | | 57 | s_log.debug("setString param: "+doi.getSimpleName());↵
|
60 | } ↵ | | 58 | } ↵
|
61 | pstmt.setString(1, doi.getSimpleName());↵ | | 59 | pstmt.setString(1, doi.getSimpleName());↵
|
62 | return pstmt | | 60 | return pstmt
|