← Back to Overview

src/backend/nodes/readfuncs.c

Coverage: 1/85 lines (1.2%)
Total Lines
85
modified
Covered
1
1.2%
Uncovered
84
98.8%
키보드 네비게이션
_readRPRPattern() lines 563-644
Modified Lines Coverage: 0/82 lines (0.0%)
LineHitsSourceCommit
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).