mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-30 19:31:14 +02:00
Improve minor error-handling details in pltcl.
Don't ask Tcl_GetIndexFromObj to store an error message in the interpreter in cases where the next argument isn't necessarily one of the options we're asking it to check for. At best that is a waste of time, and at worst it might cause an inappropriate error result to get left behind. Be sure to check for valid syntax (ie, no command arguments) in pltcl_SPI_lastoid. Extracted from a larger and otherwise-unrelated patch. Jim Nasby Patch: <f2134651-14b3-efeb-f274-c69f3c084031@BlueTreble.com>
This commit is contained in:
parent
34ca090570
commit
1b00dd0ea0
@ -2138,7 +2138,7 @@ pltcl_SPI_execute(ClientData cdata, Tcl_Interp *interp,
|
||||
i = 1;
|
||||
while (i < objc)
|
||||
{
|
||||
if (Tcl_GetIndexFromObj(interp, objv[i], options, "option",
|
||||
if (Tcl_GetIndexFromObj(NULL, objv[i], options, NULL,
|
||||
TCL_EXACT, &optIndex) != TCL_OK)
|
||||
break;
|
||||
|
||||
@ -2484,7 +2484,7 @@ pltcl_SPI_execute_plan(ClientData cdata, Tcl_Interp *interp,
|
||||
i = 1;
|
||||
while (i < objc)
|
||||
{
|
||||
if (Tcl_GetIndexFromObj(interp, objv[i], options, "option",
|
||||
if (Tcl_GetIndexFromObj(NULL, objv[i], options, NULL,
|
||||
TCL_EXACT, &optIndex) != TCL_OK)
|
||||
break;
|
||||
|
||||
@ -2667,6 +2667,15 @@ static int
|
||||
pltcl_SPI_lastoid(ClientData cdata, Tcl_Interp *interp,
|
||||
int objc, Tcl_Obj *const objv[])
|
||||
{
|
||||
/*
|
||||
* Check call syntax
|
||||
*/
|
||||
if (objc != 1)
|
||||
{
|
||||
Tcl_WrongNumArgs(interp, 1, objv, "");
|
||||
return TCL_ERROR;
|
||||
}
|
||||
|
||||
Tcl_SetObjResult(interp, Tcl_NewWideIntObj(SPI_lastoid));
|
||||
return TCL_OK;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user