aboutsummaryrefslogtreecommitdiff
path: root/src/backend/regex/regexec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/regex/regexec.c')
-rw-r--r--src/backend/regex/regexec.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/backend/regex/regexec.c b/src/backend/regex/regexec.c
index 5b9a0878203..9e866c038d9 100644
--- a/src/backend/regex/regexec.c
+++ b/src/backend/regex/regexec.c
@@ -1133,8 +1133,8 @@ citerdissect(struct vars *v,
* Our strategy is to first find a set of sub-match endpoints that are
* valid according to the child node's DFA, and then recursively dissect
* each sub-match to confirm validity. If any validity check fails,
- * backtrack the last sub-match and try again. And, when we next try for
- * a validity check, we need not recheck any successfully verified
+ * backtrack that sub-match and try again. And, when we next try for a
+ * validity check, we need not recheck any successfully verified
* sub-matches that we didn't move the endpoints of. nverified remembers
* how many sub-matches are currently known okay.
*/
@@ -1222,12 +1222,13 @@ citerdissect(struct vars *v,
return REG_OKAY;
}
- /* match failed to verify, so backtrack */
+ /* i'th match failed to verify, so backtrack it */
+ k = i;
backtrack:
/*
- * Must consider shorter versions of the current sub-match. However,
+ * Must consider shorter versions of the k'th sub-match. However,
* we'll only ask for a zero-length match if necessary.
*/
while (k > 0)
@@ -1338,8 +1339,8 @@ creviterdissect(struct vars *v,
* Our strategy is to first find a set of sub-match endpoints that are
* valid according to the child node's DFA, and then recursively dissect
* each sub-match to confirm validity. If any validity check fails,
- * backtrack the last sub-match and try again. And, when we next try for
- * a validity check, we need not recheck any successfully verified
+ * backtrack that sub-match and try again. And, when we next try for a
+ * validity check, we need not recheck any successfully verified
* sub-matches that we didn't move the endpoints of. nverified remembers
* how many sub-matches are currently known okay.
*/
@@ -1433,12 +1434,13 @@ creviterdissect(struct vars *v,
return REG_OKAY;
}
- /* match failed to verify, so backtrack */
+ /* i'th match failed to verify, so backtrack it */
+ k = i;
backtrack:
/*
- * Must consider longer versions of the current sub-match.
+ * Must consider longer versions of the k'th sub-match.
*/
while (k > 0)
{