#include "utils/fmgrprotos.h" #include "utils/skipsupport.h" #include "utils/sortsupport.h"">

PostgreSQL Source Code: src/backend/access/nbtree/nbtcompare.c File Reference (original) (raw)

#include "[postgres.h](postgres%5F8h%5Fsource.html)"
#include <limits.h>
#include "utils/fmgrprotos.h"
#include "[utils/skipsupport.h](skipsupport%5F8h%5Fsource.html)"
#include "[utils/sortsupport.h](sortsupport%5F8h%5Fsource.html)"

Go to the source code of this file.

Functions
Datum btboolcmp (PG_FUNCTION_ARGS)
static Datum bool_decrement (Relation rel, Datum existing, bool *underflow)
static Datum bool_increment (Relation rel, Datum existing, bool *overflow)
Datum btboolskipsupport (PG_FUNCTION_ARGS)
Datum btint2cmp (PG_FUNCTION_ARGS)
static int btint2fastcmp (Datum x, Datum y, SortSupport ssup)
Datum btint2sortsupport (PG_FUNCTION_ARGS)
static Datum int2_decrement (Relation rel, Datum existing, bool *underflow)
static Datum int2_increment (Relation rel, Datum existing, bool *overflow)
Datum btint2skipsupport (PG_FUNCTION_ARGS)
Datum btint4cmp (PG_FUNCTION_ARGS)
Datum btint4sortsupport (PG_FUNCTION_ARGS)
static Datum int4_decrement (Relation rel, Datum existing, bool *underflow)
static Datum int4_increment (Relation rel, Datum existing, bool *overflow)
Datum btint4skipsupport (PG_FUNCTION_ARGS)
Datum btint8cmp (PG_FUNCTION_ARGS)
static int btint8fastcmp (Datum x, Datum y, SortSupport ssup)
Datum btint8sortsupport (PG_FUNCTION_ARGS)
static Datum int8_decrement (Relation rel, Datum existing, bool *underflow)
static Datum int8_increment (Relation rel, Datum existing, bool *overflow)
Datum btint8skipsupport (PG_FUNCTION_ARGS)
Datum btint48cmp (PG_FUNCTION_ARGS)
Datum btint84cmp (PG_FUNCTION_ARGS)
Datum btint24cmp (PG_FUNCTION_ARGS)
Datum btint42cmp (PG_FUNCTION_ARGS)
Datum btint28cmp (PG_FUNCTION_ARGS)
Datum btint82cmp (PG_FUNCTION_ARGS)
Datum btoidcmp (PG_FUNCTION_ARGS)
static int btoidfastcmp (Datum x, Datum y, SortSupport ssup)
Datum btoidsortsupport (PG_FUNCTION_ARGS)
static Datum oid_decrement (Relation rel, Datum existing, bool *underflow)
static Datum oid_increment (Relation rel, Datum existing, bool *overflow)
Datum btoidskipsupport (PG_FUNCTION_ARGS)
Datum btoidvectorcmp (PG_FUNCTION_ARGS)
Datum btcharcmp (PG_FUNCTION_ARGS)
static Datum char_decrement (Relation rel, Datum existing, bool *underflow)
static Datum char_increment (Relation rel, Datum existing, bool *overflow)
Datum btcharskipsupport (PG_FUNCTION_ARGS)

A_GREATER_THAN_B

#define A_GREATER_THAN_B 1

A_LESS_THAN_B

#define A_LESS_THAN_B (-1)

bool_decrement()

bool_increment()

btboolcmp()

btboolskipsupport()

Definition at line 115 of file nbtcompare.c.

116{

118

123

125}

#define PG_GETARG_POINTER(n)

static Datum bool_increment(Relation rel, Datum existing, bool *overflow)

static Datum bool_decrement(Relation rel, Datum existing, bool *underflow)

struct SkipSupportData * SkipSupport

SkipSupportIncDec decrement

SkipSupportIncDec increment

References bool_decrement(), bool_increment(), BoolGetDatum(), SkipSupportData::decrement, SkipSupportData::high_elem, SkipSupportData::increment, SkipSupportData::low_elem, PG_GETARG_POINTER, and PG_RETURN_VOID.

btcharcmp()

btcharskipsupport()

Definition at line 588 of file nbtcompare.c.

589{

591

594

595

598

600}

static Datum char_decrement(Relation rel, Datum existing, bool *underflow)

static Datum char_increment(Relation rel, Datum existing, bool *overflow)

static Datum UInt8GetDatum(uint8 X)

References char_decrement(), char_increment(), SkipSupportData::decrement, SkipSupportData::high_elem, SkipSupportData::increment, SkipSupportData::low_elem, PG_GETARG_POINTER, PG_RETURN_VOID, and UInt8GetDatum().

btint24cmp()

btint28cmp()

btint2cmp()

btint2fastcmp()

btint2skipsupport()

Definition at line 187 of file nbtcompare.c.

188{

190

195

197}

static Datum int2_decrement(Relation rel, Datum existing, bool *underflow)

static Datum int2_increment(Relation rel, Datum existing, bool *overflow)

static Datum Int16GetDatum(int16 X)

References SkipSupportData::decrement, SkipSupportData::high_elem, SkipSupportData::increment, Int16GetDatum(), int2_decrement(), int2_increment(), SkipSupportData::low_elem, PG_GETARG_POINTER, PG_INT16_MAX, PG_INT16_MIN, and PG_RETURN_VOID.

btint2sortsupport()

btint42cmp()

btint48cmp()

btint4cmp()

btint4skipsupport()

Definition at line 255 of file nbtcompare.c.

256{

258

263

265}

static Datum int4_increment(Relation rel, Datum existing, bool *overflow)

static Datum int4_decrement(Relation rel, Datum existing, bool *underflow)

static Datum Int32GetDatum(int32 X)

References SkipSupportData::decrement, SkipSupportData::high_elem, SkipSupportData::increment, Int32GetDatum(), int4_decrement(), int4_increment(), SkipSupportData::low_elem, PG_GETARG_POINTER, PG_INT32_MAX, PG_INT32_MIN, and PG_RETURN_VOID.

btint4sortsupport()

btint82cmp()

btint84cmp()

btint8cmp()

btint8fastcmp()

btint8skipsupport()

Definition at line 343 of file nbtcompare.c.

344{

346

351

353}

Datum Int64GetDatum(int64 X)

static Datum int8_decrement(Relation rel, Datum existing, bool *underflow)

static Datum int8_increment(Relation rel, Datum existing, bool *overflow)

References SkipSupportData::decrement, SkipSupportData::high_elem, SkipSupportData::increment, Int64GetDatum(), int8_decrement(), int8_increment(), SkipSupportData::low_elem, PG_GETARG_POINTER, PG_INT64_MAX, PG_INT64_MIN, and PG_RETURN_VOID.

btint8sortsupport()

btoidcmp()

btoidfastcmp()

btoidskipsupport()

Definition at line 509 of file nbtcompare.c.

510{

512

517

519}

static Datum oid_increment(Relation rel, Datum existing, bool *overflow)

static Datum oid_decrement(Relation rel, Datum existing, bool *underflow)

static Datum ObjectIdGetDatum(Oid X)

References SkipSupportData::decrement, SkipSupportData::high_elem, SkipSupportData::increment, InvalidOid, SkipSupportData::low_elem, ObjectIdGetDatum(), oid_decrement(), oid_increment(), OID_MAX, PG_GETARG_POINTER, and PG_RETURN_VOID.

btoidsortsupport()

btoidvectorcmp()

Definition at line 522 of file nbtcompare.c.

523{

526 int i;

527

528

529 if (a->dim1 != b->dim1)

531

532 for (i = 0; i < a->dim1; i++)

533 {

534 if (a->values[i] != b->values[i])

535 {

536 if (a->values[i] > b->values[i])

538 else

540 }

541 }

543}

References a, A_GREATER_THAN_B, A_LESS_THAN_B, b, i, PG_GETARG_POINTER, and PG_RETURN_INT32.

Referenced by oidvectoreq(), oidvectorge(), oidvectorgt(), oidvectorle(), oidvectorlt(), and oidvectorne().

char_decrement()

char_increment()

int2_decrement()

int2_increment()

int4_decrement()

int4_increment()

int8_decrement()

int8_increment()

oid_decrement()

oid_increment()