Fix _decode_default_value to unescape doubled single quotes in string defaults

SQLite stores string defaults with single quotes doubled (e.g. DEFAULT 'O''Brien'
is stored as the literal "'O''Brien'" in sqlite_master). The previous code
stripped the outer quotes with value[1:-1] but never converted '' back to ',
so default_values returned the raw escaped form instead of the true string value.
This commit is contained in:
Claude 2026-07-23 14:38:23 +00:00
commit d7c6df6b46
No known key found for this signature in database

View file

@ -5212,8 +5212,8 @@ def resolve_extracts(
def _decode_default_value(value: str) -> object:
if value.startswith("'") and value.endswith("'"):
# It's a string
return value[1:-1]
# It's a string; unescape doubled single quotes
return value[1:-1].replace("''", "'")
if value.isdigit():
# It's an integer
return int(value)