From 4fd31a5aaa9f5339cdebc7faa58a64633b4f2198 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 3 Jan 2003 21:17:59 +0000 Subject: [PATCH] Create two aliases for pg_namespace, and clarify some of the alias tags. --- info.c | 222 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 112 insertions(+), 110 deletions(-) diff --git a/info.c b/info.c index 15465c4..fe5d1a7 100644 --- a/info.c +++ b/info.c @@ -3423,78 +3423,81 @@ char schema_fetched[SCHEMA_NAME_STORAGE_LEN + 1]; if (conn->schema_support) { schema_strcat(schema_needed, "%.*s", szFkTableOwner, cbFkTableOwner, szFkTableName, cbFkTableName, conn); - sprintf(tables_query, "SELECT pt.tgargs, " - " pt.tgnargs, " - " pt.tgdeferrable, " - " pt.tginitdeferred, " - " pp1.proname, " + sprintf(tables_query, + "SELECT pt.tgargs, " + " pt1.tgnargs, " + " pt1.tgdeferrable, " + " pt1.tginitdeferred, " " pp2.proname, " - " pc.oid, " + " pp3.proname, " " pc1.oid, " - " pc1.relname, " - " pn.nspname " - "FROM pg_class pc, " + " pc2.oid, " + " pc2.relname, " + " pn2.nspname " + "FROM pg_class pc1, " + " pg_class pc2, " " pg_proc pp1, " " pg_proc pp2, " + " pg_proc pp3, " " pg_trigger pt1, " " pg_trigger pt2, " - " pg_proc pp, " - " pg_trigger pt, " - " pg_class pc1, " - " pg_namespace pn " - "WHERE pt.tgrelid = pc.oid " - "AND pp.oid = pt.tgfoid " - "AND pt1.tgconstrrelid = pc.oid " + " pg_trigger pt3, " + " pg_namespace pn1, " + " pg_namespace pn2 " + "WHERE pt1.tgrelid = pc1.oid " "AND pp1.oid = pt1.tgfoid " - "AND pt2.tgfoid = pp2.oid " - "AND pt2.tgconstrrelid = pc.oid " - "AND ((pc.relname='%s') " - "AND (pn.oid = pc.relnamespace) " - "AND (pn.nspname = '%s') " - "AND (pp.proname LIKE '%%ins') " - "AND (pp1.proname LIKE '%%upd') " - "AND (pp2.proname LIKE '%%del') " - "AND (pt1.tgrelid=pt.tgconstrrelid) " - "AND (pt1.tgconstrname=pt.tgconstrname) " - "AND (pt2.tgrelid=pt.tgconstrrelid) " - "AND (pt2.tgconstrname=pt.tgconstrname) " - "AND (pt.tgconstrrelid=pc1.oid) " - "AND (pc1.relnamespace=pn.oid))", + "AND pt2.tgconstrrelid = pc1.oid " + "AND pp2.oid = pt2.tgfoid " + "AND pt3.tgfoid = pp3.oid " + "AND pt3.tgconstrrelid = pc1.oid " + "AND pc1.relname='%s' " + "AND pn1.oid = pc1.relnamespace " + "AND pn1.nspname = '%s' " + "AND pp1.proname LIKE '%%ins' " + "AND pp2.proname LIKE '%%upd' " + "AND pp3.proname LIKE '%%del' " + "AND pt2.tgrelid=pt1.tgconstrrelid " + "AND pt2.tgconstrname=pt1.tgconstrname " + "AND pt3.tgrelid=pt1.tgconstrrelid " + "AND pt3.tgconstrname=pt1.tgconstrname " + "AND pt1.tgconstrrelid=pc2.oid " + "AND pc2.relnamespace=pn2.oid ", fk_table_needed, schema_needed); } else - sprintf(tables_query, "SELECT pt.tgargs, " - " pt.tgnargs, " - " pt.tgdeferrable, " - " pt.tginitdeferred, " - " pp1.proname, " + sprintf(tables_query, + "SELECT pt1.tgargs, " + " pt1.tgnargs, " + " pt1.tgdeferrable, " + " pt1.tginitdeferred, " " pp2.proname, " - " pc.oid, " + " pp3.proname, " " pc1.oid, " - " pc1.relname " - "FROM pg_class pc, " + " pc2.oid, " + " pc2.relname " + "FROM pg_class pc1, " + " pg_class pc2, " " pg_proc pp1, " " pg_proc pp2, " - " pg_trigger pt1, " + " pg_proc pp3, " + " pg_trigger pt1 " " pg_trigger pt2, " - " pg_proc pp, " - " pg_trigger pt, " - " pg_class pc1 " - "WHERE pt.tgrelid = pc.oid " - "AND pp.oid = pt.tgfoid " - "AND pt1.tgconstrrelid = pc.oid " + " pg_trigger pt3 " + "WHERE pt1.tgrelid = pc1.oid " "AND pp1.oid = pt1.tgfoid " - "AND pt2.tgfoid = pp2.oid " - "AND pt2.tgconstrrelid = pc.oid " - "AND ((pc.relname='%s') " - "AND (pp.proname LIKE '%%ins') " - "AND (pp1.proname LIKE '%%upd') " - "AND (pp2.proname LIKE '%%del') " - "AND (pt1.tgrelid=pt.tgconstrrelid) " - "AND (pt1.tgconstrname=pt.tgconstrname) " - "AND (pt2.tgrelid=pt.tgconstrrelid) " - "AND (pt2.tgconstrname=pt.tgconstrname) " - "AND (pt.tgconstrrelid=pc1.oid)) ", + "AND pt2.tgconstrrelid = pc1.oid " + "AND pp2.oid = pt2.tgfoid " + "AND pt3.tgfoid = pp3.oid " + "AND pt3.tgconstrrelid = pc1.oid " + "AND pc1.relname='%s' " + "AND pp1.proname LIKE '%%ins' " + "AND pp2.proname LIKE '%%upd' " + "AND pp3.proname LIKE '%%del' " + "AND pt2.tgrelid=pt1.tgconstrrelid " + "AND pt2.tgconstrname=pt1.tgconstrname " + "AND pt3.tgrelid=pt1.tgconstrrelid " + "AND pt3.tgconstrname=pt1.tgconstrname " + "AND pt1.tgconstrrelid=pc2.oid ", fk_table_needed); result = PGAPI_ExecDirect(htbl_stmt, tables_query, strlen(tables_query)); @@ -3798,76 +3801,75 @@ if (conn->schema_support) if (conn->schema_support) { schema_strcat(schema_needed, "%.*s", szPkTableOwner, cbPkTableOwner, szPkTableName, cbPkTableName, conn); - sprintf(tables_query, "SELECT pt.tgargs, " - " pt.tgnargs, " - " pt.tgdeferrable, " - " pt.tginitdeferred, " - " pp.proname, " + sprintf(tables_query, + "SELECT pt1.tgargs, " + " pt1.tgnargs, " + " pt1.tgdeferrable, " + " pt1.tginitdeferred, " " pp1.proname, " - " pc.oid, " + " pp2.proname, " " pc1.oid, " - " pc1.relname, " - " pn.nspname " - "FROM pg_class pc, " - " pg_class pc1, " + " pc2.oid, " + " pc2.relname, " + " pn2.nspname " + "FROM pg_class pc1, " " pg_class pc2, " - " pg_proc pp, " + " pg_class pc3, " " pg_proc pp1, " - " pg_trigger pt, " + " pg_proc pp2, " " pg_trigger pt1, " " pg_trigger pt2, " - " pg_namespace pn " - "WHERE pt.tgconstrrelid = pc.oid " - " AND pt.tgrelid = pc1.oid " - " AND pt1.tgfoid = pp1.oid " - " AND pt1.tgconstrrelid = pc1.oid " + " pg_trigger pt3, " + " pg_namespace pn1, " + " pg_namespace pn2 " + "WHERE pt1.tgconstrrelid = pc1.oid " + " AND pt1.tgrelid = pc2.oid " + " AND pt2.tgfoid = pp2.oid " " AND pt2.tgconstrrelid = pc2.oid " - " AND pt2.tgfoid = pp.oid " - " AND pc2.oid = pt.tgrelid " - " AND (" - " (pc.relname='%s') " - " AND (pn.oid = pc.relnamespace) " - " AND (pn.nspname = '%s') " - " AND (pp.proname Like '%%upd') " - " AND (pp1.proname Like '%%del')" - " AND (pt1.tgrelid = pt.tgconstrrelid) " - " AND (pt2.tgrelid = pt.tgconstrrelid) " - " AND (pn.oid = pc1.relnamespace) " - " )", + " AND pt3.tgconstrrelid = pc3.oid " + " AND pt3.tgfoid = pp1.oid " + " AND pc3.oid = pt1.tgrelid " + " AND pc1.relname='%s' " + " AND pn1.oid = pc1.relnamespace " + " AND pn1.nspname = '%s' " + " AND pp1.proname LIKE '%%upd' " + " AND pp2.proname LIKE '%%del'" + " AND pt2.tgrelid = pt1.tgconstrrelid " + " AND pt3.tgrelid = pt1.tgconstrrelid " + " AND pn2.oid = pc2.relnamespace ", pk_table_needed, schema_needed); } else - sprintf(tables_query, "SELECT pt.tgargs, " - " pt.tgnargs, " - " pt.tgdeferrable, " - " pt.tginitdeferred, " - " pp.proname, " + sprintf(tables_query, + "SELECT pt1.tgargs, " + " pt1.tgnargs, " + " pt1.tgdeferrable, " + " pt1.tginitdeferred, " " pp1.proname, " - " pc.oid, " + " pp2.proname, " " pc1.oid, " - " pc1.relname " - "FROM pg_class pc, " - " pg_class pc1, " + " pc2.oid, " + " pc2.relname " + "FROM pg_class pc1, " " pg_class pc2, " - " pg_proc pp, " + " pg_class pc3, " " pg_proc pp1, " - " pg_trigger pt, " + " pg_proc pp2, " " pg_trigger pt1, " - " pg_trigger pt2 " - "WHERE pt.tgconstrrelid = pc.oid " - " AND pt.tgrelid = pc1.oid " - " AND pt1.tgfoid = pp1.oid " - " AND pt1.tgconstrrelid = pc1.oid " + " pg_trigger pt2, " + " pg_trigger pt3 " + "WHERE pt1.tgconstrrelid = pc1.oid " + " AND pt1.tgrelid = pc2.oid " + " AND pt2.tgfoid = pp2.oid " " AND pt2.tgconstrrelid = pc2.oid " - " AND pt2.tgfoid = pp.oid " - " AND pc2.oid = pt.tgrelid " - " AND (" - " (pc.relname='%s') " - " AND (pp.proname Like '%%upd') " - " AND (pp1.proname Like '%%del')" - " AND (pt1.tgrelid = pt.tgconstrrelid) " - " AND (pt2.tgrelid = pt.tgconstrrelid) " - " )", + " AND pt3.tgconstrrelid = pc3.oid " + " AND pt3.tgfoid = pp1.oid " + " AND pc3.oid = pt1.tgrelid " + " AND pc1.relname='%s' " + " AND pp1.proname Like '%%upd' " + " AND pp2.proname Like '%%del' " + " AND pt2.tgrelid = pt1.tgconstrrelid " + " AND pt3.tgrelid = pt1.tgconstrrelid ", pk_table_needed); result = PGAPI_ExecDirect(htbl_stmt, tables_query, strlen(tables_query)); -- 2.39.5