Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
072457b3
Commit
072457b3
authored
Aug 09, 2013
by
Peter Eisentraut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Message punctuation and pluralization fixes
parent
9d775d88
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
32 additions
and
24 deletions
+32
-24
src/backend/access/transam/multixact.c
src/backend/access/transam/multixact.c
+12
-4
src/backend/access/transam/xlog.c
src/backend/access/transam/xlog.c
+1
-1
src/backend/utils/adt/json.c
src/backend/utils/adt/json.c
+7
-7
src/backend/utils/adt/jsonfuncs.c
src/backend/utils/adt/jsonfuncs.c
+2
-2
src/test/regress/expected/json.out
src/test/regress/expected/json.out
+4
-4
src/test/regress/expected/json_1.out
src/test/regress/expected/json_1.out
+6
-6
No files found.
src/backend/access/transam/multixact.c
View file @
072457b3
...
...
@@ -940,14 +940,18 @@ GetNewMultiXactId(int nmembers, MultiXactOffset *offset)
/* complain even if that DB has disappeared */
if
(
oldest_datname
)
ereport
(
WARNING
,
(
errmsg
(
"database
\"
%s
\"
must be vacuumed before %u more MultiXactIds are used"
,
(
errmsg_plural
(
"database
\"
%s
\"
must be vacuumed before %u more MultiXactId is used"
,
"database
\"
%s
\"
must be vacuumed before %u more MultiXactIds are used"
,
multiWrapLimit
-
result
,
oldest_datname
,
multiWrapLimit
-
result
),
errhint
(
"Execute a database-wide VACUUM in that database.
\n
"
"You might also need to commit or roll back old prepared transactions."
)));
else
ereport
(
WARNING
,
(
errmsg
(
"database with OID %u must be vacuumed before %u more MultiXactIds are used"
,
(
errmsg_plural
(
"database with OID %u must be vacuumed before %u more MultiXactId is used"
,
"database with OID %u must be vacuumed before %u more MultiXactIds are used"
,
multiWrapLimit
-
result
,
oldest_datoid
,
multiWrapLimit
-
result
),
errhint
(
"Execute a database-wide VACUUM in that database.
\n
"
...
...
@@ -1982,14 +1986,18 @@ SetMultiXactIdLimit(MultiXactId oldest_datminmxid, Oid oldest_datoid)
if
(
oldest_datname
)
ereport
(
WARNING
,
(
errmsg
(
"database
\"
%s
\"
must be vacuumed before %u more MultiXactIds are used"
,
(
errmsg_plural
(
"database
\"
%s
\"
must be vacuumed before %u more MultiXactId is used"
,
"database
\"
%s
\"
must be vacuumed before %u more MultiXactIds are used"
,
multiWrapLimit
-
curMulti
,
oldest_datname
,
multiWrapLimit
-
curMulti
),
errhint
(
"To avoid a database shutdown, execute a database-wide VACUUM in that database.
\n
"
"You might also need to commit or roll back old prepared transactions."
)));
else
ereport
(
WARNING
,
(
errmsg
(
"database with OID %u must be vacuumed before %u more MultiXactIds are used"
,
(
errmsg_plural
(
"database with OID %u must be vacuumed before %u more MultiXactId is used"
,
"database with OID %u must be vacuumed before %u more MultiXactIds are used"
,
multiWrapLimit
-
curMulti
,
oldest_datoid
,
multiWrapLimit
-
curMulti
),
errhint
(
"To avoid a database shutdown, execute a database-wide VACUUM in that database.
\n
"
...
...
src/backend/access/transam/xlog.c
View file @
072457b3
...
...
@@ -6138,7 +6138,7 @@ StartupXLOG(void)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_OUT_OF_MEMORY
),
errmsg
(
"out of memory"
),
errdetail
(
"Failed while allocating an XLog reading processor"
)));
errdetail
(
"Failed while allocating an XLog reading processor
.
"
)));
xlogreader
->
system_identifier
=
ControlFile
->
system_identifier
;
if
(
read_backup_label
(
&
checkPointLoc
,
&
backupEndRequired
,
...
...
src/backend/utils/adt/json.c
View file @
072457b3
...
...
@@ -728,7 +728,7 @@ json_lex_string(JsonLexContext *lex)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INVALID_TEXT_REPRESENTATION
),
errmsg
(
"invalid input syntax for type json"
),
errdetail
(
"
high order surrogate must not follow a high order
surrogate."
),
errdetail
(
"
Unicode high surrogate must not follow a high
surrogate."
),
report_json_context
(
lex
)));
hi_surrogate
=
(
ch
&
0x3ff
)
<<
10
;
continue
;
...
...
@@ -739,7 +739,7 @@ json_lex_string(JsonLexContext *lex)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INVALID_TEXT_REPRESENTATION
),
errmsg
(
"invalid input syntax for type json"
),
errdetail
(
"
low order surrogate must follow a high order
surrogate."
),
errdetail
(
"
Unicode low surrogate must follow a high
surrogate."
),
report_json_context
(
lex
)));
ch
=
0x10000
+
hi_surrogate
+
(
ch
&
0x3ff
);
hi_surrogate
=
-
1
;
...
...
@@ -749,7 +749,7 @@ json_lex_string(JsonLexContext *lex)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INVALID_TEXT_REPRESENTATION
),
errmsg
(
"invalid input syntax for type json"
),
errdetail
(
"
low order surrogate must follow a high order
surrogate."
),
errdetail
(
"
Unicode low surrogate must follow a high
surrogate."
),
report_json_context
(
lex
)));
/*
...
...
@@ -783,7 +783,7 @@ json_lex_string(JsonLexContext *lex)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INVALID_TEXT_REPRESENTATION
),
errmsg
(
"invalid input syntax for type json"
),
errdetail
(
"Unicode escape
for code points higher than U+007F not permitted in non-UTF8 encoding
"
),
errdetail
(
"Unicode escape
values cannot be used for code point values above 007F when the server encoding is not UTF8.
"
),
report_json_context
(
lex
)));
}
...
...
@@ -795,7 +795,7 @@ json_lex_string(JsonLexContext *lex)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INVALID_TEXT_REPRESENTATION
),
errmsg
(
"invalid input syntax for type json"
),
errdetail
(
"
low order surrogate must follow a high order
surrogate."
),
errdetail
(
"
Unicode low surrogate must follow a high
surrogate."
),
report_json_context
(
lex
)));
switch
(
*
s
)
...
...
@@ -856,7 +856,7 @@ json_lex_string(JsonLexContext *lex)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INVALID_TEXT_REPRESENTATION
),
errmsg
(
"invalid input syntax for type json"
),
errdetail
(
"
low order surrogate must follow a high order
surrogate."
),
errdetail
(
"
Unicode low surrogate must follow a high
surrogate."
),
report_json_context
(
lex
)));
appendStringInfoChar
(
lex
->
strval
,
*
s
);
...
...
@@ -868,7 +868,7 @@ json_lex_string(JsonLexContext *lex)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INVALID_TEXT_REPRESENTATION
),
errmsg
(
"invalid input syntax for type json"
),
errdetail
(
"
low order surrogate must follow a high order
surrogate."
),
errdetail
(
"
Unicode low surrogate must follow a high
surrogate."
),
report_json_context
(
lex
)));
/* Hooray, we found the end of the string! */
...
...
src/backend/utils/adt/jsonfuncs.c
View file @
072457b3
...
...
@@ -1239,7 +1239,7 @@ json_populate_record(PG_FUNCTION_ARGS)
if
(
!
type_is_rowtype
(
argtype
))
ereport
(
ERROR
,
(
errcode
(
ERRCODE_DATATYPE_MISMATCH
),
errmsg
(
"first argument
must be a row
type"
)));
errmsg
(
"first argument
of json_populate_record must be a row
type"
)));
if
(
PG_ARGISNULL
(
0
))
{
...
...
@@ -1581,7 +1581,7 @@ json_populate_recordset(PG_FUNCTION_ARGS)
if
(
!
type_is_rowtype
(
argtype
))
ereport
(
ERROR
,
(
errcode
(
ERRCODE_DATATYPE_MISMATCH
),
errmsg
(
"first argument
must be a row
type"
)));
errmsg
(
"first argument
of json_populate_recordset must be a row
type"
)));
rsi
=
(
ReturnSetInfo
*
)
fcinfo
->
resultinfo
;
...
...
src/test/regress/expected/json.out
View file @
072457b3
...
...
@@ -929,19 +929,19 @@ select json '{ "a": "\ud83d\ude04\ud83d\udc36" }' -> 'a' as correct_in_utf8;
select json '{ "a": "\ud83d\ud83d" }' -> 'a'; -- 2 high surrogates in a row
ERROR: invalid input syntax for type json
DETAIL:
high order surrogate must not follow a high order
surrogate.
DETAIL:
Unicode high surrogate must not follow a high
surrogate.
CONTEXT: JSON data, line 1: { "a":...
select json '{ "a": "\ude04\ud83d" }' -> 'a'; -- surrogates in wrong order
ERROR: invalid input syntax for type json
DETAIL:
low order surrogate must follow a high order
surrogate.
DETAIL:
Unicode low surrogate must follow a high
surrogate.
CONTEXT: JSON data, line 1: { "a":...
select json '{ "a": "\ud83dX" }' -> 'a'; -- orphan high surrogate
ERROR: invalid input syntax for type json
DETAIL:
low order surrogate must follow a high order
surrogate.
DETAIL:
Unicode low surrogate must follow a high
surrogate.
CONTEXT: JSON data, line 1: { "a":...
select json '{ "a": "\ude04X" }' -> 'a'; -- orphan low surrogate
ERROR: invalid input syntax for type json
DETAIL:
low order surrogate must follow a high order
surrogate.
DETAIL:
Unicode low surrogate must follow a high
surrogate.
CONTEXT: JSON data, line 1: { "a":...
--handling of simple unicode escapes
select json '{ "a": "the Copyright \u00a9 sign" }' ->> 'a' as correct_in_utf8;
...
...
src/test/regress/expected/json_1.out
View file @
072457b3
...
...
@@ -923,28 +923,28 @@ ERROR: cannot call json_populate_recordset on a nested object
-- handling of unicode surrogate pairs
select json '{ "a": "\ud83d\ude04\ud83d\udc36" }' -> 'a' as correct_in_utf8;
ERROR: invalid input syntax for type json
DETAIL: Unicode escape
for code points higher than U+007F not permitted in non-UTF8 encoding
DETAIL: Unicode escape
values cannot be used for code point values above 007F when the server encoding is not UTF8.
CONTEXT: JSON data, line 1: { "a":...
select json '{ "a": "\ud83d\ud83d" }' -> 'a'; -- 2 high surrogates in a row
ERROR: invalid input syntax for type json
DETAIL:
high order surrogate must not follow a high order
surrogate.
DETAIL:
Unicode high surrogate must not follow a high
surrogate.
CONTEXT: JSON data, line 1: { "a":...
select json '{ "a": "\ude04\ud83d" }' -> 'a'; -- surrogates in wrong order
ERROR: invalid input syntax for type json
DETAIL:
low order surrogate must follow a high order
surrogate.
DETAIL:
Unicode low surrogate must follow a high
surrogate.
CONTEXT: JSON data, line 1: { "a":...
select json '{ "a": "\ud83dX" }' -> 'a'; -- orphan high surrogate
ERROR: invalid input syntax for type json
DETAIL:
low order surrogate must follow a high order
surrogate.
DETAIL:
Unicode low surrogate must follow a high
surrogate.
CONTEXT: JSON data, line 1: { "a":...
select json '{ "a": "\ude04X" }' -> 'a'; -- orphan low surrogate
ERROR: invalid input syntax for type json
DETAIL:
low order surrogate must follow a high order
surrogate.
DETAIL:
Unicode low surrogate must follow a high
surrogate.
CONTEXT: JSON data, line 1: { "a":...
--handling of simple unicode escapes
select json '{ "a": "the Copyright \u00a9 sign" }' ->> 'a' as correct_in_utf8;
ERROR: invalid input syntax for type json
DETAIL: Unicode escape
for code points higher than U+007F not permitted in non-UTF8 encoding
DETAIL: Unicode escape
values cannot be used for code point values above 007F when the server encoding is not UTF8.
CONTEXT: JSON data, line 1: { "a":...
select json '{ "a": "dollar \u0024 character" }' ->> 'a' as correct_everywhere;
correct_everywhere
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment