diff options
author | Peter Eisentraut | 2017-01-21 01:29:53 +0000 |
---|---|---|
committer | Peter Eisentraut | 2017-01-21 01:29:53 +0000 |
commit | f21a563d25dbae153937aec062161184189478b8 (patch) | |
tree | ab2d926b86e912036c542bce4da14db2661338ff /src | |
parent | c6a389792e08980e395055ac219303cf4357ba33 (diff) |
Move some things from builtins.h to new header files
This avoids that builtins.h has to include additional header files.
Diffstat (limited to 'src')
42 files changed, 106 insertions, 33 deletions
diff --git a/src/backend/access/brin/brin_validate.c b/src/backend/access/brin/brin_validate.c index 616a8d1541c..dc23e00e895 100644 --- a/src/backend/access/brin/brin_validate.c +++ b/src/backend/access/brin/brin_validate.c @@ -23,6 +23,7 @@ #include "catalog/pg_type.h" #include "utils/builtins.h" #include "utils/syscache.h" +#include "utils/regproc.h" /* diff --git a/src/backend/access/gin/ginvalidate.c b/src/backend/access/gin/ginvalidate.c index 1727b00b138..0d2847456ea 100644 --- a/src/backend/access/gin/ginvalidate.c +++ b/src/backend/access/gin/ginvalidate.c @@ -24,6 +24,7 @@ #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/syscache.h" +#include "utils/regproc.h" /* diff --git a/src/backend/access/gist/gistvalidate.c b/src/backend/access/gist/gistvalidate.c index 7c0fac94700..585c92be269 100644 --- a/src/backend/access/gist/gistvalidate.c +++ b/src/backend/access/gist/gistvalidate.c @@ -23,6 +23,7 @@ #include "catalog/pg_type.h" #include "utils/builtins.h" #include "utils/lsyscache.h" +#include "utils/regproc.h" #include "utils/syscache.h" diff --git a/src/backend/access/hash/hashvalidate.c b/src/backend/access/hash/hashvalidate.c index 880fcd51fc8..f914c015bd1 100644 --- a/src/backend/access/hash/hashvalidate.c +++ b/src/backend/access/hash/hashvalidate.c @@ -25,6 +25,7 @@ #include "parser/parse_coerce.h" #include "utils/builtins.h" #include "utils/fmgroids.h" +#include "utils/regproc.h" #include "utils/syscache.h" diff --git a/src/backend/access/nbtree/nbtvalidate.c b/src/backend/access/nbtree/nbtvalidate.c index 7b443f216ad..88e33f54cda 100644 --- a/src/backend/access/nbtree/nbtvalidate.c +++ b/src/backend/access/nbtree/nbtvalidate.c @@ -22,6 +22,7 @@ #include "catalog/pg_opfamily.h" #include "catalog/pg_type.h" #include "utils/builtins.h" +#include "utils/regproc.h" #include "utils/syscache.h" diff --git a/src/backend/access/spgist/spgtextproc.c b/src/backend/access/spgist/spgtextproc.c index bc6981358c2..86788549a55 100644 --- a/src/backend/access/spgist/spgtextproc.c +++ b/src/backend/access/spgist/spgtextproc.c @@ -45,6 +45,7 @@ #include "utils/builtins.h" #include "utils/datum.h" #include "utils/pg_locale.h" +#include "utils/varlena.h" /* diff --git a/src/backend/access/spgist/spgvalidate.c b/src/backend/access/spgist/spgvalidate.c index 9e0f8cef274..1bc5bce72ec 100644 --- a/src/backend/access/spgist/spgvalidate.c +++ b/src/backend/access/spgist/spgvalidate.c @@ -22,6 +22,7 @@ #include "catalog/pg_opfamily.h" #include "catalog/pg_type.h" #include "utils/builtins.h" +#include "utils/regproc.h" #include "utils/syscache.h" diff --git a/src/backend/catalog/namespace.c b/src/backend/catalog/namespace.c index 77e9777a230..a38da3047ff 100644 --- a/src/backend/catalog/namespace.c +++ b/src/backend/catalog/namespace.c @@ -56,6 +56,7 @@ #include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/syscache.h" +#include "utils/varlena.h" /* diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c index 44d14ae2b18..6082f3bb931 100644 --- a/src/backend/catalog/objectaddress.c +++ b/src/backend/catalog/objectaddress.c @@ -81,6 +81,7 @@ #include "utils/fmgroids.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/regproc.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c index 05d91fa859f..7ae192a4074 100644 --- a/src/backend/catalog/pg_proc.c +++ b/src/backend/catalog/pg_proc.c @@ -37,6 +37,7 @@ #include "utils/acl.h" #include "utils/builtins.h" #include "utils/lsyscache.h" +#include "utils/regproc.h" #include "utils/rel.h" #include "utils/syscache.h" diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c index 967b52a133f..554fdc46b41 100644 --- a/src/backend/commands/extension.c +++ b/src/backend/commands/extension.c @@ -59,6 +59,7 @@ #include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/tqual.h" +#include "utils/varlena.h" /* Globally visible state variables */ diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index b6fa5a01d39..ed6136c1535 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -51,6 +51,7 @@ #include "utils/inval.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/regproc.h" #include "utils/snapmgr.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 2de46c270e7..36f1249ee5a 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -41,6 +41,7 @@ #include "utils/lsyscache.h" #include "utils/resowner.h" #include "utils/syscache.h" +#include "utils/varlena.h" /* diff --git a/src/backend/commands/tablespace.c b/src/backend/commands/tablespace.c index 2da13be9e4c..651e1b303aa 100644 --- a/src/backend/commands/tablespace.c +++ b/src/backend/commands/tablespace.c @@ -82,6 +82,7 @@ #include "utils/memutils.h" #include "utils/rel.h" #include "utils/tqual.h" +#include "utils/varlena.h" /* GUC variables */ diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c index 62d56b84bc0..15dbaf3fd21 100644 --- a/src/backend/commands/variable.c +++ b/src/backend/commands/variable.c @@ -30,6 +30,7 @@ #include "utils/syscache.h" #include "utils/snapmgr.h" #include "utils/timestamp.h" +#include "utils/varlena.h" #include "mb/pg_wchar.h" /* diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c index 1d2440b9a7d..e693c316e3b 100644 --- a/src/backend/parser/parse_relation.c +++ b/src/backend/parser/parse_relation.c @@ -31,6 +31,7 @@ #include "utils/lsyscache.h" #include "utils/rel.h" #include "utils/syscache.h" +#include "utils/varlena.h" #define MAX_FUZZY_DISTANCE 3 diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 8d99c7a0d4e..91ccbe78c07 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -127,6 +127,7 @@ #include "utils/memutils.h" #include "utils/ps_status.h" #include "utils/timeout.h" +#include "utils/varlena.h" #ifdef EXEC_BACKEND #include "storage/spin.h" diff --git a/src/backend/replication/logical/logicalfuncs.c b/src/backend/replication/logical/logicalfuncs.c index d16d6da56e8..41c50005d7f 100644 --- a/src/backend/replication/logical/logicalfuncs.c +++ b/src/backend/replication/logical/logicalfuncs.c @@ -37,6 +37,7 @@ #include "utils/inval.h" #include "utils/memutils.h" #include "utils/pg_lsn.h" +#include "utils/regproc.h" #include "utils/resowner.h" #include "utils/lsyscache.h" diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c index 04dde5d4945..08c30af88a1 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -19,11 +19,11 @@ #include "replication/origin.h" #include "replication/pgoutput.h" -#include "utils/builtins.h" #include "utils/inval.h" #include "utils/int8.h" #include "utils/memutils.h" #include "utils/syscache.h" +#include "utils/varlena.h" PG_MODULE_MAGIC; diff --git a/src/backend/tsearch/dict_thesaurus.c b/src/backend/tsearch/dict_thesaurus.c index c3f3d3fbede..ee23fcfac8b 100644 --- a/src/backend/tsearch/dict_thesaurus.c +++ b/src/backend/tsearch/dict_thesaurus.c @@ -19,6 +19,7 @@ #include "tsearch/ts_locale.h" #include "tsearch/ts_utils.h" #include "utils/builtins.h" +#include "utils/regproc.h" /* diff --git a/src/backend/tsearch/wparser.c b/src/backend/tsearch/wparser.c index 9a20cace05c..8ca1c62713e 100644 --- a/src/backend/tsearch/wparser.c +++ b/src/backend/tsearch/wparser.c @@ -20,6 +20,7 @@ #include "tsearch/ts_cache.h" #include "tsearch/ts_utils.h" #include "utils/builtins.h" +#include "utils/varlena.h" /******sql-level interface******/ diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c index 56a69764c4d..96ac1dfefd8 100644 --- a/src/backend/utils/adt/acl.c +++ b/src/backend/utils/adt/acl.c @@ -36,6 +36,7 @@ #include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/syscache.h" +#include "utils/varlena.h" typedef struct diff --git a/src/backend/utils/adt/jsonb_gin.c b/src/backend/utils/adt/jsonb_gin.c index d60d9cac061..16ee6a22d3b 100644 --- a/src/backend/utils/adt/jsonb_gin.c +++ b/src/backend/utils/adt/jsonb_gin.c @@ -20,6 +20,7 @@ #include "catalog/pg_type.h" #include "utils/builtins.h" #include "utils/jsonb.h" +#include "utils/varlena.h" typedef struct PathHashStack { diff --git a/src/backend/utils/adt/jsonb_util.c b/src/backend/utils/adt/jsonb_util.c index 05fddb07d37..11a13950383 100644 --- a/src/backend/utils/adt/jsonb_util.c +++ b/src/backend/utils/adt/jsonb_util.c @@ -19,6 +19,7 @@ #include "utils/builtins.h" #include "utils/jsonb.h" #include "utils/memutils.h" +#include "utils/varlena.h" /* * Maximum number of elements in an array (or key/value pairs in an object). diff --git a/src/backend/utils/adt/regexp.c b/src/backend/utils/adt/regexp.c index 1f02102111d..3a1647bc521 100644 --- a/src/backend/utils/adt/regexp.c +++ b/src/backend/utils/adt/regexp.c @@ -35,6 +35,7 @@ #include "regex/regex.h" #include "utils/array.h" #include "utils/builtins.h" +#include "utils/varlena.h" #define PG_GETARG_TEXT_PP_IF_EXISTS(_n) \ (PG_NARGS() > (_n) ? PG_GETARG_TEXT_PP(_n) : NULL) diff --git a/src/backend/utils/adt/regproc.c b/src/backend/utils/adt/regproc.c index 1f4b1ae79e8..fa920c0d8cd 100644 --- a/src/backend/utils/adt/regproc.c +++ b/src/backend/utils/adt/regproc.c @@ -41,6 +41,8 @@ #include "utils/syscache.h" #include "utils/tqual.h" #include "utils/acl.h" +#include "utils/regproc.h" +#include "utils/varlena.h" static char *format_operator_internal(Oid operator_oid, bool force_qualify); static char *format_procedure_internal(Oid procedure_oid, bool force_qualify); diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index e1ea067c473..745e009d269 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -67,6 +67,7 @@ #include "utils/syscache.h" #include "utils/tqual.h" #include "utils/typcache.h" +#include "utils/varlena.h" #include "utils/xml.h" diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c index 301dffa1c89..fa32e9eabe1 100644 --- a/src/backend/utils/adt/selfuncs.c +++ b/src/backend/utils/adt/selfuncs.c @@ -141,6 +141,7 @@ #include "utils/timestamp.h" #include "utils/tqual.h" #include "utils/typcache.h" +#include "utils/varlena.h" /* Hooks for plugins to get control when we ask for stats */ diff --git a/src/backend/utils/adt/tid.c b/src/backend/utils/adt/tid.c index aa7e5e5242f..a3b372f22a5 100644 --- a/src/backend/utils/adt/tid.c +++ b/src/backend/utils/adt/tid.c @@ -32,6 +32,7 @@ #include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/tqual.h" +#include "utils/varlena.h" #define DatumGetItemPointer(X) ((ItemPointer) DatumGetPointer(X)) diff --git a/src/backend/utils/adt/tsvector_op.c b/src/backend/utils/adt/tsvector_op.c index c143c3fbf59..f05f913cff3 100644 --- a/src/backend/utils/adt/tsvector_op.c +++ b/src/backend/utils/adt/tsvector_op.c @@ -27,6 +27,7 @@ #include "tsearch/ts_utils.h" #include "utils/builtins.h" #include "utils/lsyscache.h" +#include "utils/regproc.h" #include "utils/rel.h" diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c index 55ee2bb7c24..c800beb08f8 100644 --- a/src/backend/utils/adt/varchar.c +++ b/src/backend/utils/adt/varchar.c @@ -22,6 +22,7 @@ #include "nodes/nodeFuncs.h" #include "utils/array.h" #include "utils/builtins.h" +#include "utils/varlena.h" #include "mb/pg_wchar.h" diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c index d66e85aa1ef..254379ade7a 100644 --- a/src/backend/utils/adt/varlena.c +++ b/src/backend/utils/adt/varlena.c @@ -34,6 +34,7 @@ #include "utils/memutils.h" #include "utils/pg_locale.h" #include "utils/sortsupport.h" +#include "utils/varlena.h" /* GUC variable */ diff --git a/src/backend/utils/cache/ts_cache.c b/src/backend/utils/cache/ts_cache.c index 657f6c1b7c8..88e4ffb66d9 100644 --- a/src/backend/utils/cache/ts_cache.c +++ b/src/backend/utils/cache/ts_cache.c @@ -45,6 +45,7 @@ #include "utils/inval.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/regproc.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/src/backend/utils/fmgr/funcapi.c b/src/backend/utils/fmgr/funcapi.c index 4d8a121971f..c55da54878d 100644 --- a/src/backend/utils/fmgr/funcapi.c +++ b/src/backend/utils/fmgr/funcapi.c @@ -24,6 +24,7 @@ #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/regproc.h" #include "utils/rel.h" #include "utils/syscache.h" #include "utils/typcache.h" diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index 07be153cc04..e984e79c602 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -48,6 +48,7 @@ #include "utils/guc.h" #include "utils/memutils.h" #include "utils/syscache.h" +#include "utils/varlena.h" #define DIRECTORY_LOCK_FILE "postmaster.pid" diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 15a09dfd4d8..5f43b1ec928 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -84,6 +84,7 @@ #include "utils/rls.h" #include "utils/snapmgr.h" #include "utils/tzparser.h" +#include "utils/varlena.h" #include "utils/xml.h" #ifndef PG_KRB_SRVTAB diff --git a/src/backend/utils/misc/rls.c b/src/backend/utils/misc/rls.c index 70dc3d1ace6..faf1599404d 100644 --- a/src/backend/utils/misc/rls.c +++ b/src/backend/utils/misc/rls.c @@ -26,6 +26,7 @@ #include "utils/lsyscache.h" #include "utils/rls.h" #include "utils/syscache.h" +#include "utils/varlena.h" /* diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h index 95f5e9292bd..5bdca8203da 100644 --- a/src/include/utils/builtins.h +++ b/src/include/utils/builtins.h @@ -16,9 +16,7 @@ #include "fmgr.h" #include "nodes/nodes.h" -#include "nodes/pg_list.h" #include "utils/fmgrprotos.h" -#include "utils/sortsupport.h" /* bool.c */ @@ -74,17 +72,6 @@ extern Oid oidparse(Node *node); extern char *regexp_fixed_prefix(text *text_re, bool case_insensitive, Oid collation, bool *exact); -/* regproc.c */ -extern List *stringToQualifiedNameList(const char *string); -extern char *format_procedure(Oid procedure_oid); -extern char *format_procedure_qualified(Oid procedure_oid); -extern void format_procedure_parts(Oid operator_oid, List **objnames, - List **objargs); -extern char *format_operator(Oid operator_oid); -extern char *format_operator_qualified(Oid operator_oid); -extern void format_operator_parts(Oid operator_oid, List **objnames, - List **objargs); - /* ruleutils.c */ extern bool quote_all_identifiers; extern const char *quote_identifier(const char *ident); @@ -94,7 +81,7 @@ extern char *quote_qualified_identifier(const char *qualifier, /* varchar.c */ extern int bpchartruelen(char *s, int len); -/* varlena.c */ +/* popular functions from varlena.c */ extern text *cstring_to_text(const char *s); extern text *cstring_to_text_with_len(const char *s, int len); extern char *text_to_cstring(const text *t); @@ -103,24 +90,6 @@ extern void text_to_cstring_buffer(const text *src, char *dst, size_t dst_len); #define CStringGetTextDatum(s) PointerGetDatum(cstring_to_text(s)) #define TextDatumGetCString(d) text_to_cstring((text *) DatumGetPointer(d)) -extern int varstr_cmp(char *arg1, int len1, char *arg2, int len2, Oid collid); -extern void varstr_sortsupport(SortSupport ssup, Oid collid, bool bpchar); -extern int varstr_levenshtein(const char *source, int slen, - const char *target, int tlen, - int ins_c, int del_c, int sub_c, - bool trusted); -extern int varstr_levenshtein_less_equal(const char *source, int slen, - const char *target, int tlen, - int ins_c, int del_c, int sub_c, - int max_d, bool trusted); -extern List *textToQualifiedNameList(text *textval); -extern bool SplitIdentifierString(char *rawstring, char separator, - List **namelist); -extern bool SplitDirectoriesString(char *rawstring, char separator, - List **namelist); -extern text *replace_text_regexp(text *src_text, void *regexp, - text *replace_text, bool glob); - /* xid.c */ extern int xidComparator(const void *arg1, const void *arg2); diff --git a/src/include/utils/regproc.h b/src/include/utils/regproc.h new file mode 100644 index 00000000000..70f47922ccc --- /dev/null +++ b/src/include/utils/regproc.h @@ -0,0 +1,28 @@ +/*------------------------------------------------------------------------- + * + * regproc.h + * Functions for the built-in types regproc, regclass, regtype, etc. + * + * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/utils/regproc.h + * + *------------------------------------------------------------------------- + */ +#ifndef REGPROC_H +#define REGPROC_H + +#include "nodes/pg_list.h" + +extern List *stringToQualifiedNameList(const char *string); +extern char *format_procedure(Oid procedure_oid); +extern char *format_procedure_qualified(Oid procedure_oid); +extern void format_procedure_parts(Oid operator_oid, List **objnames, + List **objargs); +extern char *format_operator(Oid operator_oid); +extern char *format_operator_qualified(Oid operator_oid); +extern void format_operator_parts(Oid operator_oid, List **objnames, + List **objargs); + +#endif diff --git a/src/include/utils/varlena.h b/src/include/utils/varlena.h new file mode 100644 index 00000000000..b5994a1c72b --- /dev/null +++ b/src/include/utils/varlena.h @@ -0,0 +1,37 @@ +/*------------------------------------------------------------------------- + * + * varlena.h + * Functions for the variable-length built-in types. + * + * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/utils/varlena.h + * + *------------------------------------------------------------------------- + */ +#ifndef VARLENA_H +#define VARLENA_H + +#include "nodes/pg_list.h" +#include "utils/sortsupport.h" + +extern int varstr_cmp(char *arg1, int len1, char *arg2, int len2, Oid collid); +extern void varstr_sortsupport(SortSupport ssup, Oid collid, bool bpchar); +extern int varstr_levenshtein(const char *source, int slen, + const char *target, int tlen, + int ins_c, int del_c, int sub_c, + bool trusted); +extern int varstr_levenshtein_less_equal(const char *source, int slen, + const char *target, int tlen, + int ins_c, int del_c, int sub_c, + int max_d, bool trusted); +extern List *textToQualifiedNameList(text *textval); +extern bool SplitIdentifierString(char *rawstring, char separator, + List **namelist); +extern bool SplitDirectoriesString(char *rawstring, char separator, + List **namelist); +extern text *replace_text_regexp(text *src_text, void *regexp, + text *replace_text, bool glob); + +#endif diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c index 3c52d71fcd9..b25b3f1de0f 100644 --- a/src/pl/plpgsql/src/pl_comp.c +++ b/src/pl/plpgsql/src/pl_comp.c @@ -29,6 +29,7 @@ #include "utils/guc.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/regproc.h" #include "utils/rel.h" #include "utils/syscache.h" diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c index ca8c9cb3ce5..e15be5d9ac2 100644 --- a/src/pl/plpgsql/src/pl_handler.c +++ b/src/pl/plpgsql/src/pl_handler.c @@ -24,6 +24,7 @@ #include "utils/guc.h" #include "utils/lsyscache.h" #include "utils/syscache.h" +#include "utils/varlena.h" static bool plpgsql_extra_checks_check_hook(char **newvalue, void **extra, GucSource source); |