On Sat, Jul 6, 2019 at 7:32 AM Tom Lane <[email protected]> wrote:
>
> Masahiko Sawada <[email protected]> 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);