Create two aliases for pg_namespace, and clarify some of the alias tags.
authorBruce Momjian <bruce@momjian.us>
Fri, 3 Jan 2003 21:17:59 +0000 (21:17 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 3 Jan 2003 21:17:59 +0000 (21:17 +0000)
info.c

diff --git a/info.c b/info.c
index 15465c4884da4a7d0002263b221d22f508fad8c9..fe5d1a7aa099845861e7c42c840cbdf6b59e401d 100644 (file)
--- 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));