On Sat, Jul 6, 2019 at 7:32 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > > Masahiko Sawada <sawada.m...@gmail.com> writes: > > I think the following functions are mistakenly left in the header > > file. So attached patch removes them. > > > dsa_startup() > > TransactionIdAbort() > > renameatt_type() > > Agreed, these are referenced nowhere. I pushed the patch.
Thanks. > > > I realized that TransactionIdAbort is declared in the transam.h but > > there is not its function body. As far as I found there are three > > similar functions in total by the following script. > > for func in `git ls-files | egrep "\w+\.h$" | xargs cat | egrep > > "extern \w+ \w+\(.*\);" | sed -e "s/.* \(.*\)(.*);/\1(/g"` > > do > > if [ `git grep "$func" -- "*.c" | wc -l` -lt 1 ];then > > echo $func > > fi > > done > > FWIW, that won't catch declarations that lack "extern", nor functions > that return pointer-to-something. (Omitting "extern" is something > I consider bad style, but other people seem to be down with it.) > Might be worth another pass to look harder? > Indeed. I've tried to search again with the following script and got more such functions. for func in `git ls-files | egrep "\w+\.h$" | xargs cat | egrep -v "(^typedef)|(DECLARE)|(BKI)" | egrep "^(extern )*[\_0-9A-Za-z]+ [\_\*0-9a-zA-Z]+ ?\(.+\);$" | sed -e "s/\(^extern \)*[\_0-9A-Za-z]\+ \([\_0-9A-Za-z\*]\+\) \{0,1\}(.*);$/\2(/g" | sed -e "s/\*//g"` do if [ "`git grep "$func" -- "*.c" | wc -l`" -lt 1 ];then echo $func fi done Attached patch removes these functions. Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center
diff --git a/src/bin/pg_dump/pg_backup_archiver.h b/src/bin/pg_dump/pg_backup_archiver.h index db13507b47..fa2c6eff5a 100644 --- a/src/bin/pg_dump/pg_backup_archiver.h +++ b/src/bin/pg_dump/pg_backup_archiver.h @@ -426,8 +426,6 @@ typedef struct _archiveOpts extern TocEntry *ArchiveEntry(Archive *AHX, CatalogId catalogId, DumpId dumpId, ArchiveOpts *opts); -extern void WriteTOC(ArchiveHandle *AH); -extern void ReadTOC(ArchiveHandle *AH); extern void WriteHead(ArchiveHandle *AH); extern void ReadHead(ArchiveHandle *AH); extern void WriteToc(ArchiveHandle *AH); diff --git a/src/include/bootstrap/bootstrap.h b/src/include/bootstrap/bootstrap.h index 03706ad4f6..85705602cb 100644 --- a/src/include/bootstrap/bootstrap.h +++ b/src/include/bootstrap/bootstrap.h @@ -34,8 +34,6 @@ extern int numattr; extern void AuxiliaryProcessMain(int argc, char *argv[]) pg_attribute_noreturn(); -extern void err_out(void); - extern void closerel(char *name); extern void boot_openrel(char *name); diff --git a/src/include/utils/rel.h b/src/include/utils/rel.h index d7f33abce3..d35b4a5061 100644 --- a/src/include/utils/rel.h +++ b/src/include/utils/rel.h @@ -604,6 +604,5 @@ typedef struct ViewOptions extern void RelationIncrementReferenceCount(Relation rel); extern void RelationDecrementReferenceCount(Relation rel); extern bool RelationHasUnloggedIndex(Relation rel); -extern List *RelationGetRepsetList(Relation rel); #endif /* REL_H */ diff --git a/src/interfaces/libpq/libpq-int.h b/src/interfaces/libpq/libpq-int.h index c0b8e3f8ce..fcf2bc2cab 100644 --- a/src/interfaces/libpq/libpq-int.h +++ b/src/interfaces/libpq/libpq-int.h @@ -660,7 +660,6 @@ extern int pqWriteReady(PGconn *conn); /* === in fe-secure.c === */ extern int pqsecure_initialize(PGconn *); -extern void pqsecure_destroy(void); extern PostgresPollingStatusType pqsecure_open_client(PGconn *); extern void pqsecure_close(PGconn *); extern ssize_t pqsecure_read(PGconn *, void *ptr, size_t len);