| 403 | } |
| 404 | |
| 405 | double getCardinality(thread_db* tdbb, jrd_rel* relation, const Format* format) |
| 406 | { |
| 407 | // Return the estimated cardinality for the given relation |
| 408 | |
| 409 | double cardinality = DEFAULT_CARDINALITY; |
| 410 | |
| 411 | if (relation->rel_file) |
| 412 | cardinality = EXT_cardinality(tdbb, relation); |
| 413 | else if (!relation->isVirtual()) |
| 414 | { |
| 415 | MET_post_existence(tdbb, relation); |
| 416 | cardinality = DPM_cardinality(tdbb, relation, format); |
| 417 | MET_release_existence(tdbb, relation); |
| 418 | } |
| 419 | |
| 420 | return MAX(cardinality, MINIMUM_CARDINALITY); |
| 421 | } |
| 422 | |
| 423 | void markIndices(CompilerScratch::csb_repeat* tail, USHORT relationId) |
| 424 | { |
no test coverage detected