SELECT r.relid AS table_name,
a.attname AS COLUMN,
‘iietab_'+RIGHT(HEX(e.etab_base),
CASE
WHEN e.etab_base < 16 THEN 1
WHEN (e.etab_base >=16 and e.etab_base < 256) THEN 2
WHEN (e.etab_base >=256 and e.etab_base < 4096) THEN 3
WHEN (e.etab_base >=4096 and e.etab_base < 65536) THEN 4
WHEN (e.etab_base >=65536 and e.etab_base < 1048576) THEN 5
WHEN (e.etab_base >=1048576 and e.etab_base < 16777216) THEN 6
WHEN (e.etab_base >=16777216 and e.etab_base < 268435456) THEN 7
ELSE 8
END)+'_'+
RIGHT(HEX(e.etab_extension),
CASE
WHEN e.etab_extension < 16 THEN 1
WHEN (e.etab_extension >=16 and e.etab_extension < 256) THEN 2
WHEN (e.etab_extension >=256 and e.etab_extension < 4096) THEN 3
WHEN (e.etab_extension >=4096 and e.etab_extension < 65536) THEN 4
WHEN (e.etab_extension >=65536 and e.etab_extension < 1048576) THEN 5
WHEN (e.etab_extension >=1048576 and e.etab_extension < 16777216) THEN 6
WHEN (e.etab_extension >=16777216 and e.etab_extension < 268435456) THEN 7
ELSE 8
END) AS etab_tbl_name
FROM
iirelation r, iiattribute a, iiextended_relation e
WHERE
e.etab_base=r.reltid /* join to iirelation for table name */
AND r.reltidx=0 /* we want the base table not an index */
AND a.attid=e.etab_attid /* join to iiattribute for column name */
AND a.attrelid=r.reltid
AND a.attrelidx=0