| 27 | | """ |
|---|
| 28 | | raise NotImplementedError |
|---|
| | 27 | """ |
|---|
| | 28 | cursor.execute(""" |
|---|
| | 29 | SELECT ta.column_id - 1, tb.table_name, tb.column_id - 1 |
|---|
| | 30 | FROM user_constraints, USER_CONS_COLUMNS ca, USER_CONS_COLUMNS cb, |
|---|
| | 31 | user_tab_cols ta, user_tab_cols tb |
|---|
| | 32 | WHERE user_constraints.table_name = %s AND |
|---|
| | 33 | ta.table_name = %s AND |
|---|
| | 34 | ta.column_name = ca.column_name AND |
|---|
| | 35 | ca.table_name = %s AND |
|---|
| | 36 | user_constraints.constraint_name = ca.constraint_name AND |
|---|
| | 37 | user_constraints.r_constraint_name = cb.constraint_name AND |
|---|
| | 38 | cb.table_name = tb.table_name AND |
|---|
| | 39 | cb.column_name = tb.column_name AND |
|---|
| | 40 | ca.position = cb.position""", [table_name, table_name, table_name]) |
|---|
| | 41 | |
|---|
| | 42 | relations = {} |
|---|
| | 43 | for row in cursor.fetchall(): |
|---|
| | 44 | relations[row[0]] = (row[2], row[1]) |
|---|
| | 45 | return relations |
|---|