函数ProcedureCreate内paramModes相关代码修正
This commit is contained in:
@ -1147,13 +1147,13 @@ Oid ProcedureCreate(const char* procedureName, Oid procNamespace, Oid propackage
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool existOutParam = false;
|
bool existOutParam = false;
|
||||||
if (allParameterTypes != PointerGetDatum(NULL)) {
|
if (allParameterTypes != PointerGetDatum(NULL) && paramModes != NULL) {
|
||||||
for (i = 0; i < allParamCount; i++) {
|
for (i = 0; i < allParamCount; i++) {
|
||||||
|
if (paramModes[i] == PROARGMODE_IN || paramModes[i] == PROARGMODE_VARIADIC)
|
||||||
|
continue; /* ignore input-only params */
|
||||||
if (paramModes[i] == PROARGMODE_OUT || paramModes[i] == PROARGMODE_INOUT) {
|
if (paramModes[i] == PROARGMODE_OUT || paramModes[i] == PROARGMODE_INOUT) {
|
||||||
existOutParam = true;
|
existOutParam = true;
|
||||||
}
|
}
|
||||||
if (paramModes == NULL || paramModes[i] == PROARGMODE_IN || paramModes[i] == PROARGMODE_VARIADIC)
|
|
||||||
continue; /* ignore input-only params */
|
|
||||||
|
|
||||||
switch (allParams[i]) {
|
switch (allParams[i]) {
|
||||||
case ANYARRAYOID:
|
case ANYARRAYOID:
|
||||||
|
Reference in New Issue
Block a user