PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | NDBOX |
Macros | |
#define | CUBE_MAX_DIM (100) |
#define | POINT_BIT 0x80000000 |
#define | DIM_MASK 0x7fffffff |
#define | IS_POINT(cube) ( ((cube)->header & POINT_BIT) != 0 ) |
#define | SET_POINT_BIT(cube) ( (cube)->header |= POINT_BIT ) |
#define | DIM(cube) ( (cube)->header & DIM_MASK ) |
#define | SET_DIM(cube, _dim) ( (cube)->header = ((cube)->header & ~DIM_MASK) | (_dim) ) |
#define | LL_COORD(cube, i) ( (cube)->x[i] ) |
#define | UR_COORD(cube, i) ( IS_POINT(cube) ? (cube)->x[i] : (cube)->x[(i) + DIM(cube)] ) |
#define | POINT_SIZE(_dim) (offsetof(NDBOX, x) + sizeof(double)*(_dim)) |
#define | CUBE_SIZE(_dim) (offsetof(NDBOX, x) + sizeof(double)*(_dim)*2) |
#define | DatumGetNDBOXP(x) ((NDBOX *) PG_DETOAST_DATUM(x)) |
#define | PG_GETARG_NDBOX_P(x) DatumGetNDBOXP(PG_GETARG_DATUM(x)) |
#define | PG_RETURN_NDBOX_P(x) PG_RETURN_POINTER(x) |
#define | CubeKNNDistanceCoord 15 /* ~> */ |
#define | CubeKNNDistanceTaxicab 16 /* <#> */ |
#define | CubeKNNDistanceEuclid 17 /* <-> */ |
#define | CubeKNNDistanceChebyshev 18 /* <=> */ |
Typedefs | |
typedef struct NDBOX | NDBOX |
Functions | |
int | cube_yylex (void) |
void | cube_yyerror (NDBOX **result, Size scanbuflen, struct Node *escontext, const char *message) |
void | cube_scanner_init (const char *str, Size *scanbuflen) |
void | cube_scanner_finish (void) |
int | cube_yyparse (NDBOX **result, Size scanbuflen, struct Node *escontext) |
#define CUBE_MAX_DIM (100) |
Definition at line 7 of file cubedata.h.
Definition at line 49 of file cubedata.h.
#define CubeKNNDistanceChebyshev 18 /* <=> */ |
Definition at line 60 of file cubedata.h.
#define CubeKNNDistanceCoord 15 /* ~> */ |
Definition at line 57 of file cubedata.h.
#define CubeKNNDistanceEuclid 17 /* <-> */ |
Definition at line 59 of file cubedata.h.
#define CubeKNNDistanceTaxicab 16 /* <#> */ |
Definition at line 58 of file cubedata.h.
#define DatumGetNDBOXP | ( | x | ) | ((NDBOX *) PG_DETOAST_DATUM(x)) |
Definition at line 52 of file cubedata.h.
#define DIM | ( | cube | ) | ( (cube)->header & DIM_MASK ) |
Definition at line 42 of file cubedata.h.
#define DIM_MASK 0x7fffffff |
Definition at line 38 of file cubedata.h.
#define IS_POINT | ( | cube | ) | ( ((cube)->header & POINT_BIT) != 0 ) |
Definition at line 40 of file cubedata.h.
Definition at line 45 of file cubedata.h.
#define PG_GETARG_NDBOX_P | ( | x | ) | DatumGetNDBOXP(PG_GETARG_DATUM(x)) |
Definition at line 53 of file cubedata.h.
#define PG_RETURN_NDBOX_P | ( | x | ) | PG_RETURN_POINTER(x) |
Definition at line 54 of file cubedata.h.
#define POINT_BIT 0x80000000 |
Definition at line 37 of file cubedata.h.
Definition at line 48 of file cubedata.h.
#define SET_DIM | ( | cube, | |
_dim | |||
) | ( (cube)->header = ((cube)->header & ~DIM_MASK) | (_dim) ) |
Definition at line 43 of file cubedata.h.
#define SET_POINT_BIT | ( | cube | ) | ( (cube)->header |= POINT_BIT ) |
Definition at line 41 of file cubedata.h.
Definition at line 46 of file cubedata.h.
void cube_scanner_finish | ( | void | ) |
Referenced by cube_in().
void cube_yyerror | ( | NDBOX ** | result, |
Size | scanbuflen, | ||
struct Node * | escontext, | ||
const char * | message | ||
) |
int cube_yylex | ( | void | ) |