|
PostgreSQL Source Code git master
|
#include "postgres.h"#include <limits.h>#include "access/stratnum.h"#include "mb/pg_wchar.h"#include "nodes/miscnodes.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 31 of file btree_gin.c.
| #define BTGIN_GET_RHS_TYPE_CODE | ( | strat | ) | ((strat) >> 4) |
Definition at line 32 of file btree_gin.c.
| #define ENUM_IS_LEFTMOST | ( | x | ) | ((x) == InvalidOid) |
Definition at line 861 of file btree_gin.c.
| #define GIN_SUPPORT | ( | type, | |
| leftmostvalue, | |||
| is_varlena, | |||
| cvtfns, | |||
| cmpfns | |||
| ) |
Definition at line 247 of file btree_gin.c.
Definition at line 808 of file btree_gin.c.
Definition at line 43 of file btree_gin.c.
| typedef Datum(* btree_gin_leftmost_function) (void) |
Definition at line 45 of file btree_gin.c.
Definition at line 496 of file btree_gin.c.
References date2timestamp_safe(), DatumGetDateADT(), input, TimestampGetDatum(), and val.
Definition at line 531 of file btree_gin.c.
References date2timestamptz_safe(), DatumGetDateADT(), input, TimestampTzGetDatum(), and val.
Definition at line 443 of file btree_gin.c.
References DatumGetFloat4(), Float8GetDatum(), input, and val.
Definition at line 408 of file btree_gin.c.
References DatumGetFloat8(), Float4GetDatum(), input, and val.
Definition at line 340 of file btree_gin.c.
References DatumGetInt16(), input, Int32GetDatum(), and val.
Definition at line 375 of file btree_gin.c.
References DatumGetInt16(), input, Int64GetDatum(), and val.
Definition at line 296 of file btree_gin.c.
References DatumGetInt32(), input, Int16GetDatum(), Max, Min, and val.
Definition at line 383 of file btree_gin.c.
References DatumGetInt32(), input, Int64GetDatum(), and val.
Definition at line 306 of file btree_gin.c.
References DatumGetInt64(), input, Int16GetDatum(), Max, Min, and val.
Definition at line 348 of file btree_gin.c.
References DatumGetInt64(), input, Int32GetDatum(), Max, Min, and val.
Definition at line 718 of file btree_gin.c.
References cstring_to_text(), DatumGetName(), input, NameStr, PointerGetDatum(), and val.
Definition at line 935 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 605 of file btree_gin.c.
References DateADTGetDatum(), DatumGetTimestamp(), input, timestamp2date_safe(), and val.
Definition at line 543 of file btree_gin.c.
References DatumGetTimestamp(), input, timestamp2timestamptz_safe(), TimestampTzGetDatum(), and val.
Definition at line 617 of file btree_gin.c.
References DateADTGetDatum(), DatumGetTimestampTz(), input, timestamptz2date_safe(), and val.
Definition at line 508 of file btree_gin.c.
References DatumGetTimestampTz(), input, TimestampGetDatum(), timestamptz2timestamp_safe(), and val.
|
static |
Definition at line 150 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 237 of file btree_gin.c.
References PG_GETARG_POINTER, and PG_RETURN_BOOL.
|
static |
Definition at line 67 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 51 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 866 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 813 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 767 of file btree_gin.c.
References bit_in(), CStringGetDatum(), DirectFunctionCall3, Int32GetDatum(), and ObjectIdGetDatum().
|
static |
|
static |
|
static |
Definition at line 599 of file btree_gin.c.
References DateADTGetDatum(), and DATEVAL_NOBEGIN.
|
static |
Definition at line 893 of file btree_gin.c.
References InvalidOid, and ObjectIdGetDatum().
|
static |
Definition at line 402 of file btree_gin.c.
References Float4GetDatum(), and get_float4_infinity().
|
static |
Definition at line 437 of file btree_gin.c.
References Float8GetDatum(), and get_float8_infinity().
|
static |
Definition at line 690 of file btree_gin.c.
References CStringGetDatum(), DirectFunctionCall1, and inet_in().
|
static |
Definition at line 274 of file btree_gin.c.
References Int16GetDatum().
|
static |
Definition at line 334 of file btree_gin.c.
References Int32GetDatum().
|
static |
|
static |
Definition at line 640 of file btree_gin.c.
References INTERVAL_NOBEGIN, IntervalPGetDatum(), and palloc().
|
static |
Definition at line 658 of file btree_gin.c.
References MacaddrPGetDatum(), and palloc0().
|
static |
Definition at line 674 of file btree_gin.c.
References Macaddr8PGetDatum(), and palloc0().
|
static |
Definition at line 462 of file btree_gin.c.
References Int64GetDatum(), and PG_INT64_MIN.
|
static |
Definition at line 927 of file btree_gin.c.
References NAMEDATALEN, NameGetDatum(), and palloc0().
|
static |
Definition at line 838 of file btree_gin.c.
References PointerGetDatum().
|
static |
Definition at line 476 of file btree_gin.c.
References ObjectIdGetDatum().
|
static |
Definition at line 712 of file btree_gin.c.
References cstring_to_text_with_len(), and PointerGetDatum().
|
static |
|
static |
Definition at line 490 of file btree_gin.c.
References DT_NOBEGIN, and TimestampGetDatum().
|
static |
Definition at line 580 of file btree_gin.c.
References palloc(), TimeTzADT::time, TimeTzADTPGetDatum(), and TimeTzADT::zone.
|
static |
Definition at line 907 of file btree_gin.c.
References palloc0(), and UUIDPGetDatum().
|
static |
Definition at line 784 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 778 of file btree_gin.c.
|
static |
Definition at line 775 of file btree_gin.c.
|
static |
Definition at line 975 of file btree_gin.c.
|
static |
Definition at line 972 of file btree_gin.c.
|
static |
Definition at line 739 of file btree_gin.c.
|
static |
Definition at line 736 of file btree_gin.c.
|
static |
Definition at line 761 of file btree_gin.c.
|
static |
Definition at line 758 of file btree_gin.c.
|
static |
Definition at line 753 of file btree_gin.c.
|
static |
Definition at line 750 of file btree_gin.c.
|
static |
Definition at line 706 of file btree_gin.c.
|
static |
Definition at line 703 of file btree_gin.c.
|
static |
Definition at line 634 of file btree_gin.c.
|
static |
Definition at line 631 of file btree_gin.c.
|
static |
Definition at line 628 of file btree_gin.c.
|
static |
Definition at line 901 of file btree_gin.c.
|
static |
Definition at line 898 of file btree_gin.c.
|
static |
Definition at line 431 of file btree_gin.c.
|
static |
Definition at line 428 of file btree_gin.c.
|
static |
Definition at line 425 of file btree_gin.c.
|
static |
Definition at line 456 of file btree_gin.c.
|
static |
Definition at line 453 of file btree_gin.c.
|
static |
Definition at line 450 of file btree_gin.c.
|
static |
Definition at line 698 of file btree_gin.c.
|
static |
Definition at line 695 of file btree_gin.c.
|
static |
Definition at line 328 of file btree_gin.c.
|
static |
Definition at line 325 of file btree_gin.c.
|
static |
Definition at line 322 of file btree_gin.c.
|
static |
Definition at line 363 of file btree_gin.c.
|
static |
Definition at line 360 of file btree_gin.c.
|
static |
Definition at line 357 of file btree_gin.c.
|
static |
Definition at line 396 of file btree_gin.c.
|
static |
Definition at line 393 of file btree_gin.c.
|
static |
Definition at line 390 of file btree_gin.c.
|
static |
Definition at line 652 of file btree_gin.c.
|
static |
Definition at line 649 of file btree_gin.c.
|
static |
Definition at line 684 of file btree_gin.c.
|
static |
Definition at line 681 of file btree_gin.c.
|
static |
Definition at line 668 of file btree_gin.c.
|
static |
Definition at line 665 of file btree_gin.c.
|
static |
Definition at line 470 of file btree_gin.c.
|
static |
Definition at line 467 of file btree_gin.c.
|
static |
Definition at line 961 of file btree_gin.c.
|
static |
Definition at line 958 of file btree_gin.c.
|
static |
Definition at line 955 of file btree_gin.c.
|
static |
Definition at line 846 of file btree_gin.c.
|
static |
Definition at line 843 of file btree_gin.c.
|
static |
Definition at line 484 of file btree_gin.c.
|
static |
Definition at line 481 of file btree_gin.c.
|
static |
Definition at line 731 of file btree_gin.c.
|
static |
Definition at line 728 of file btree_gin.c.
|
static |
Definition at line 725 of file btree_gin.c.
|
static |
Definition at line 574 of file btree_gin.c.
|
static |
Definition at line 571 of file btree_gin.c.
|
static |
Definition at line 525 of file btree_gin.c.
|
static |
Definition at line 522 of file btree_gin.c.
|
static |
Definition at line 519 of file btree_gin.c.
|
static |
Definition at line 560 of file btree_gin.c.
|
static |
Definition at line 557 of file btree_gin.c.
|
static |
Definition at line 554 of file btree_gin.c.
|
static |
Definition at line 593 of file btree_gin.c.
|
static |
Definition at line 590 of file btree_gin.c.
|
static |
Definition at line 921 of file btree_gin.c.
|
static |
Definition at line 918 of file btree_gin.c.
|
static |
Definition at line 795 of file btree_gin.c.
|
static |
Definition at line 792 of file btree_gin.c.