Issue 1:
Steve Barham opened SPR-6269 and commented

JdbcUtils#commonDatabaseName uses a number of hardcoded database product names to identify Sybase.

public static String commonDatabaseName(String source) {

String name = source;

if (source != null && source.startsWith("DB2")) {

name = "DB2";

}

else if ("Sybase SQL Server".equals(source) ||

"Adaptive Server Enterprise".equals(source) || "sql server".equals(source) ) {

name = "Sybase";

}

return name;

}

Unfortunately, when using JTDS 1.2.4 against a Sybase 15.0.3 server, JtdsDatabaseMetadata will (for some server configurations) return 'ASE' rather than 'sql server'.

This has knock on implications, most notably in this case in CallMetaDataProviderFactory, which uses the common database name to determine which meta data provider to use:

else if ("Sybase".equals(databaseProductName)) {

provider = new SybaseCallMetaDataProvider((databaseMetaData));

}

The net result of this is that a generic provider is used rather than a Sybase provider. The generic provider does not function correctly with at least one stored procedure in one of our applications, which results in no parameters being passed to the server.

The proposed change would be to introduce 'ASE' alongside the existing Sybase product name checks in JdbcUtils, so that it is identified correctly as Sybase.

Affects: 2.5.6

Issue Links:

#10722 Cannot retrieve database metadata for Sybase ("duplicates")

Issue 2:
Jorg Heymans opened SPR-2441 and commented

I raised the issue here (http://forum.springframework.org/showthread.php?t=28170), but nobody seems to have picked it up.

This configuration worked fine in 2.0-RC2 (and 1.2.x for that matter)

<bean id="advisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">

<property name="advice">

<ref bean="interceptor" />

</property>

<property name="patterns">

<list>

<value>.save.</value>

<value>.do.</value>

<value>.delete.</value>

</list>

</property>

</bean>

When upgrading to 2.0-RC3 i get following exception:

2006-08-17 09:12:47,129 ERROR [org.springframework.web.context.ContextLoader] - Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'advisor' defined in class path resource [service.xml]: Instantiation of bean failed; nested exception is java.lang.IllegalArgumentException: 'patterns' cannot be null or empty.

Caused by:

java.lang.IllegalArgumentException: 'patterns' cannot be null or empty.

at org.springframework.util.Assert.notEmpty(Assert.java:214)

at org.springframework.aop.support.AbstractRegexpMethodPointcut.setPatterns(AbstractRegexpMethodPointcut.java:82)

at org.springframework.aop.support.RegexpMethodPointcutAdvisor.getPointcut(RegexpMethodPointcutAdvisor.java:150)

at org.springframework.aop.support.AbstractPointcutAdvisor.toString(AbstractPointcutAdvisor.java:71)

at java.lang.String.valueOf(String.java:2131)

at java.lang.StringBuffer.append(StringBuffer.java:370)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:383)

If you need more information or if there is anything i can do to help debugging this let me know.

Affects: 2.0 RC3

Issue Links:

#7172 IllegalArgumentException from RegexpMethodPointcutAdvisor initialization when using DEBUG log level ("is duplicated by")