16
16
#include <time.h>
17
17
18
18
#include "catalog/pg_am_d.h"
19
+ #include "catalog/pg_class_d.h"
19
20
#include "catalog/pg_namespace_d.h"
20
21
#include "common/logging.h"
21
22
#include "common/username.h"
@@ -857,7 +858,7 @@ prepare_heap_command(PQExpBuffer sql, RelationInfo *rel, PGconn *conn)
857
858
858
859
appendPQExpBuffer (sql ,
859
860
"\n) v WHERE c.oid = %u "
860
- "AND c.relpersistence != 't'" ,
861
+ "AND c.relpersistence != " CppAsString2 ( RELPERSISTENCE_TEMP ) ,
861
862
rel -> reloid );
862
863
}
863
864
@@ -890,7 +891,7 @@ prepare_btree_command(PQExpBuffer sql, RelationInfo *rel, PGconn *conn)
890
891
"\nFROM pg_catalog.pg_class c, pg_catalog.pg_index i "
891
892
"WHERE c.oid = %u "
892
893
"AND c.oid = i.indexrelid "
893
- "AND c.relpersistence != 't' "
894
+ "AND c.relpersistence != " CppAsString2 ( RELPERSISTENCE_TEMP ) " "
894
895
"AND i.indisready AND i.indisvalid AND i.indislive" ,
895
896
rel -> datinfo -> amcheck_schema ,
896
897
(opts .heapallindexed ? "true" : "false" ),
@@ -905,7 +906,7 @@ prepare_btree_command(PQExpBuffer sql, RelationInfo *rel, PGconn *conn)
905
906
"\nFROM pg_catalog.pg_class c, pg_catalog.pg_index i "
906
907
"WHERE c.oid = %u "
907
908
"AND c.oid = i.indexrelid "
908
- "AND c.relpersistence != 't' "
909
+ "AND c.relpersistence != " CppAsString2 ( RELPERSISTENCE_TEMP ) " "
909
910
"AND i.indisready AND i.indisvalid AND i.indislive" ,
910
911
rel -> datinfo -> amcheck_schema ,
911
912
(opts .heapallindexed ? "true" : "false" ),
@@ -1952,7 +1953,8 @@ compile_relation_list_one_db(PGconn *conn, SimplePtrList *relations,
1952
1953
* until firing off the amcheck command, as the state of an index may
1953
1954
* change by then.
1954
1955
*/
1955
- appendPQExpBufferStr (& sql , "\nWHERE c.relpersistence != 't'" );
1956
+ appendPQExpBufferStr (& sql , "\nWHERE c.relpersistence != "
1957
+ CppAsString2 (RELPERSISTENCE_TEMP ));
1956
1958
if (opts .excludetbl || opts .excludeidx || opts .excludensp )
1957
1959
appendPQExpBufferStr (& sql , "\nAND ep.pattern_id IS NULL" );
1958
1960
@@ -1972,15 +1974,29 @@ compile_relation_list_one_db(PGconn *conn, SimplePtrList *relations,
1972
1974
if (opts .allrel )
1973
1975
appendPQExpBuffer (& sql ,
1974
1976
" AND c.relam = %u "
1975
- "AND c.relkind IN ('r', 'S', 'm', 't') "
1977
+ "AND c.relkind IN ("
1978
+ CppAsString2 (RELKIND_RELATION ) ", "
1979
+ CppAsString2 (RELKIND_SEQUENCE ) ", "
1980
+ CppAsString2 (RELKIND_MATVIEW ) ", "
1981
+ CppAsString2 (RELKIND_TOASTVALUE ) ") "
1976
1982
"AND c.relnamespace != %u" ,
1977
1983
HEAP_TABLE_AM_OID , PG_TOAST_NAMESPACE );
1978
1984
else
1979
1985
appendPQExpBuffer (& sql ,
1980
1986
" AND c.relam IN (%u, %u)"
1981
- "AND c.relkind IN ('r', 'S', 'm', 't', 'i') "
1982
- "AND ((c.relam = %u AND c.relkind IN ('r', 'S', 'm', 't')) OR "
1983
- "(c.relam = %u AND c.relkind = 'i'))" ,
1987
+ "AND c.relkind IN ("
1988
+ CppAsString2 (RELKIND_RELATION ) ", "
1989
+ CppAsString2 (RELKIND_SEQUENCE ) ", "
1990
+ CppAsString2 (RELKIND_MATVIEW ) ", "
1991
+ CppAsString2 (RELKIND_TOASTVALUE ) ", "
1992
+ CppAsString2 (RELKIND_INDEX ) ") "
1993
+ "AND ((c.relam = %u AND c.relkind IN ("
1994
+ CppAsString2 (RELKIND_RELATION ) ", "
1995
+ CppAsString2 (RELKIND_SEQUENCE ) ", "
1996
+ CppAsString2 (RELKIND_MATVIEW ) ", "
1997
+ CppAsString2 (RELKIND_TOASTVALUE ) ")) OR "
1998
+ "(c.relam = %u AND c.relkind = "
1999
+ CppAsString2 (RELKIND_INDEX ) "))" ,
1984
2000
HEAP_TABLE_AM_OID , BTREE_AM_OID ,
1985
2001
HEAP_TABLE_AM_OID , BTREE_AM_OID );
1986
2002
@@ -2007,7 +2023,7 @@ compile_relation_list_one_db(PGconn *conn, SimplePtrList *relations,
2007
2023
"\nAND (t.relname ~ ep.rel_regex OR ep.rel_regex IS NULL)"
2008
2024
"\nAND ep.heap_only"
2009
2025
"\nWHERE ep.pattern_id IS NULL"
2010
- "\nAND t.relpersistence != 't'" );
2026
+ "\nAND t.relpersistence != " CppAsString2 ( RELPERSISTENCE_TEMP ) );
2011
2027
appendPQExpBufferStr (& sql ,
2012
2028
"\n)" );
2013
2029
}
@@ -2026,7 +2042,7 @@ compile_relation_list_one_db(PGconn *conn, SimplePtrList *relations,
2026
2042
"ON r.oid = i.indrelid "
2027
2043
"INNER JOIN pg_catalog.pg_class c "
2028
2044
"ON i.indexrelid = c.oid "
2029
- "AND c.relpersistence != 't'" );
2045
+ "AND c.relpersistence != " CppAsString2 ( RELPERSISTENCE_TEMP ) );
2030
2046
if (opts .excludeidx || opts .excludensp )
2031
2047
appendPQExpBufferStr (& sql ,
2032
2048
"\nINNER JOIN pg_catalog.pg_namespace n "
@@ -2041,7 +2057,7 @@ compile_relation_list_one_db(PGconn *conn, SimplePtrList *relations,
2041
2057
"\nWHERE true" );
2042
2058
appendPQExpBuffer (& sql ,
2043
2059
" AND c.relam = %u "
2044
- "AND c.relkind = 'i'" ,
2060
+ "AND c.relkind = " CppAsString2 ( RELKIND_INDEX ) ,
2045
2061
BTREE_AM_OID );
2046
2062
if (opts .no_toast_expansion )
2047
2063
appendPQExpBuffer (& sql ,
@@ -2065,7 +2081,7 @@ compile_relation_list_one_db(PGconn *conn, SimplePtrList *relations,
2065
2081
"ON t.oid = i.indrelid"
2066
2082
"\nINNER JOIN pg_catalog.pg_class c "
2067
2083
"ON i.indexrelid = c.oid "
2068
- "AND c.relpersistence != 't'" );
2084
+ "AND c.relpersistence != " CppAsString2 ( RELPERSISTENCE_TEMP ) );
2069
2085
if (opts .excludeidx )
2070
2086
appendPQExpBufferStr (& sql ,
2071
2087
"\nLEFT OUTER JOIN exclude_pat ep "
@@ -2078,7 +2094,7 @@ compile_relation_list_one_db(PGconn *conn, SimplePtrList *relations,
2078
2094
"\nWHERE true" );
2079
2095
appendPQExpBuffer (& sql ,
2080
2096
" AND c.relam = %u"
2081
- " AND c.relkind = 'i' )" ,
2097
+ " AND c.relkind = " CppAsString2 ( RELKIND_INDEX ) " )" ,
2082
2098
BTREE_AM_OID );
2083
2099
}
2084
2100
0 commit comments