diff options
| author | Peter Eisentraut | 2008-10-29 08:04:54 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2008-10-29 08:04:54 +0000 |
| commit | 06735e32566ca2250afdc371b8b2521ee07ad922 (patch) | |
| tree | 0ce96005b5ea63fcb9295f21a595dd376ed3b74d /src/test | |
| parent | 05bba3d176e0adc1a032d5c8c6ea2a7622c7dd0d (diff) | |
Unicode escapes in strings and identifiers
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/strings.out | 25 | ||||
| -rw-r--r-- | src/test/regress/sql/strings.sql | 8 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/test/regress/expected/strings.out b/src/test/regress/expected/strings.out index 742ec9291f9..6b9dc5df9f4 100644 --- a/src/test/regress/expected/strings.out +++ b/src/test/regress/expected/strings.out @@ -21,6 +21,31 @@ SELECT 'first line' ERROR: syntax error at or near "' - third line'" LINE 3: ' - third line' ^ +-- Unicode escapes +SELECT U&'d\0061t\+000061' AS U&"d\0061t\+000061"; + data +------ + data +(1 row) + +SELECT U&'d!0061t\+000061' UESCAPE '!' AS U&"d*0061t\+000061" UESCAPE '*'; + dat\+000061 +------------- + dat\+000061 +(1 row) + +SELECT U&'wrong: \061'; +ERROR: invalid Unicode escape value at or near "\061'" +LINE 1: SELECT U&'wrong: \061'; + ^ +SELECT U&'wrong: \+0061'; +ERROR: invalid Unicode escape value at or near "\+0061'" +LINE 1: SELECT U&'wrong: \+0061'; + ^ +SELECT U&'wrong: +0061' UESCAPE '+'; +ERROR: invalid Unicode escape character at or near "+'" +LINE 1: SELECT U&'wrong: +0061' UESCAPE '+'; + ^ -- -- test conversions between various string types -- E021-10 implicit casting among the character data types diff --git a/src/test/regress/sql/strings.sql b/src/test/regress/sql/strings.sql index c042f33b017..0da88c7b29e 100644 --- a/src/test/regress/sql/strings.sql +++ b/src/test/regress/sql/strings.sql @@ -16,6 +16,14 @@ SELECT 'first line' ' - third line' AS "Illegal comment within continuation"; +-- Unicode escapes +SELECT U&'d\0061t\+000061' AS U&"d\0061t\+000061"; +SELECT U&'d!0061t\+000061' UESCAPE '!' AS U&"d*0061t\+000061" UESCAPE '*'; + +SELECT U&'wrong: \061'; +SELECT U&'wrong: \+0061'; +SELECT U&'wrong: +0061' UESCAPE '+'; + -- -- test conversions between various string types -- E021-10 implicit casting among the character data types |
