1074{
1075 GISTENTRY *entry = (GISTENTRY*) PG_GETARG_POINTER(0);
1076 StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
1078 BOX2DF query_gbox_index;
1079
1080
1081
1082 bool *recheck = (bool *) PG_GETARG_POINTER(4);
1083
1084
1085
1086
1087 *recheck = false;
1088
1089 POSTGIS_DEBUG(4, "[GIST] 'consistent' function called");
1090
1091
1092 if ( DatumGetPointer(PG_GETARG_DATUM(1)) == NULL )
1093 {
1094 POSTGIS_DEBUG(4, "[GIST] null query pointer (!?!), returning false");
1095 PG_RETURN_BOOL(false);
1096 }
1097
1098
1099 if ( DatumGetPointer(entry->key) == NULL )
1100 {
1101 POSTGIS_DEBUG(4, "[GIST] null index entry, returning false");
1102 PG_RETURN_BOOL(false);
1103 }
1104
1105
1107 {
1108 POSTGIS_DEBUG(4, "[GIST] null query_gbox_index!");
1109 PG_RETURN_BOOL(false);
1110 }
1111
1112
1113 if (GIST_LEAF(entry))
1114 {
1116 (BOX2DF*)DatumGetPointer(entry->key),
1117 &query_gbox_index, strategy);
1118 }
1119 else
1120 {
1122 (BOX2DF*)DatumGetPointer(entry->key),
1123 &query_gbox_index, strategy);
1124 }
1125
1127}
char result[OUT_DOUBLE_BUFFER_SIZE]
static bool gserialized_gist_consistent_internal_2d(BOX2DF *key, BOX2DF *query, StrategyNumber strategy)
int gserialized_datum_get_box2df_p(Datum gsdatum, BOX2DF *box2df)
static bool gserialized_gist_consistent_leaf_2d(BOX2DF *key, BOX2DF *query, StrategyNumber strategy)