| Line | Hits | Source | Commit |
| 572 |
3028 |
_readRPRPattern(void) |
c54ba27Row pattern recognition patch (parse/analysis). |
| 573 |
- |
{ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 574 |
3028 |
READ_LOCALS(RPRPattern); |
c54ba27Row pattern recognition patch (parse/analysis). |
| 575 |
- |
|
c54ba27Row pattern recognition patch (parse/analysis). |
| 576 |
3028 |
READ_INT_FIELD(numVars); |
c54ba27Row pattern recognition patch (parse/analysis). |
| 577 |
3028 |
READ_INT_FIELD(maxDepth); |
c54ba27Row pattern recognition patch (parse/analysis). |
| 578 |
3028 |
READ_INT_FIELD(numElements); |
c54ba27Row pattern recognition patch (parse/analysis). |
| 579 |
- |
|
c54ba27Row pattern recognition patch (parse/analysis). |
| 580 |
- |
/* Read varNames array */ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 581 |
3028 |
token = pg_strtok(&length); /* skip :varNames */ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 582 |
3028 |
token = pg_strtok(&length); /* get '(' or '<>' */ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 583 |
3028 |
if (local_node->numVars > 0 && token[0] == '(') |
c54ba27Row pattern recognition patch (parse/analysis). |
| 584 |
- |
{ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 585 |
3028 |
local_node->varNames = palloc_array(char *, local_node->numVars); |
c54ba27Row pattern recognition patch (parse/analysis). |
| 586 |
10228 |
for (int i = 0; i < local_node->numVars; i++) |
c54ba27Row pattern recognition patch (parse/analysis). |
| 587 |
- |
{ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 588 |
7200 |
token = pg_strtok(&length); |
c54ba27Row pattern recognition patch (parse/analysis). |
| 589 |
7200 |
local_node->varNames[i] = debackslash(token, length); |
c54ba27Row pattern recognition patch (parse/analysis). |
| 590 |
- |
} |
c54ba27Row pattern recognition patch (parse/analysis). |
| 591 |
3028 |
token = pg_strtok(&length); /* skip ')' */ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 592 |
- |
} |
c54ba27Row pattern recognition patch (parse/analysis). |
| 593 |
- |
else |
c54ba27Row pattern recognition patch (parse/analysis). |
| 594 |
- |
{ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 595 |
0 |
local_node->varNames = NULL; |
c54ba27Row pattern recognition patch (parse/analysis). |
| 596 |
- |
} |
c54ba27Row pattern recognition patch (parse/analysis). |
| 597 |
- |
|
c54ba27Row pattern recognition patch (parse/analysis). |
| 598 |
- |
/* Read elements array */ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 599 |
3028 |
token = pg_strtok(&length); /* skip :elements */ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 600 |
3028 |
token = pg_strtok(&length); /* get '(' */ |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 601 |
- |
/* out always emits the array (makeRPRPattern guarantees numElements >= 2) */ |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 602 |
3028 |
Assert(local_node->numElements > 0 && token[0] == '('); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 603 |
3028 |
local_node->elements = palloc0_array(RPRPatternElement, local_node->numElements); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 604 |
148620 |
for (int i = 0; i < local_node->numElements; i++) |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 605 |
- |
{ |
c54ba27Row pattern recognition patch (parse/analysis). |
| 606 |
145592 |
RPRPatternElement *elem = &local_node->elements[i]; |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 607 |
145592 |
int varId, |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 608 |
- |
flags, |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 609 |
- |
depth, |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 610 |
- |
min, |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 611 |
- |
max, |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 612 |
- |
next, |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 613 |
- |
jump; |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 614 |
- |
|
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 615 |
- |
/* Parse "(varId depth flags min max next jump)" */ |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 616 |
145592 |
token = pg_strtok(&length); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 617 |
145592 |
varId = atoi(token); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 618 |
145592 |
token = pg_strtok(&length); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 619 |
145592 |
depth = atoi(token); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 620 |
145592 |
token = pg_strtok(&length); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 621 |
145592 |
flags = atoi(token); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 622 |
145592 |
token = pg_strtok(&length); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 623 |
145592 |
min = atoi(token); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 624 |
145592 |
token = pg_strtok(&length); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 625 |
145592 |
max = atoi(token); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 626 |
145592 |
token = pg_strtok(&length); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 627 |
145592 |
next = atoi(token); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 628 |
145592 |
token = pg_strtok(&length); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 629 |
145592 |
jump = atoi(token); |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 630 |
145592 |
token = pg_strtok(&length); /* skip ')' */ |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 631 |
- |
|
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 632 |
145592 |
elem->varId = (RPRVarId) varId; |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 633 |
145592 |
elem->flags = (RPRElemFlags) flags; |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 634 |
145592 |
elem->depth = (RPRDepth) depth; |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 635 |
145592 |
elem->min = (RPRQuantity) min; |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 636 |
145592 |
elem->max = (RPRQuantity) max; |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 637 |
145592 |
elem->next = (RPRElemIdx) next; |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 638 |
145592 |
elem->jump = (RPRElemIdx) jump; |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 639 |
- |
|
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 640 |
- |
/* Read next element's '(' or end */ |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 641 |
145592 |
if (i < local_node->numElements - 1) |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 642 |
145592 |
token = pg_strtok(&length); /* get '(' */ |
5afabadAdd row pattern recognition coverage tests and tidy unreachable code |
| 643 |
- |
} |
c54ba27Row pattern recognition patch (parse/analysis). |
| 644 |
- |
|
c54ba27Row pattern recognition patch (parse/analysis). |
| 645 |
3028 |
READ_BOOL_FIELD(isAbsorbable); |
c54ba27Row pattern recognition patch (parse/analysis). |
| 646 |
- |
|
c54ba27Row pattern recognition patch (parse/analysis). |
| 647 |
3028 |
READ_DONE(); |
c54ba27Row pattern recognition patch (parse/analysis). |
| 648 |
- |
} |
c54ba27Row pattern recognition patch (parse/analysis). |