| 4211 | } |
| 4212 | |
| 4213 | static void |
| 4214 | AddTupleValuesIntoRF(HashState *node, TupleTableSlot *slot) |
| 4215 | { |
| 4216 | Datum val; |
| 4217 | bool isnull; |
| 4218 | ListCell *lc; |
| 4219 | AttrFilter *attr_filter; |
| 4220 | |
| 4221 | foreach (lc, node->filters) |
| 4222 | { |
| 4223 | attr_filter = (AttrFilter *) lfirst(lc); |
| 4224 | |
| 4225 | val = slot_getattr(slot, attr_filter->rattno, &isnull); |
| 4226 | if (isnull) |
| 4227 | continue; |
| 4228 | |
| 4229 | attr_filter->empty = false; |
| 4230 | |
| 4231 | if ((int64_t)val < (int64_t)attr_filter->min) |
| 4232 | attr_filter->min = val; |
| 4233 | |
| 4234 | if ((int64_t)val > (int64_t)attr_filter->max) |
| 4235 | attr_filter->max = val; |
| 4236 | |
| 4237 | if (attr_filter->blm_filter) |
| 4238 | bloom_add_element(attr_filter->blm_filter, (unsigned char *)&val, sizeof(Datum)); |
| 4239 | } |
| 4240 | } |
| 4241 | |
| 4242 | void |
| 4243 | FreeRuntimeFilter(HashState *node) |
no test coverage detected