Skip to content

Fix invalid escape sequences in Python scripts - #2111

Open
tuhaihe wants to merge 1 commit into
apache:mainfrom
tuhaihe:fix-python-invalid-escapes
Open

tuhaihe wants to merge 1 commit into
apache:mainfrom
tuhaihe:fix-python-invalid-escapes

Conversation

@tuhaihe

@tuhaihe tuhaihe commented Oct 10, 2026

Copy link
Copy Markdown
Member

Python 3.12 and later warn at compile time about a backslash that is not a valid escape sequence in a normal string, and the warning is printed every time such a script is run:

mocker.py:245: SyntaxWarning: "[" is an invalid escape sequence.
Such sequences will not work in the future. Did you mean "\["?

The warning of mocker.py is printed about sixty times in a unittest-check run, once for every test directory, and the ones of contrib/try_convert/scripts show up in the "make installcheck" of the contrib modules. The warning is the same on Ubuntu 24.04 and 26.04.

Double the backslash of each invalid escape sequence, which gives the same string value as before, in 12 files: mocker.py, gpcheckperf, gpmemreport, gpssh-exkeys, two scripts in src/backend/gporca/scripts and the scripts in contrib/try_convert/scripts.

Checked for each file that the syntax tree of the new source is the same as the one of the old source, which means every string has the same value, and that the file compiles without a warning. No Python file in the repository has an invalid escape sequence now.

Assisted-by: Claude Code
Backpatch-through: REL_2_STABLE

Fixes #ISSUE_Number

What does this PR do?

Type of Change

  • Bug fix (non-breaking change)
  • New feature (non-breaking change)
  • Breaking change (fix or feature with breaking changes)
  • Documentation update

Breaking Changes

Test Plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Passed make installcheck
  • Passed make -C src/test installcheck-cbdb-parallel

Impact

Performance:

User-facing changes:

Dependencies:

Checklist

Additional Context

CI Skip Instructions


Python 3.12 and later warn at compile time about a backslash that is not
a valid escape sequence in a normal string, and the warning is printed
every time such a script is run:

  mocker.py:245: SyntaxWarning: "\[" is an invalid escape sequence.
  Such sequences will not work in the future. Did you mean "\\["?

The warning of mocker.py is printed about sixty times in a
unittest-check run, once for every test directory, and the ones of
contrib/try_convert/scripts show up in the "make installcheck" of the
contrib modules. The warning is the same on Ubuntu 24.04 and 26.04.

Double the backslash of each invalid escape sequence, which gives the
same string value as before, in 12 files: mocker.py, gpcheckperf,
gpmemreport, gpssh-exkeys, two scripts in src/backend/gporca/scripts and
the scripts in contrib/try_convert/scripts.

Checked for each file that the syntax tree of the new source is the same
as the one of the old source, which means every string has the same
value, and that the file compiles without a warning. No Python file in
the repository has an invalid escape sequence now.

Assisted-by: Claude Code
Backpatch-through: REL_2_STABLE
@tuhaihe tuhaihe added this to the Ubuntu 26.04 Support milestone Oct 10, 2026
@tuhaihe

tuhaihe commented Oct 10, 2026

Copy link
Copy Markdown
Member Author

This change has been verified in Ubuntu 26.04 on #2096

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant