From 33c031df4f37f83e049e006e945dd419fcba0632 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sat, 5 Sep 2020 13:54:45 +0200 Subject: [PATCH] Restore original 4.x behavior for initialization of function return name Closes gh-25707 --- .../jdbc/core/metadata/CallMetaDataContext.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataContext.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataContext.java index 0f456953f718..6c32de78db8a 100755 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataContext.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataContext.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 the original author or authors. + * Copyright 2002-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -172,7 +172,7 @@ public String getCatalogName() { } /** - * Secify the name of the schema. + * Specify the name of the schema. */ public void setSchemaName(@Nullable String schemaName) { this.schemaName = schemaName; @@ -354,7 +354,7 @@ protected List reconcileParameters(List parameters) logger.debug("Using declared out parameter '" + paramName + "' for function return value"); } - setFunctionReturnName(paramName); + this.actualFunctionReturnName = paramName; returnDeclared = true; } } @@ -362,8 +362,7 @@ protected List reconcileParameters(List parameters) } setOutParameterNames(outParamNames); - List workParams = new ArrayList<>(); - workParams.addAll(declaredReturnParams); + List workParams = new ArrayList<>(declaredReturnParams); if (!provider.isProcedureColumnMetaDataUsed()) { workParams.addAll(declaredParams.values()); return workParams; @@ -393,8 +392,8 @@ protected List reconcileParameters(List parameters) "Unable to locate declared parameter for function return value - " + " add a SqlOutParameter with name '" + getFunctionReturnName() + "'"); } - else if (paramName != null) { - setFunctionReturnName(paramName); + else { + this.actualFunctionReturnName = param.getName(); } } else { @@ -422,7 +421,7 @@ else if (paramName != null) { (StringUtils.hasLength(paramNameToUse) ? paramNameToUse : getFunctionReturnName()); workParams.add(provider.createDefaultOutParameter(returnNameToUse, meta)); if (isFunction()) { - setFunctionReturnName(returnNameToUse); + this.actualFunctionReturnName = returnNameToUse; outParamNames.add(returnNameToUse); } if (logger.isDebugEnabled()) {