diff --git a/site_ansto/xref.py b/site_ansto/xref.py index f8c32c68..0562152d 100755 --- a/site_ansto/xref.py +++ b/site_ansto/xref.py @@ -18,14 +18,6 @@ def setup_database(): curs.execute("CREATE INDEX symidx ON symtab ( name )") curs.execute("CREATE VIEW defs AS SELECT DISTINCT s.name sym, s.obj_id mod FROM symtab s WHERE s.usage != 'U'"); curs.execute("CREATE VIEW refs AS SELECT DISTINCT s.name sym, s.obj_id mod FROM symtab s WHERE s.usage = 'U'"); - curs.execute("""CREATE VIEW v AS SELECT distinct a.name from_name, b.name to_name - FROM defs, refs, objtab a, objtab b - WHERE refs.mod = a.rowid and refs.sym = defs.sym and defs.mod = b.rowid and refs.mod != defs.mod - """) - curs.execute("""CREATE VIEW vnum AS SELECT distinct a.name from_name, b.name to_name, defs.sym sym - FROM defs, refs, objtab a, objtab b - WHERE refs.mod = a.rowid and refs.sym = defs.sym and defs.mod = b.rowid and refs.mod != defs.mod - """) def get_one_object(arg): line = arg.strip() @@ -190,3 +182,17 @@ if dict_sf.has_key("main"): if dict_sm.has_key("main"): print "main is in library", dict_sm["main"] +curs.execute("""CREATE VIEW v AS SELECT distinct a.name from_name, b.name to_name + FROM defs, refs, objtab a, objtab b + WHERE refs.mod = a.rowid and refs.sym = defs.sym and defs.mod = b.rowid and refs.mod != defs.mod + """) +curs.execute("""CREATE VIEW vnum AS SELECT distinct a.name from_name, b.name to_name, defs.sym sym + FROM defs, refs, objtab a, objtab b + WHERE refs.mod = a.rowid and refs.sym = defs.sym and defs.mod = b.rowid and refs.mod != defs.mod + """) +curs.execute("""CREATE VIEW level_1 AS SELECT DISTINCT to_name name + FROM v + WHERE to_name NOT IN (SELECT DISTINCT from_name FROM v) + """) +curs.execute("CREATE TABLE associations AS SELECT * from v") +curs.execute("CREATE TABLE linkages AS SELECT * from vnum")