mirror of
https://github.com/postgres/postgres.git
synced 2025-07-08 11:42:09 +03:00
Add location field to DefElem
Add a location field to the DefElem struct, used to parse many utility commands. Update various error messages to supply error position information. To propogate the error position information in a more systematic way, create a ParseState in standard_ProcessUtility() and pass that to interested functions implementing the utility commands. This seems better than passing the query string and then reassembling a parse state ad hoc, which violates the encapsulation of the ParseState type. Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
This commit is contained in:
@ -1700,7 +1700,7 @@ deserialize_deflist(Datum txt)
|
||||
*wsptr++ = '\0';
|
||||
result = lappend(result,
|
||||
makeDefElem(pstrdup(workspace),
|
||||
(Node *) makeString(pstrdup(startvalue))));
|
||||
(Node *) makeString(pstrdup(startvalue)), -1));
|
||||
state = CS_WAITKEY;
|
||||
}
|
||||
}
|
||||
@ -1732,7 +1732,7 @@ deserialize_deflist(Datum txt)
|
||||
*wsptr++ = '\0';
|
||||
result = lappend(result,
|
||||
makeDefElem(pstrdup(workspace),
|
||||
(Node *) makeString(pstrdup(startvalue))));
|
||||
(Node *) makeString(pstrdup(startvalue)), -1));
|
||||
state = CS_WAITKEY;
|
||||
}
|
||||
}
|
||||
@ -1747,7 +1747,7 @@ deserialize_deflist(Datum txt)
|
||||
*wsptr++ = '\0';
|
||||
result = lappend(result,
|
||||
makeDefElem(pstrdup(workspace),
|
||||
(Node *) makeString(pstrdup(startvalue))));
|
||||
(Node *) makeString(pstrdup(startvalue)), -1));
|
||||
state = CS_WAITKEY;
|
||||
}
|
||||
else
|
||||
@ -1766,7 +1766,7 @@ deserialize_deflist(Datum txt)
|
||||
*wsptr++ = '\0';
|
||||
result = lappend(result,
|
||||
makeDefElem(pstrdup(workspace),
|
||||
(Node *) makeString(pstrdup(startvalue))));
|
||||
(Node *) makeString(pstrdup(startvalue)), -1));
|
||||
}
|
||||
else if (state != CS_WAITKEY)
|
||||
ereport(ERROR,
|
||||
|
Reference in New Issue
Block a user