mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Minor fixes to improve regex debugging code.
When REG_DEBUG is defined, ensure that an un-filled "struct cnfa" is all-zeroes, not just that it has nstates == 0. This is mainly so that looking at "struct subre" structs in gdb doesn't distract one with a lot of garbage fields during regex compilation. Adjust some places that print debug output to have suitable fflush calls afterwards. In passing, correct an erroneous ancient comment: the concatenation subre-s created by parsebranch() have op == '.' not ','. Noted while fooling around with some regex performance improvements.
This commit is contained in:
@ -479,7 +479,10 @@ pg_regcomp(regex_t *re,
|
||||
|
||||
#ifdef REG_DEBUG
|
||||
if (flags & REG_DUMP)
|
||||
{
|
||||
dump(re, stdout);
|
||||
fflush(stdout);
|
||||
}
|
||||
#endif
|
||||
|
||||
assert(v->err == 0);
|
||||
@ -721,7 +724,7 @@ parse(struct vars *v,
|
||||
*
|
||||
* This mostly manages concatenation, working closely with parseqatom().
|
||||
* Concatenated things are bundled up as much as possible, with separate
|
||||
* ',' nodes introduced only when necessary due to substructure.
|
||||
* '.' nodes introduced only when necessary due to substructure.
|
||||
*/
|
||||
static struct subre *
|
||||
parsebranch(struct vars *v,
|
||||
|
Reference in New Issue
Block a user