Commit Graph

257 Commits

Author SHA1 Message Date
Juergen Hoeller 6573e9142c Polishing 2016-04-05 12:17:21 +02:00
Juergen Hoeller 797f5dbba6 StatementCreatorUtils handles Types.BOOLEAN through PreparedStatement.setBoolean
Issue: SPR-14116
2016-04-05 11:12:36 +02:00
Juergen Hoeller 517ebd1d3e Consistent formatting 2016-03-24 19:22:50 +01:00
Juergen Hoeller 0b1639d963 JdbcTemplate passes negative values other than -1 on to the driver (for MySQL's special values)
Issue: SPR-14028
2016-03-11 14:59:00 +01:00
Cory Klein 71cf7b4053 Fix typo
Closes gh-992
2016-03-09 08:53:47 +01:00
Juergen Hoeller 923534595c ScriptUtils.executeSqlScript logs SQLWarnings at debug level
Issue: SPR-13959
2016-02-18 17:37:22 +01:00
Stephane Nicoll 714ae2684c Support for global separator in JDBC namespace
Previously, if a database needs to be initialized with several scripts
and many (or all) use a custom separator, said separator must be repeated
for each script.

This commit introduces a `separator` property at the parent element level
that can be used to customize the default separator. This is available
for both the `initialize-database` and `embedded-database` elements.

Issue: SPR-13792
2016-01-18 16:09:07 +01:00
Juergen Hoeller e48ec4fcd3 StatementCreatorUtils always tries getParameterType on Oracle 12c driver
Issue: SPR-13825
2015-12-29 11:19:21 +01:00
Sam Brannen 5b3edcd9f9 Spring Cleaning in December
- Delete unused imports
- Delete unused code
- Clean up warnings
2015-12-17 20:27:33 +01:00
Stephane Nicoll 752d3c715a Initiate structure for 4.3 XSDs 2015-12-17 15:43:23 +01:00
Juergen Hoeller 78dad4cfc3 Jdbc4SqlXmlHandler returns null as documented (instead of throwing NPE)
Issue: SPR-13782
2015-12-09 16:09:11 +01:00
Juergen Hoeller 11806b9215 Class identity comparisons wherever possible (and further polishing)
Issue: SPR-12926
2015-12-09 12:28:09 +01:00
Juergen Hoeller d2ad2c3af8 StatementCreatorUtils detects Microsoft SQL Server driver 4.0 as well
Issue: SPR-13772
2015-12-07 17:37:52 +01:00
Juergen Hoeller e8a0ef0206 Polishing 2015-11-12 00:48:14 +01:00
Juergen Hoeller cc06183668 SimpleJdbcCall reliably throws exception on missing stored procedure
Issue: SPR-13669
2015-11-12 00:47:46 +01:00
Juergen Hoeller cca037a74d Polishing 2015-11-02 14:42:46 +01:00
Juergen Hoeller 6685c78cea Avoid NPE for anonymous SqlParameter in CallMetaDataContext
Issue: SPR-13628
2015-11-02 14:27:33 +01:00
Juergen Hoeller 81342f14d4 Declared JDBC operation compiled flag as volatile
Issue: SPR-13617
2015-10-28 14:28:32 +01:00
Juergen Hoeller 11d1f050e9 NamedParameterUtils skips Postgres-style ?? operator
Issue: SPR-13582
2015-10-26 22:47:12 +01:00
Tobias Stoeckmann ed4197febb Fix typo
Closes gh-887
2015-10-11 16:55:41 +02:00
Sam Brannen d5ee787e1e Migrate JUnit 3 tests to JUnit 4
This commit migrates all remaining tests from JUnit 3 to JUnit 4, with
the exception of Spring's legacy JUnit 3.8 based testing framework that
is still in use in the spring-orm module.

Issue: SPR-13514
2015-09-27 21:17:51 +02:00
Juergen Hoeller b23c23279b AbstractEmbeddedDatabaseConfigurer explicitly closes JDBC Connection on shutdown
Issue: SPR-13474
2015-09-21 20:42:50 +02:00
Sam Brannen 8af0151f1b Suppress recent deprecation warnings in tests 2015-08-27 17:57:50 +02:00
Sam Brannen abc805819f Polish Javadoc for EmbeddedDatabaseBuilder 2015-08-27 17:27:53 +02:00
Juergen Hoeller 5e43f9b88f Deprecate Commons DBCP 1.x support along with Commons Pool 1.x
Issue: SPR-12532
2015-08-27 12:37:21 +02:00
Juergen Hoeller 5f3559fbad Call statement support for SAP HANA
Issue: SPR-13381
2015-08-25 17:54:38 +02:00
Juergen Hoeller 35e1eca9e8 BeanPropertyRowMapper logs in case of no corresponding property as well
Issue: SPR-13323
2015-08-25 17:54:26 +02:00
Sam Brannen a43d78ea55 Suppress warnings in tests in spring-jdbc 2015-08-21 23:56:01 +02:00
Sam Brannen 9ab4062317 Clean up warnings in tests in spring-jdbc 2015-08-19 23:29:57 +02:00
Sam Brannen d54aab2338 Log connection URL for embedded databases
Prior to this commit, EmbeddedDatabaseFactory logged the name of an
embedded database just before it was created; however, the name alone
is not sufficient for connecting to the database via external tools
such as the H2 Web Console.

This commit updates EmbeddedDatabaseFactory to make it easier to
connect to embedded databases via external tools by logging the
complete connection URL for an embedded database as it's being created.
In addition, EmbeddedDatabaseFactory now logs when an embedded database
is being shut down.

Issue: SPR-13370
2015-08-19 22:22:11 +02:00
Sam Brannen 2025d5c35e Polish Javadoc and log messages for embedded databases 2015-08-19 21:44:07 +02:00
Kazuki Shimizu 93919204a1 Add missing @since tag
Issue: SPR-12801
2015-08-15 09:07:37 +02:00
Juergen Hoeller e0f012f32d Removal of redundant JdkVersion checks in the test suite
Issue: SPR-13312
2015-08-12 18:42:36 +02:00
Juergen Hoeller bec3b0fa1a Deprecate JdkVersion (for optimistic compatibility with newer JDK generations)
Issue: SPR-13312
2015-08-12 16:14:43 +02:00
Juergen Hoeller edd6e76b9f Polishing 2015-07-21 22:58:34 +02:00
Juergen Hoeller 2934256257 Polishing 2015-07-15 00:08:11 +02:00
ndebeiss 629bcb6599 Support single quotes nested in double quotes in SQL scripts
Some databases such as Oracle permit double quoted column aliases that
contain case-sensitive characters, single quotes, and other special
characters; however, prior to this commit, SqlScripts interpreted a
single quote nested within double quotes as the start of a string
literal resulting in improper parsing.

This commit addresses this issue by ensuring that double quoted strings
such as column aliases are properly parsed even when containing single
quotes.

Issue: SPR-13218
2015-07-14 15:01:01 +03:00
Juergen Hoeller e0329306df JdbcTemplate's queryForObject allows for specifying primitive types as well
Issue: SPR-13220
2015-07-13 21:30:57 +02:00
Juergen Hoeller 41b58584ea BeanPropertyRowMapper uses US locale for lower-case conversion by default
Issue: SPR-13216
2015-07-13 14:59:43 +02:00
Sam Brannen 6c530b7bfb Delete trailing whitespace in XML files 2015-06-19 17:14:10 +02:00
Juergen Hoeller b4095c3e1d Class identity comparisons wherever possible
Issue: SPR-12926
2015-05-20 14:34:16 +02:00
Stephane Nicoll 8dec8823fb Allow parameter name binding for SimpleJdbcCall
Update SimpleJdbcCall to offer a way to use named parameters binding
instead of the simple `?` binding it offers thus far.

Issue: SPR-12801
2015-05-15 09:54:03 +02:00
Juergen Hoeller 00147379f9 Polishing
(cherry picked from commit 9e925aa)
2015-05-11 22:22:23 +02:00
Sam Brannen 4f8ef80342 Update doc for resultsMapCaseInsensitive flag in JdbcTemplate
Issue: SPR-12979
2015-05-05 14:43:32 +02:00
Juergen Hoeller cddcf3637d Polishing 2015-04-16 21:54:03 +02:00
Juergen Hoeller 050e581c10 StatementCreatorUtils.setValue only uses setString etc for Types.OTHER in case of Oracle
Issue: SPR-12890
2015-04-16 21:53:51 +02:00
Sam Brannen 1226596b8b Document connection handling in ScriptUtils
This commit improves the documentation for ScriptUtils by explicitly
mentioning that a JDBC Connection supplied to the one of the
executeSqlScript() methods will not be released automatically.

Issue: SPR-12908
2015-04-14 23:00:43 +02:00
Sam Brannen c0fbe0ae5a Support unique names for embedded databases
Development teams often encounter errors with embedded databases if
their test suite inadvertently attempts to recreate additional
instances of the same database. This can happen quite easily if an XML
configuration file or @Configuration class is responsible for creating
an embedded database and the corresponding configuration is then reused
across multiple testing scenarios within the same test suite (i.e.,
within the same JVM process) -- for example, integration tests against
embedded databases whose ApplicationContext configuration only differs
with regard to which bean definition profiles are active.

The root cause of such errors is the fact that Spring's
EmbeddedDatabaseFactory (used internally by both the
<jdbc:embedded-database> XML namespace element and the
EmbeddedDatabaseBuilder for Java Config) will set the name of the
embedded database to "testdb" if not otherwise specified. For the case
of <jdbc:embedded-database>, the embedded database is typically
assigned a name equal to the bean's id. Thus, subsequent attempts to
create an embedded database will not result in a new database. Instead,
the same JDBC connection URL will be reused, and attempts to create a
new embedded database will actually point to an existing embedded
database created from the same configuration.

This commit addresses this common issue by introducing support for
generating unique names for embedded databases. This support can be
enabled via:

 - EmbeddedDatabaseFactory.setGenerateUniqueDatabaseName()

 - EmbeddedDatabaseBuilder.generateUniqueName()

 - <jdbc:embedded-database generate-name="true" ... >

Issue: SPR-8849
2015-03-21 00:21:59 +01:00
Sam Brannen c36c6cbfaa Introduce database-name in <jdbc:embedded-database>
Prior to this commit, the EmbeddedDatabaseBeanDefinitionParser set the
name of the embedded database that it configured to the value of its
'id'. This made it impossible to assign unique names to embedded
databases if the same bean 'id' (e.g, 'dataSource') was used across
multiple application contexts loaded within the same JVM, which is
often the case within an integration test suite. In contrast, the
EmbeddedDatabaseBuilder already provides support for setting the name
in Java Config. Thus there is a disconnect between XML and Java
configuration.

This commit addresses this issue by introducing a 'database-name'
attribute in <jdbc:embedded-database />. This allows developers to set
unique names for embedded databases -- for example, via a SpEL
expression or a property placeholder that is influenced by the current
active bean definition profiles.

Issue: SPR-12835
2015-03-20 16:42:04 +01:00
Sam Brannen 7e2f12cf9f Allow <jdbc:embedded-database> to be declared w/o id
This commit modifies EmbeddedDatabaseBeanDefinitionParser so that the
<jdbc:embedded-database> XML namespace element can be declared as an
anonymous bean (i.e., without an explicit ID).

Issue: SPR-12834
2015-03-20 15:48:04 +01:00