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 616a8d1541..dc23e00e89 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 1727b00b13..0d2847456e 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 7c0fac9470..585c92be26 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 880fcd51fc..f914c015bd 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 7b443f216a..88e33f54cd 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 bc6981358c..86788549a5 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 9e0f8cef27..1bc5bce72e 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 77e9777a23..a38da3047f 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 44d14ae2b1..6082f3bb93 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 05d91fa859..7ae192a407 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 967b52a133..554fdc46b4 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 b6fa5a01d3..ed6136c153 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 2de46c270e..36f1249ee5 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 2da13be9e4..651e1b303a 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 62d56b84bc..15dbaf3fd2 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 1d2440b9a7..e693c316e3 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 8d99c7a0d4..91ccbe78c0 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 d16d6da56e..41c50005d7 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 04dde5d494..08c30af88a 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 c3f3d3fbed..ee23fcfac8 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 9a20cace05..8ca1c62713 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 56a69764c4..96ac1dfefd 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 d60d9cac06..16ee6a22d3 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 05fddb07d3..11a1395038 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 1f02102111..3a1647bc52 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 1f4b1ae79e..fa920c0d8c 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 e1ea067c47..745e009d26 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 301dffa1c8..fa32e9eabe 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 aa7e5e5242..a3b372f22a 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 c143c3fbf5..f05f913cff 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 55ee2bb7c2..c800beb08f 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 d66e85aa1e..254379ade7 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 657f6c1b7c..88e4ffb66d 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 4d8a121971..c55da54878 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 07be153cc0..e984e79c60 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 15a09dfd4d..5f43b1ec92 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 70dc3d1ace..faf1599404 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 95f5e9292b..5bdca8203d 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 0000000000..70f47922cc --- /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 0000000000..b5994a1c72 --- /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 3c52d71fcd..b25b3f1de0 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 ca8c9cb3ce..e15be5d9ac 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); |
