mirror of
https://github.com/django/django.git
synced 2025-07-04 17:59:13 +00:00
[boulder-oracle-sprint] Oracle "inspectdb" runs, thanks to Mitchell Smith for the hairy SQL needed
git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@4023 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
53222ce9a1
commit
b47c350b56
@ -25,7 +25,24 @@ def get_relations(cursor, table_name):
|
|||||||
Returns a dictionary of {field_index: (field_index_other_table, other_table)}
|
Returns a dictionary of {field_index: (field_index_other_table, other_table)}
|
||||||
representing all relationships to the given table. Indexes are 0-based.
|
representing all relationships to the given table. Indexes are 0-based.
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
cursor.execute("""
|
||||||
|
SELECT ta.column_id - 1, tb.table_name, tb.column_id - 1
|
||||||
|
FROM user_constraints, USER_CONS_COLUMNS ca, USER_CONS_COLUMNS cb,
|
||||||
|
user_tab_cols ta, user_tab_cols tb
|
||||||
|
WHERE user_constraints.table_name = %s AND
|
||||||
|
ta.table_name = %s AND
|
||||||
|
ta.column_name = ca.column_name AND
|
||||||
|
ca.table_name = %s AND
|
||||||
|
user_constraints.constraint_name = ca.constraint_name AND
|
||||||
|
user_constraints.r_constraint_name = cb.constraint_name AND
|
||||||
|
cb.table_name = tb.table_name AND
|
||||||
|
cb.column_name = tb.column_name AND
|
||||||
|
ca.position = cb.position""", [table_name, table_name, table_name])
|
||||||
|
|
||||||
|
relations = {}
|
||||||
|
for row in cursor.fetchall():
|
||||||
|
relations[row[0]] = (row[2], row[1])
|
||||||
|
return relations
|
||||||
|
|
||||||
def get_indexes(cursor, table_name):
|
def get_indexes(cursor, table_name):
|
||||||
"""
|
"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user