|
PostgreSQL Source Code git master
|
#include "postgres_fe.h"#include <string.h>#include <stdio.h>#include "common/jsonapi.h"#include "fe_utils/psqlscan.h"#include "fe_utils/string_utils.h"#include "getopt_long.h"#include "libpq-fe.h"#include "mb/pg_wchar.h"#include "utils/memdebug.h"
Go to the source code of this file.
Data Structures | |
| struct | pe_test_config |
| struct | pe_test_escape_func |
| struct | pe_test_vector |
Macros | |
| #define | NEVER_ACCESS_STR "\xff never-to-be-touched" |
| #define | TV(enc, string) {.client_encoding = (enc), .escape=string, .escape_len=sizeof(string) - 1, } |
| #define | TV_LEN(enc, string, len) {.client_encoding = (enc), .escape=string, .escape_len=len, } |
| #define | TOSTR_CASE(sym) case sym: return #sym |
Typedefs | |
| typedef struct pe_test_config | pe_test_config |
| typedef struct pe_test_escape_func | pe_test_escape_func |
| typedef struct pe_test_vector | pe_test_vector |
Variables | |
| static const PsqlScanCallbacks | test_scan_callbacks |
| static pe_test_escape_func | pe_test_escape_funcs [] |
| static pe_test_vector | pe_test_vectors [] |
| #define TV | ( | enc, | |
| string | |||
| ) | {.client_encoding = (enc), .escape=string, .escape_len=sizeof(string) - 1, } |
Definition at line 443 of file test_escape.c.
Definition at line 444 of file test_escape.c.
Definition at line 156 of file test_escape.c.
References encoding, and PG_ENCODING_BE_LAST.
Referenced by test_one_vector_escape().
|
static |
Definition at line 376 of file test_escape.c.
References appendStringLiteral(), conn, fb(), and PQclientEncoding().
|
static |
Definition at line 386 of file test_escape.c.
References appendPQExpBufferStr(), conn, fb(), fmtId(), PQclientEncoding(), and setFmtEncoding().
|
static |
Definition at line 274 of file test_escape.c.
References appendPQExpBufferStr(), conn, fb(), PQerrorMessage(), PQescapeIdentifier(), and PQfreemem().
|
static |
Definition at line 251 of file test_escape.c.
References appendPQExpBufferStr(), conn, fb(), PQerrorMessage(), PQescapeLiteral(), and PQfreemem().
|
static |
Definition at line 350 of file test_escape.c.
References appendPQExpBufferChar(), appendPQExpBufferStr(), fb(), and i.
|
static |
Definition at line 327 of file test_escape.c.
References appendPQExpBufferChar(), PQExpBufferData::data, enlargePQExpBuffer(), fb(), PQExpBufferData::len, and PQescapeString().
|
static |
Definition at line 297 of file test_escape.c.
References appendPQExpBufferChar(), appendPQExpBufferStr(), conn, PQExpBufferData::data, enlargePQExpBuffer(), error(), fb(), PQExpBufferData::len, PQerrorMessage(), and PQescapeStringConn().
Definition at line 100 of file test_escape.c.
References appendPQExpBuffer(), appendPQExpBufferChar(), appendPQExpBufferStr(), buf, fb(), i, len, and str.
Referenced by test_gb18030_json(), test_gb18030_page_multiple(), test_one_vector_escape(), and test_psql_parse().
Definition at line 904 of file test_escape.c.
References CONNECTION_OK, fb(), fprintf, getopt_long(), i, lengthof, no_argument, optarg, optind, pe_test_vectors, PQconnectdb(), PQerrorMessage(), PQfinish(), PQstatus(), printf, required_argument, test_gb18030_json(), test_gb18030_page_multiple(), test_one_vector(), and usage().
|
static |
Definition at line 119 of file test_escape.c.
References fb(), printf, subname, and success.
Referenced by test_gb18030_json(), test_gb18030_page_multiple(), test_one_vector_escape(), and test_psql_parse().
|
static |
Definition at line 555 of file test_escape.c.
References pg_unreachable, PSCAN_BACKSLASH, PSCAN_EOL, PSCAN_INCOMPLETE, PSCAN_SEMICOLON, and TOSTR_CASE.
Referenced by test_psql_parse().
|
static |
Definition at line 213 of file test_escape.c.
References appendBinaryPQExpBuffer(), appendPQExpBuffer(), appendPQExpBufferStr(), createPQExpBuffer(), PQExpBufferData::data, destroyPQExpBuffer(), escapify(), fb(), freeJsonLexContext(), input, json_errdetail(), JSON_UNICODE_ESCAPE_FORMAT, PQExpBufferData::len, makeJsonLexContextCstringLen(), NEVER_ACCESS_STR, PG_GB18030, pg_parse_json(), report_result(), sem, and VALGRIND_MAKE_MEM_NOACCESS.
Referenced by main().
|
static |
Definition at line 180 of file test_escape.c.
References appendPQExpBuffer(), createPQExpBuffer(), destroyPQExpBuffer(), escapify(), fb(), input, pg_free(), pg_malloc(), PQescapeLiteral(), PQsetClientEncoding(), and report_result().
Referenced by main().
|
static |
Definition at line 863 of file test_escape.c.
References pe_test_vector::client_encoding, fb(), fprintf, lengthof, pe_test_escape_funcs, PQerrorMessage(), PQsetClientEncoding(), and test_one_vector_escape().
Referenced by main().
|
static |
Definition at line 634 of file test_escape.c.
References appendBinaryPQExpBuffer(), appendPQExpBuffer(), appendPQExpBufferChar(), appendPQExpBufferStr(), pe_test_vector::client_encoding, createPQExpBuffer(), PQExpBufferData::data, destroyPQExpBuffer(), encoding_conflicts_ascii(), pe_test_vector::escape, pe_test_vector::escape_len, escapify(), fb(), PQExpBufferData::len, NEVER_ACCESS_STR, pg_encoding_verifymbstr(), PQclientEncoding(), report_result(), test_psql_parse(), and VALGRIND_MAKE_MEM_NOACCESS.
Referenced by test_one_vector().
|
static |
Definition at line 577 of file test_escape.c.
References appendPQExpBuffer(), appendPQExpBufferChar(), createPQExpBuffer(), PQExpBufferData::data, destroyPQExpBuffer(), escapify(), fb(), PQExpBufferData::len, PQclientEncoding(), PROMPT_READY, PSCAN_EOL, PSCAN_INCOMPLETE, psql_scan(), psql_scan_create(), psql_scan_destroy(), psql_scan_setup(), report_result(), resetPQExpBuffer(), scan_res_s(), and test_scan_callbacks.
Referenced by test_one_vector_escape().
Definition at line 881 of file test_escape.c.
|
static |
Definition at line 396 of file test_escape.c.
Referenced by test_one_vector().
|
static |
Definition at line 445 of file test_escape.c.
Referenced by main().
|
static |
Definition at line 87 of file test_escape.c.
Referenced by test_psql_parse().