Remove unused column atttypmod from initial tablesync query
authorMichael Paquier <[email protected]>
Tue, 2 Feb 2021 04:59:23 +0000 (13:59 +0900)
committerMichael Paquier <[email protected]>
Tue, 2 Feb 2021 04:59:23 +0000 (13:59 +0900)
The initial tablesync done by logical replication used a query to fetch
the information of a relation's columns that included atttypmod, but it
was left unused.  This was added by 7c4f524.

Author: Euler Taveira
Reviewed-by: Önder Kalacı, Amit Langote, Japin Li
Discussion: https://postgr.es/m/CAHE3wggb715X+mK_DitLXF25B=jE6xyNCH4YOwM860JR7HarGQ@mail.gmail.com

src/backend/replication/logical/tablesync.c

index 863d196fd7c668b5871e75ba34730a0b29a9775b..a18f847ade05234a4843d15ab3476b4a03c39714 100644 (file)
@@ -640,7 +640,7 @@ fetch_remote_table_info(char *nspname, char *relname,
    StringInfoData cmd;
    TupleTableSlot *slot;
    Oid         tableRow[] = {OIDOID, CHAROID, CHAROID};
-   Oid         attrRow[] = {TEXTOID, OIDOID, INT4OID, BOOLOID};
+   Oid         attrRow[] = {TEXTOID, OIDOID, BOOLOID};
    bool        isnull;
    int         natt;
 
@@ -685,7 +685,6 @@ fetch_remote_table_info(char *nspname, char *relname,
    appendStringInfo(&cmd,
                     "SELECT a.attname,"
                     "       a.atttypid,"
-                    "       a.atttypmod,"
                     "       a.attnum = ANY(i.indkey)"
                     "  FROM pg_catalog.pg_attribute a"
                     "  LEFT JOIN pg_catalog.pg_index i"
@@ -718,7 +717,7 @@ fetch_remote_table_info(char *nspname, char *relname,
        Assert(!isnull);
        lrel->atttyps[natt] = DatumGetObjectId(slot_getattr(slot, 2, &isnull));
        Assert(!isnull);
-       if (DatumGetBool(slot_getattr(slot, 4, &isnull)))
+       if (DatumGetBool(slot_getattr(slot, 3, &isnull)))
            lrel->attkeys = bms_add_member(lrel->attkeys, natt);
 
        /* Should never happen. */