PostgreSQL Source Code git master
|
#include "postgres.h"
#include "jsonpath_internal.h"
#include "jsonpath_gram.h"
#include "mb/pg_wchar.h"
#include "nodes/miscnodes.h"
#include "nodes/pg_list.h"
Go to the source code of this file.
Data Structures | |
struct | jsonpath_yy_extra_type |
struct | JsonPathKeyword |
Macros | |
#define | fprintf(file, fmt, msg) fprintf_to_ereport(fmt, msg) |
#define | yyextra (((struct yyguts_t *) yyscanner)->yyextra_r) |
Typedefs | |
typedef struct JsonPathKeyword | JsonPathKeyword |
Functions | |
static void | addstring (bool init, char *s, int l, yyscan_t yyscanner) |
static void | addchar (bool init, char c, yyscan_t yyscanner) |
static enum yytokentype | checkKeyword (yyscan_t yyscanner) |
static bool | parseUnicode (char *s, int l, struct Node *escontext, yyscan_t yyscanner) |
static bool | parseHexChar (char *s, struct Node *escontext, yyscan_t yyscanner) |
static void | fprintf_to_ereport (const char *fmt, const char *msg) |
int | yylex (YYSTYPE *yylval_param, yyscan_t yyscanner) |
void | jsonpath_yyerror (JsonPathParseResult **result, struct Node *escontext, yyscan_t yyscanner, const char *message) |
static void | resizeString (bool init, int appendLen, yyscan_t yyscanner) |
JsonPathParseResult * | parsejsonpath (const char *str, int len, struct Node *escontext) |
static bool | hexval (char c, int *result, struct Node *escontext, yyscan_t yyscanner) |
static bool | addUnicodeChar (int ch, struct Node *escontext, yyscan_t yyscanner) |
static bool | addUnicode (int ch, int *hi_surrogate, struct Node *escontext, yyscan_t yyscanner) |
void * | jsonpath_yyalloc (yy_size_t bytes, yyscan_t yyscanner) |
void * | jsonpath_yyrealloc (void *ptr, yy_size_t bytes, yyscan_t yyscanner) |
void | jsonpath_yyfree (void *ptr, yyscan_t yyscanner) |
Variables | |
static const JsonPathKeyword | keywords [] |
#define fprintf | ( | file, | |
fmt, | |||
msg | |||
) | fprintf_to_ereport(fmt, msg) |
Definition at line 46 of file jsonpath_scan.l.
#define yyextra (((struct yyguts_t *) yyscanner)->yyextra_r) |
Definition at line 359 of file jsonpath_scan.l.
typedef struct JsonPathKeyword JsonPathKeyword |
|
static |
Definition at line 518 of file jsonpath_scan.l.
References init, resizeString(), and yyextra.
|
static |
Definition at line 509 of file jsonpath_scan.l.
References init, resizeString(), and yyextra.
Referenced by addUnicodeChar().
|
static |
Definition at line 610 of file jsonpath_scan.l.
References addUnicodeChar(), ereturn, errcode(), errdetail(), errmsg(), is_utf16_surrogate_first(), is_utf16_surrogate_second(), and surrogate_pair_to_codepoint().
Referenced by parseUnicode().
Definition at line 577 of file jsonpath_scan.l.
References addstring(), ereturn, errcode(), errdetail(), errmsg(), IsA, MAX_UNICODE_EQUIVALENT_STRING, pg_unicode_to_server(), and pg_unicode_to_server_noerror().
Referenced by addUnicode(), and parseHexChar().
|
static |
Definition at line 442 of file jsonpath_scan.l.
References keywords, len, lengthof, pg_strncasecmp(), res, and yyextra.
|
static |
Definition at line 49 of file jsonpath_scan.l.
References ereport, errmsg_internal(), and ERROR.
Definition at line 554 of file jsonpath_scan.l.
References jsonpath_yyerror().
Referenced by parseHexChar(), and parseUnicode().
void * jsonpath_yyalloc | ( | yy_size_t | bytes, |
yyscan_t | yyscanner | ||
) |
Definition at line 722 of file jsonpath_scan.l.
References palloc().
void jsonpath_yyerror | ( | JsonPathParseResult ** | result, |
struct Node * | escontext, | ||
yyscan_t | yyscanner, | ||
const char * | message | ||
) |
Definition at line 362 of file jsonpath_scan.l.
References _, errcode(), errmsg(), errsave, and SOFT_ERROR_OCCURRED.
Referenced by hexval(), and parsejsonpath().
void jsonpath_yyfree | ( | void * | ptr, |
yyscan_t | yyscanner | ||
) |
Definition at line 737 of file jsonpath_scan.l.
References pfree().
void * jsonpath_yyrealloc | ( | void * | ptr, |
yy_size_t | bytes, | ||
yyscan_t | yyscanner | ||
) |
Definition at line 728 of file jsonpath_scan.l.
References palloc(), and repalloc().
Definition at line 700 of file jsonpath_scan.l.
References addUnicodeChar(), hexval(), s2, and s3.
JsonPathParseResult * parsejsonpath | ( | const char * | str, |
int | len, | ||
struct Node * | escontext | ||
) |
Definition at line 528 of file jsonpath_scan.l.
References elog, ERROR, jsonpath_yyerror(), jsonpath_yyparse(), len, parseresult, and str.
Referenced by jsonPathFromCstring().
Definition at line 651 of file jsonpath_scan.l.
References addUnicode(), ereturn, errcode(), errdetail(), errmsg(), hexval(), i, and j.
|
static |
Definition at line 488 of file jsonpath_scan.l.
References init, Max, palloc(), repalloc(), and yyextra.
Referenced by addchar(), and addstring().
Definition at line 120 of file jsonpath_scan.l.
|
static |
Definition at line 402 of file jsonpath_scan.l.
Referenced by check_conn_params(), checkKeyword(), connect_pg_server(), ConnectDatabase(), connectDatabase(), conninfo_array_parse(), constructConnStr(), copy_connection(), do_connect(), doConnect(), ExtractConnectionOptions(), GetConnection(), GetScanKeyword(), libpqsrv_connect_params(), main(), pgfdw_security_check(), PQconnectdbParams(), PQconnectStartParams(), PQpingParams(), regression_main(), ScanKeywordLookup(), sql_conn(), and vacuumlo().