| Line | Hits | Source | Commit |
| 563 |
0 |
_readRPRPattern(void) |
d23df91Row pattern recognition patch (parse/analysis). |
| 564 |
0 |
{ |
d23df91Row pattern recognition patch (parse/analysis). |
| 565 |
0 |
READ_LOCALS(RPRPattern); |
d23df91Row pattern recognition patch (parse/analysis). |
| 566 |
0 |
|
d23df91Row pattern recognition patch (parse/analysis). |
| 567 |
0 |
READ_INT_FIELD(numVars); |
d23df91Row pattern recognition patch (parse/analysis). |
| 568 |
0 |
READ_INT_FIELD(maxDepth); |
d23df91Row pattern recognition patch (parse/analysis). |
| 569 |
0 |
READ_INT_FIELD(numElements); |
d23df91Row pattern recognition patch (parse/analysis). |
| 570 |
0 |
|
d23df91Row pattern recognition patch (parse/analysis). |
| 571 |
0 |
/* Read varNames array */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 572 |
0 |
token = pg_strtok(&length); /* skip :varNames */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 573 |
0 |
token = pg_strtok(&length); /* get '(' or '<>' */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 574 |
0 |
if (local_node->numVars > 0 && token[0] == '(') |
d23df91Row pattern recognition patch (parse/analysis). |
| 575 |
0 |
{ |
d23df91Row pattern recognition patch (parse/analysis). |
| 576 |
0 |
local_node->varNames = palloc(local_node->numVars * sizeof(char *)); |
d23df91Row pattern recognition patch (parse/analysis). |
| 577 |
0 |
for (int i = 0; i < local_node->numVars; i++) |
d23df91Row pattern recognition patch (parse/analysis). |
| 578 |
0 |
{ |
d23df91Row pattern recognition patch (parse/analysis). |
| 579 |
0 |
token = pg_strtok(&length); |
d23df91Row pattern recognition patch (parse/analysis). |
| 580 |
0 |
local_node->varNames[i] = debackslash(token, length); |
d23df91Row pattern recognition patch (parse/analysis). |
| 581 |
0 |
} |
d23df91Row pattern recognition patch (parse/analysis). |
| 582 |
0 |
token = pg_strtok(&length); /* skip ')' */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 583 |
0 |
} |
d23df91Row pattern recognition patch (parse/analysis). |
| 584 |
0 |
else |
d23df91Row pattern recognition patch (parse/analysis). |
| 585 |
0 |
{ |
d23df91Row pattern recognition patch (parse/analysis). |
| 586 |
0 |
local_node->varNames = NULL; |
d23df91Row pattern recognition patch (parse/analysis). |
| 587 |
0 |
} |
d23df91Row pattern recognition patch (parse/analysis). |
| 588 |
0 |
|
d23df91Row pattern recognition patch (parse/analysis). |
| 589 |
0 |
/* Read elements array */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 590 |
0 |
token = pg_strtok(&length); /* skip :elements */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 591 |
0 |
token = pg_strtok(&length); /* get '(' or '<>' */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 592 |
0 |
if (local_node->numElements > 0 && token[0] == '(') |
d23df91Row pattern recognition patch (parse/analysis). |
| 593 |
0 |
{ |
d23df91Row pattern recognition patch (parse/analysis). |
| 594 |
0 |
local_node->elements = palloc0(local_node->numElements * sizeof(RPRPatternElement)); |
d23df91Row pattern recognition patch (parse/analysis). |
| 595 |
0 |
for (int i = 0; i < local_node->numElements; i++) |
d23df91Row pattern recognition patch (parse/analysis). |
| 596 |
0 |
{ |
d23df91Row pattern recognition patch (parse/analysis). |
| 597 |
0 |
RPRPatternElement *elem = &local_node->elements[i]; |
d23df91Row pattern recognition patch (parse/analysis). |
| 598 |
0 |
int varId, |
d23df91Row pattern recognition patch (parse/analysis). |
| 599 |
0 |
flags, |
d23df91Row pattern recognition patch (parse/analysis). |
| 600 |
0 |
depth, |
d23df91Row pattern recognition patch (parse/analysis). |
| 601 |
0 |
min, |
d23df91Row pattern recognition patch (parse/analysis). |
| 602 |
0 |
max, |
d23df91Row pattern recognition patch (parse/analysis). |
| 603 |
0 |
next, |
d23df91Row pattern recognition patch (parse/analysis). |
| 604 |
0 |
jump; |
d23df91Row pattern recognition patch (parse/analysis). |
| 605 |
0 |
|
d23df91Row pattern recognition patch (parse/analysis). |
| 606 |
0 |
/* Parse "(varId depth flags min max next jump)" */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 607 |
0 |
token = pg_strtok(&length); |
d23df91Row pattern recognition patch (parse/analysis). |
| 608 |
0 |
varId = atoi(token); |
d23df91Row pattern recognition patch (parse/analysis). |
| 609 |
0 |
token = pg_strtok(&length); |
d23df91Row pattern recognition patch (parse/analysis). |
| 610 |
0 |
depth = atoi(token); |
d23df91Row pattern recognition patch (parse/analysis). |
| 611 |
0 |
token = pg_strtok(&length); |
d23df91Row pattern recognition patch (parse/analysis). |
| 612 |
0 |
flags = atoi(token); |
d23df91Row pattern recognition patch (parse/analysis). |
| 613 |
0 |
token = pg_strtok(&length); |
d23df91Row pattern recognition patch (parse/analysis). |
| 614 |
0 |
min = atoi(token); |
d23df91Row pattern recognition patch (parse/analysis). |
| 615 |
0 |
token = pg_strtok(&length); |
d23df91Row pattern recognition patch (parse/analysis). |
| 616 |
0 |
max = atoi(token); |
d23df91Row pattern recognition patch (parse/analysis). |
| 617 |
0 |
token = pg_strtok(&length); |
d23df91Row pattern recognition patch (parse/analysis). |
| 618 |
0 |
next = atoi(token); |
d23df91Row pattern recognition patch (parse/analysis). |
| 619 |
0 |
token = pg_strtok(&length); |
d23df91Row pattern recognition patch (parse/analysis). |
| 620 |
0 |
jump = atoi(token); |
d23df91Row pattern recognition patch (parse/analysis). |
| 621 |
0 |
token = pg_strtok(&length); /* skip ')' */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 622 |
0 |
|
d23df91Row pattern recognition patch (parse/analysis). |
| 623 |
0 |
elem->varId = (RPRVarId) varId; |
d23df91Row pattern recognition patch (parse/analysis). |
| 624 |
0 |
elem->flags = (RPRElemFlags) flags; |
d23df91Row pattern recognition patch (parse/analysis). |
| 625 |
0 |
elem->depth = (RPRDepth) depth; |
d23df91Row pattern recognition patch (parse/analysis). |
| 626 |
0 |
elem->min = (RPRQuantity) min; |
d23df91Row pattern recognition patch (parse/analysis). |
| 627 |
0 |
elem->max = (RPRQuantity) max; |
d23df91Row pattern recognition patch (parse/analysis). |
| 628 |
0 |
elem->next = (RPRElemIdx) next; |
d23df91Row pattern recognition patch (parse/analysis). |
| 629 |
0 |
elem->jump = (RPRElemIdx) jump; |
d23df91Row pattern recognition patch (parse/analysis). |
| 630 |
0 |
|
d23df91Row pattern recognition patch (parse/analysis). |
| 631 |
0 |
/* Read next element's '(' or end */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 632 |
0 |
if (i < local_node->numElements - 1) |
d23df91Row pattern recognition patch (parse/analysis). |
| 633 |
0 |
token = pg_strtok(&length); /* get '(' */ |
d23df91Row pattern recognition patch (parse/analysis). |
| 634 |
0 |
} |
d23df91Row pattern recognition patch (parse/analysis). |
| 635 |
0 |
} |
d23df91Row pattern recognition patch (parse/analysis). |
| 636 |
0 |
else |
d23df91Row pattern recognition patch (parse/analysis). |
| 637 |
0 |
{ |
d23df91Row pattern recognition patch (parse/analysis). |
| 638 |
0 |
local_node->elements = NULL; |
d23df91Row pattern recognition patch (parse/analysis). |
| 639 |
0 |
} |
d23df91Row pattern recognition patch (parse/analysis). |
| 640 |
0 |
|
d23df91Row pattern recognition patch (parse/analysis). |
| 641 |
0 |
READ_BOOL_FIELD(isAbsorbable); |
d23df91Row pattern recognition patch (parse/analysis). |
| 642 |
0 |
|
d23df91Row pattern recognition patch (parse/analysis). |
| 643 |
0 |
READ_DONE(); |
d23df91Row pattern recognition patch (parse/analysis). |
| 644 |
0 |
} |
d23df91Row pattern recognition patch (parse/analysis). |