<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=oefimov" rel="nofollow">Oleg Efimov</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-6965?redirect=false" rel="nofollow">SPR-6965</a></strong> and commented</p>
<p dir="auto">When trying to use Spring JDBC classes with Sybase through WebLogic JDBC driver, you get exception like "SQL Server is not one of the databases fully supported for procedure calls...".</p>
<p dir="auto">Research shows that WebLogic driver returns "SQL Server" to "getDatabaseProductName" metadata call, unlike JConnect driver which returns "Sybase SQL Server". I also found corresponding issue CR120330 in <a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs81/notes/issues.html" rel="nofollow">documentation</a>.</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 2.5.6</p>
<p dir="auto"><strong>Issue Links:</strong></p>
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398097161" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/10722" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/10722/hovercard" href="https://github.com/spring-projects/spring-framework/issues/10722">#10722</a> Cannot retrieve database metadata for Sybase (<em><strong>"duplicates"</strong></em>)</li>
</ul>
<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=cbeams" rel="nofollow">Chris Beams</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-4200?redirect=false" rel="nofollow">SPR-4200</a></strong> and commented</p>
<p dir="auto">The implementation of AbstractBeanFactory#containsBean() first checks to see if the bean is defined locally, and if not checks factory ancestry.  The local check logic is identical to that implemented in #containsLocalBean(), and so can be eliminated and replaced with a call to that method.</p>
<p dir="auto">Patch is attached and inline below.  It's a very minor change, but does eliminate some duplicate code and help the user understand what's going on.</p>
<p dir="auto">Index: ./src/org/springframework/beans/factory/support/AbstractBeanFactory.java</p>
<hr>
<p dir="auto">RCS file: /cvsroot/springframework/spring/src/org/springframework/beans/factory/support/AbstractBeanFactory.java,v<br>
retrieving revision 1.194<br>
diff -r1.194 AbstractBeanFactory.java<br>
315,317c315,316<br>
&lt;               String beanName = transformedBeanName(name);<br>
&lt;               if (containsSingleton(beanName) || containsBeanDefinition(beanName)) {<br>
&lt;                       return (!BeanFactoryUtils.isFactoryDereference(name) || isFactoryBean(name));<br>
—</p>
<blockquote>
<p dir="auto">if (containsLocalBean(name)) {<br>
return true;</p>
</blockquote>
<hr>
<p dir="auto"><strong>Affects:</strong> 2.5 final</p>
<p dir="auto"><strong>Attachments:</strong></p>
<ul dir="auto">
<li><a href="https://jira.spring.io/secure/attachment/13171/patch.diff" rel="nofollow">patch.diff</a> (<em>607 bytes</em>)</li>
</ul>