PostgreSQL Source Code git master
|
#include "postgres.h"
#include <limits.h>
#include "access/stratnum.h"
#include "mb/pg_wchar.h"
#include "utils/builtins.h"
#include "utils/date.h"
#include "utils/float.h"
#include "utils/inet.h"
#include "utils/numeric.h"
#include "utils/timestamp.h"
#include "utils/uuid.h"
#include "varatt.h"
Go to the source code of this file.
Data Structures | |
struct | QueryInfo |
Macros | |
#define | BTGIN_GET_BTREE_STRATEGY(strat) ((strat) & 0x0F) |
#define | BTGIN_GET_RHS_TYPE_CODE(strat) ((strat) >> 4) |
#define | GIN_SUPPORT(type, leftmostvalue, is_varlena, cvtfns, cmpfns) |
#define | NUMERIC_IS_LEFTMOST(x) ((x) == NULL) |
#define | ENUM_IS_LEFTMOST(x) ((x) == InvalidOid) |
Typedefs | |
typedef struct QueryInfo | QueryInfo |
typedef Datum(* | btree_gin_convert_function) (Datum input) |
typedef Datum(* | btree_gin_leftmost_function) (void) |
#define BTGIN_GET_BTREE_STRATEGY | ( | strat | ) | ((strat) & 0x0F) |
Definition at line 30 of file btree_gin.c.
#define BTGIN_GET_RHS_TYPE_CODE | ( | strat | ) | ((strat) >> 4) |
Definition at line 31 of file btree_gin.c.
#define ENUM_IS_LEFTMOST | ( | x | ) | ((x) == InvalidOid) |
Definition at line 860 of file btree_gin.c.
#define GIN_SUPPORT | ( | type, | |
leftmostvalue, | |||
is_varlena, | |||
cvtfns, | |||
cmpfns | |||
) |
Definition at line 246 of file btree_gin.c.
Definition at line 807 of file btree_gin.c.
Definition at line 42 of file btree_gin.c.
typedef Datum(* btree_gin_leftmost_function) (void) |
Definition at line 44 of file btree_gin.c.
Definition at line 495 of file btree_gin.c.
References date2timestamp_opt_overflow(), DatumGetDateADT(), input, TimestampGetDatum(), and val.
Definition at line 530 of file btree_gin.c.
References date2timestamptz_opt_overflow(), DatumGetDateADT(), input, TimestampTzGetDatum(), and val.
Definition at line 442 of file btree_gin.c.
References DatumGetFloat4(), Float8GetDatum(), input, and val.
Definition at line 407 of file btree_gin.c.
References DatumGetFloat8(), Float4GetDatum(), input, and val.
Definition at line 339 of file btree_gin.c.
References DatumGetInt16(), input, Int32GetDatum(), and val.
Definition at line 374 of file btree_gin.c.
References DatumGetInt16(), input, Int64GetDatum(), and val.
Definition at line 295 of file btree_gin.c.
References DatumGetInt32(), input, Int16GetDatum(), Max, Min, and val.
Definition at line 382 of file btree_gin.c.
References DatumGetInt32(), input, Int64GetDatum(), and val.
Definition at line 305 of file btree_gin.c.
References DatumGetInt64(), input, Int16GetDatum(), Max, Min, and val.
Definition at line 347 of file btree_gin.c.
References DatumGetInt64(), input, Int32GetDatum(), Max, Min, and val.
Definition at line 717 of file btree_gin.c.
References cstring_to_text(), DatumGetName(), input, NameStr, PointerGetDatum(), and val.
Definition at line 934 of file btree_gin.c.
References DatumGetTextPP, input, len, NAMEDATALEN, NameGetDatum(), NameStr, palloc0(), pg_mbcliplen(), val, VARDATA_ANY(), and VARSIZE_ANY_EXHDR().
Definition at line 604 of file btree_gin.c.
References DateADTGetDatum(), DatumGetTimestamp(), input, timestamp2date_opt_overflow(), and val.
Definition at line 542 of file btree_gin.c.
References DatumGetTimestamp(), input, timestamp2timestamptz_opt_overflow(), TimestampTzGetDatum(), and val.
Definition at line 616 of file btree_gin.c.
References DateADTGetDatum(), DatumGetTimestampTz(), input, timestamptz2date_opt_overflow(), and val.
Definition at line 507 of file btree_gin.c.
References DatumGetTimestampTz(), input, TimestampGetDatum(), timestamptz2timestamp_opt_overflow(), and val.
|
static |
Definition at line 149 of file btree_gin.c.
References Assert(), BTEqualStrategyNumber, BTGIN_GET_BTREE_STRATEGY, BTGreaterEqualStrategyNumber, BTGreaterStrategyNumber, BTLessEqualStrategyNumber, BTLessStrategyNumber, CallerFInfoFunctionCall2(), cmp(), data, DatumGetInt32(), elog, ERROR, FunctionCallInfoBaseData::flinfo, sort-test::key, PG_GET_COLLATION, PG_GETARG_DATUM, PG_GETARG_POINTER, PG_RETURN_INT32, and PG_USED_FOR_ASSERTS_ONLY.
Datum gin_btree_consistent | ( | PG_FUNCTION_ARGS | ) |
Definition at line 236 of file btree_gin.c.
References PG_GETARG_POINTER, and PG_RETURN_BOOL.
|
static |
Definition at line 66 of file btree_gin.c.
References BTEqualStrategyNumber, BTGIN_GET_BTREE_STRATEGY, BTGIN_GET_RHS_TYPE_CODE, BTGreaterEqualStrategyNumber, BTGreaterStrategyNumber, BTLessEqualStrategyNumber, BTLessStrategyNumber, data, elog, ERROR, palloc(), PG_DETOAST_DATUM, PG_GETARG_DATUM, PG_GETARG_POINTER, PG_GETARG_UINT16, PG_RETURN_POINTER, and PointerGetDatum().
|
static |
Definition at line 50 of file btree_gin.c.
References palloc(), PG_DETOAST_DATUM, PG_GETARG_DATUM, PG_GETARG_POINTER, PG_RETURN_POINTER, and PointerGetDatum().
Datum gin_enum_cmp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 865 of file btree_gin.c.
References a, b, CallerFInfoFunctionCall2(), DatumGetInt32(), enum_cmp(), ENUM_IS_LEFTMOST, ObjectIdGetDatum(), PG_GET_COLLATION, PG_GETARG_OID, and PG_RETURN_INT32.
Datum gin_numeric_cmp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 812 of file btree_gin.c.
References a, b, DatumGetInt32(), DirectFunctionCall2, numeric_cmp(), NUMERIC_IS_LEFTMOST, NumericGetDatum(), PG_GETARG_POINTER, and PG_RETURN_INT32.
|
static |
Definition at line 766 of file btree_gin.c.
References bit_in(), CStringGetDatum(), DirectFunctionCall3, Int32GetDatum(), and ObjectIdGetDatum().
|
static |
|
static |
|
static |
Definition at line 598 of file btree_gin.c.
References DateADTGetDatum(), and DATEVAL_NOBEGIN.
|
static |
Definition at line 892 of file btree_gin.c.
References InvalidOid, and ObjectIdGetDatum().
|
static |
Definition at line 401 of file btree_gin.c.
References Float4GetDatum(), and get_float4_infinity().
|
static |
Definition at line 436 of file btree_gin.c.
References Float8GetDatum(), and get_float8_infinity().
|
static |
Definition at line 689 of file btree_gin.c.
References CStringGetDatum(), DirectFunctionCall1, and inet_in().
|
static |
Definition at line 273 of file btree_gin.c.
References Int16GetDatum().
|
static |
Definition at line 333 of file btree_gin.c.
References Int32GetDatum().
|
static |
|
static |
Definition at line 639 of file btree_gin.c.
References INTERVAL_NOBEGIN, IntervalPGetDatum(), and palloc().
|
static |
Definition at line 657 of file btree_gin.c.
References MacaddrPGetDatum(), and palloc0().
|
static |
Definition at line 673 of file btree_gin.c.
References Macaddr8PGetDatum(), and palloc0().
|
static |
Definition at line 461 of file btree_gin.c.
References Int64GetDatum(), and PG_INT64_MIN.
|
static |
Definition at line 926 of file btree_gin.c.
References NAMEDATALEN, NameGetDatum(), and palloc0().
|
static |
Definition at line 837 of file btree_gin.c.
References PointerGetDatum().
|
static |
Definition at line 475 of file btree_gin.c.
References ObjectIdGetDatum().
|
static |
Definition at line 711 of file btree_gin.c.
References cstring_to_text_with_len(), and PointerGetDatum().
|
static |
|
static |
Definition at line 489 of file btree_gin.c.
References DT_NOBEGIN, and TimestampGetDatum().
|
static |
Definition at line 579 of file btree_gin.c.
References palloc(), TimeTzADT::time, TimeTzADTPGetDatum(), and TimeTzADT::zone.
|
static |
Definition at line 906 of file btree_gin.c.
References palloc0(), and UUIDPGetDatum().
|
static |
Definition at line 783 of file btree_gin.c.
References CStringGetDatum(), DirectFunctionCall3, Int32GetDatum(), ObjectIdGetDatum(), and varbit_in().
PG_FUNCTION_INFO_V1 | ( | gin_btree_consistent | ) |
PG_FUNCTION_INFO_V1 | ( | gin_enum_cmp | ) |
PG_FUNCTION_INFO_V1 | ( | gin_numeric_cmp | ) |
PG_MODULE_MAGIC_EXT | ( | . | name = "btree_gin" , |
. | version = PG_VERSION |
||
) |
|
static |
Definition at line 777 of file btree_gin.c.
|
static |
Definition at line 774 of file btree_gin.c.
|
static |
Definition at line 974 of file btree_gin.c.
|
static |
Definition at line 971 of file btree_gin.c.
|
static |
Definition at line 738 of file btree_gin.c.
|
static |
Definition at line 735 of file btree_gin.c.
|
static |
Definition at line 760 of file btree_gin.c.
|
static |
Definition at line 757 of file btree_gin.c.
|
static |
Definition at line 752 of file btree_gin.c.
|
static |
Definition at line 749 of file btree_gin.c.
|
static |
Definition at line 705 of file btree_gin.c.
|
static |
Definition at line 702 of file btree_gin.c.
|
static |
Definition at line 633 of file btree_gin.c.
|
static |
Definition at line 630 of file btree_gin.c.
|
static |
Definition at line 627 of file btree_gin.c.
|
static |
Definition at line 900 of file btree_gin.c.
|
static |
Definition at line 897 of file btree_gin.c.
|
static |
Definition at line 430 of file btree_gin.c.
|
static |
Definition at line 427 of file btree_gin.c.
|
static |
Definition at line 424 of file btree_gin.c.
|
static |
Definition at line 455 of file btree_gin.c.
|
static |
Definition at line 452 of file btree_gin.c.
|
static |
Definition at line 449 of file btree_gin.c.
|
static |
Definition at line 697 of file btree_gin.c.
|
static |
Definition at line 694 of file btree_gin.c.
|
static |
Definition at line 327 of file btree_gin.c.
|
static |
Definition at line 324 of file btree_gin.c.
|
static |
Definition at line 321 of file btree_gin.c.
|
static |
Definition at line 362 of file btree_gin.c.
|
static |
Definition at line 359 of file btree_gin.c.
|
static |
Definition at line 356 of file btree_gin.c.
|
static |
Definition at line 395 of file btree_gin.c.
|
static |
Definition at line 392 of file btree_gin.c.
|
static |
Definition at line 389 of file btree_gin.c.
|
static |
Definition at line 651 of file btree_gin.c.
|
static |
Definition at line 648 of file btree_gin.c.
|
static |
Definition at line 683 of file btree_gin.c.
|
static |
Definition at line 680 of file btree_gin.c.
|
static |
Definition at line 667 of file btree_gin.c.
|
static |
Definition at line 664 of file btree_gin.c.
|
static |
Definition at line 469 of file btree_gin.c.
|
static |
Definition at line 466 of file btree_gin.c.
|
static |
Definition at line 960 of file btree_gin.c.
|
static |
Definition at line 957 of file btree_gin.c.
|
static |
Definition at line 954 of file btree_gin.c.
|
static |
Definition at line 845 of file btree_gin.c.
|
static |
Definition at line 842 of file btree_gin.c.
|
static |
Definition at line 483 of file btree_gin.c.
|
static |
Definition at line 480 of file btree_gin.c.
|
static |
Definition at line 730 of file btree_gin.c.
|
static |
Definition at line 727 of file btree_gin.c.
|
static |
Definition at line 724 of file btree_gin.c.
|
static |
Definition at line 573 of file btree_gin.c.
|
static |
Definition at line 570 of file btree_gin.c.
|
static |
Definition at line 524 of file btree_gin.c.
|
static |
Definition at line 521 of file btree_gin.c.
|
static |
Definition at line 518 of file btree_gin.c.
|
static |
Definition at line 559 of file btree_gin.c.
|
static |
Definition at line 556 of file btree_gin.c.
|
static |
Definition at line 553 of file btree_gin.c.
|
static |
Definition at line 592 of file btree_gin.c.
|
static |
Definition at line 589 of file btree_gin.c.
|
static |
Definition at line 920 of file btree_gin.c.
|
static |
Definition at line 917 of file btree_gin.c.
|
static |
Definition at line 794 of file btree_gin.c.
|
static |
Definition at line 791 of file btree_gin.c.