1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| Query = self.InternalQueryOpen( """
SELECT
CAST( %(TABLESYS)d AS INTEGER ) AS OBJ_ORDER,
CAST( 'TABLESYS' AS VARCHAR( 32) ) AS OBJ_TYPE,
CAST( RDB$RELATION_NAME AS VARCHAR( 32) ) AS OBJ_NAME,
CAST( '' AS VARCHAR(255) ) AS OBJ_INFO
FROM RDB$RELATIONS
WHERE RDB$SYSTEM_FLAG = 1
AND %(TABLESYS)d > 0
GROUP BY RDB$RELATION_NAME
UNION ALL
SELECT
CAST( %(TABLE)d AS INTEGER ),
CAST( 'TABLE' AS VARCHAR( 32) ),
CAST( RDB$RELATION_NAME AS VARCHAR( 32) ),
CAST( '' AS VARCHAR(255) )
FROM RDB$RELATIONS
WHERE RDB$SYSTEM_FLAG = 0
AND RDB$VIEW_SOURCE IS NULL
AND %(TABLE)d > 0
GROUP BY RDB$RELATION_NAME
UNION ALL
SELECT
CAST( %(VIEW)d AS INTEGER ),
CAST( 'VIEW' AS VARCHAR( 32) ),
CAST( RDB$RELATION_NAME AS VARCHAR( 32) ),
CAST( '' AS VARCHAR(255) )
FROM RDB$RELATIONS
WHERE RDB$SYSTEM_FLAG = 0
AND RDB$VIEW_SOURCE IS NOT NULL
AND %(VIEW)d > 0
GROUP BY RDB$RELATION_NAME
UNION ALL
SELECT
CAST( %(FUNCTION)d AS INTEGER ),
CAST( 'FUNCTION' AS VARCHAR( 32) ),
CAST( RDB$FUNCTION_NAME AS VARCHAR( 32) ),
CAST( RDB$MODULE_NAME AS VARCHAR(255) )
FROM RDB$FUNCTIONS
WHERE %(FUNCTION)d > 0
UNION ALL
SELECT
CAST( %(PROCEDURE)d AS INTEGER ),
CAST( 'PROCEDURE' AS VARCHAR( 32) ),
CAST( RDB$PROCEDURE_NAME AS VARCHAR( 32) ),
CAST( '' AS VARCHAR(255) )
FROM RDB$PROCEDURES
WHERE %(PROCEDURE)d > 0
UNION ALL
SELECT
CAST( %(EXCEPTION)d AS INTEGER ),
CAST( 'EXCEPTION' AS VARCHAR( 32) ),
CAST( RDB$EXCEPTION_NAME AS VARCHAR( 32) ),
CAST( RDB$MESSAGE AS VARCHAR(255) )
FROM RDB$EXCEPTIONS
WHERE %(EXCEPTION)d > 0
UNION ALL
SELECT
CAST( %(GENERATOR)d AS INTEGER ),
CAST( 'GENERATOR' AS VARCHAR( 32) ),
CAST( RDB$GENERATOR_NAME AS VARCHAR( 32) ),
CAST( '' AS VARCHAR(255) )
FROM RDB$GENERATORS G
WHERE RDB$SYSTEM_FLAG IS NULL
AND %(GENERATOR)d > 0
UNION ALL
SELECT
CAST( %(TRIGGER)d AS INTEGER ),
CAST( 'TRIGGER' AS VARCHAR( 32) ),
CAST( RDB$TRIGGER_NAME AS VARCHAR( 32) ),
CAST( CASE RDB$TRIGGER_TYPE
WHEN 1 THEN 'BEFORE_INSERT'
WHEN 2 THEN 'AFTER_INSERT '
WHEN 3 THEN 'BEFORE_UPDATE'
WHEN 4 THEN 'AFTER_INSERT '
WHEN 5 THEN 'BEFORE_DELETE'
WHEN 6 THEN 'AFTER_DELETE '
END
|| ' ' ||
CASE RDB$TRIGGER_INACTIVE
WHEN 0 THEN 'ACTIVE'
ELSE 'INACTIVE'
END
AS VARCHAR(255) )
FROM RDB$TRIGGERS
WHERE ( RDB$SYSTEM_FLAG = 0 ) OR ( RDB$SYSTEM_FLAG is NULL )
UNION ALL
SELECT
CAST( %(CHECK)d AS INTEGER ),
CAST( 'CHECK' AS VARCHAR( 32) ),
CAST( T.RDB$CONSTRAINT_NAME AS VARCHAR( 32) ),
CAST( '' AS VARCHAR(255) )
FROM RDB$CHECK_CONSTRAINTS T
JOIN RDB$TRIGGERS T2 ON T2.RDB$TRIGGER_NAME = T.RDB$TRIGGER_NAME
WHERE T2.RDB$SYSTEM_FLAG = 3
AND T.RDB$DB_KEY = ( SELECT MIN( T3.RDB$DB_KEY ) FROM RDB$CHECK_CONSTRAINTS T3
WHERE T3.RDB$CONSTRAINT_NAME = T.RDB$CONSTRAINT_NAME )
ORDER BY 1, 3
""" % self.ObjectsOrder )
for Row in self.InternalQuery.FetchAll():
Result.append( { 'OBJ_TYPE': Row[ 'OBJ_TYPE' ],
'OBJ_NAME': Row[ 'OBJ_NAME' ].strip(),
'OBJ_INFO': Row[ 'OBJ_INFO' ]
} ) |
Partager