PostgreSQL Source Code git master
Loading...
Searching...
No Matches
varlena.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * varlena.h
4 * Functions for the variable-length built-in types.
5 *
6 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
8 *
9 * src/include/utils/varlena.h
10 *
11 *-------------------------------------------------------------------------
12 */
13#ifndef VARLENA_H
14#define VARLENA_H
15
16#include "nodes/pg_list.h"
17#include "utils/sortsupport.h"
18
19extern int varstr_cmp(const char *arg1, int len1, const char *arg2, int len2, Oid collid);
20extern void varstr_sortsupport(SortSupport ssup, Oid typid, Oid collid);
21extern int varstr_levenshtein(const char *source, int slen,
22 const char *target, int tlen,
23 int ins_c, int del_c, int sub_c,
24 bool trusted);
25extern int varstr_levenshtein_less_equal(const char *source, int slen,
26 const char *target, int tlen,
27 int ins_c, int del_c, int sub_c,
28 int max_d, bool trusted);
29extern List *textToQualifiedNameList(text *textval);
30extern char *scan_quoted_identifier(char **endp, char **nextp);
31extern char *scan_identifier(char **endp, char **nextp, char separator,
33extern bool SplitIdentifierString(char *rawstring, char separator,
34 List **namelist);
35extern bool SplitDirectoriesString(char *rawstring, char separator,
36 List **namelist);
37extern bool SplitGUCList(char *rawstring, char separator,
38 List **namelist);
41 int cflags, Oid collation,
42 int search_start, int n);
43
44typedef struct ClosestMatchState
45{
46 const char *source;
47 int min_d;
48 int max_d;
49 const char *match;
51
52extern void initClosestMatch(ClosestMatchState *state, const char *source, int max_d);
53extern void updateClosestMatch(ClosestMatchState *state, const char *candidate);
54extern const char *getClosestMatch(ClosestMatchState *state);
55
56#endif
Oid collid
static rewind_source * source
Definition pg_rewind.c:89
unsigned int Oid
static int fb(int x)
const char * match
Definition varlena.h:49
const char * source
Definition varlena.h:46
Definition pg_list.h:54
Definition c.h:776
Datum replace_text(PG_FUNCTION_ARGS)
Definition varlena.c:3134
int varstr_cmp(const char *arg1, int len1, const char *arg2, int len2, Oid collid)
Definition varlena.c:1355
bool SplitDirectoriesString(char *rawstring, char separator, List **namelist)
Definition varlena.c:2950
const char * getClosestMatch(ClosestMatchState *state)
Definition varlena.c:5386
char * scan_identifier(char **endp, char **nextp, char separator, bool downcase_unquoted)
Definition varlena.c:2802
bool SplitGUCList(char *rawstring, char separator, List **namelist)
Definition varlena.c:3060
bool SplitIdentifierString(char *rawstring, char separator, List **namelist)
Definition varlena.c:2867
void varstr_sortsupport(SortSupport ssup, Oid typid, Oid collid)
Definition varlena.c:1671
char * scan_quoted_identifier(char **endp, char **nextp)
Definition varlena.c:2767
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)
text * replace_text_regexp(text *src_text, text *pattern_text, text *replace_text, int cflags, Oid collation, int search_start, int n)
Definition varlena.c:3344
int varstr_levenshtein(const char *source, int slen, const char *target, int tlen, int ins_c, int del_c, int sub_c, bool trusted)
Definition levenshtein.c:73
void initClosestMatch(ClosestMatchState *state, const char *source, int max_d)
Definition varlena.c:5331
void updateClosestMatch(ClosestMatchState *state, const char *candidate)
Definition varlena.c:5351
List * textToQualifiedNameList(text *textval)
Definition varlena.c:2719