Juergen Hoeller
0a7dcf14f9
Deprecate ReflectionUtils.invokeJdbcMethod (for removal in 5.2)
...
Issue: SPR-17464
2018-11-05 12:26:20 +01:00
Juergen Hoeller
65ca7f4909
Polishing
2018-09-18 17:19:37 +02:00
anton0xf
0204b082b1
Fix jdbc template error messages generation
2018-09-18 17:17:47 +02:00
Juergen Hoeller
51f7a3e40f
Polishing
2018-09-17 14:26:56 +02:00
Juergen Hoeller
34663300a6
Avoid regex pattern matching for simple String replacement steps
...
Issue: SPR-17279
2018-09-17 14:22:19 +02:00
Juergen Hoeller
78cad0fdd3
HibernateTransactionManager lazily acquires JDBC Connection
...
Aligned with HibernateJpaDialect, using ConnectionHandle as functional interface now. Also, LazyConnectionDataSourceProxy supports Connection holdability as applied by HibernateTransactionManager, for use with prepareConnection=true.
Issue: SPR-17216
2018-08-31 12:40:04 +02:00
JungHoon, Lee
1dac0df38b
Prevent instantiation of NamedParameterBatchUpdateUtils
...
In order to prevent instantiation of utility classes, this commit
makes NamedParameterBatchUpdateUtils `abstract`.
Issue: SPR-17215
2018-08-27 15:35:00 +02:00
Juergen Hoeller
84300b796c
Fix recent javadoc errors
...
Issue: SPR-17174
2018-08-16 18:51:31 +02:00
Sam Brannen
bdac39150f
Polish contribution
...
Issue: SPR-17120
2018-08-13 14:40:04 +02:00
Chris Harding
24ed6de6aa
Add backslash escape support to containsSqlScriptDelimiters
...
Prior to this commit, ScriptUtils supported MySQL-style escapes ('\\')
when splitting a script into statements; however, MySQL-style escapes
were not supported when determining if a given script contained a
specified statement delimiter. This caused executeSqlScript() to
erroneously fallback to a newline as the statement separator in such
cases.
This commit fixes this issue by implementing the same check for
MySQL-style escapes in containsSqlScriptDelimiters() that was already
present in splitSqlScript().
Issue: SPR-17120
2018-08-13 14:40:04 +02:00
Juergen Hoeller
58e9706991
Polishing
2018-08-09 02:26:36 +02:00
Sam Brannen
7077af14f1
Use Float.valueOf(float) instead of deprecated Float(double) constructor
2018-08-08 17:19:15 +02:00
Kazuhiro Sera
be211ceead
Fix typos detected by github.com/client9/misspell
2018-08-08 12:50:46 +02:00
Juergen Hoeller
b325c74216
Pruning of outdated JDK 6/7 references (plus related polishing)
2018-08-07 20:36:47 +02:00
Juergen Hoeller
4a147d26fc
Initialize pre-filled HashMaps with large enough capacity
...
Empty Maps are preferably initialized without capacity (not initializing them at all or lazily initializing with default capacity when needed).
Issue: SPR-17105
2018-07-30 22:07:31 +02:00
stsypanov
457d586859
SPR-17074 pass argument of addAll/putAll into constructor
2018-07-30 21:27:55 +02:00
Johnny Lim
38525ceff6
Fix log level guard in DatabaseStartupValidator.afterPropertiesSet()
2018-07-26 15:45:42 +02:00
Johnny Lim
964467d269
Polish DatabaseStartupValidator.afterPropertiesSet()
2018-07-26 15:37:35 +02:00
Juergen Hoeller
9a43d2ec20
Revised log levels: less WARN and INFO, fine-tuned DEBUG vs TRACE
...
Issue: SPR-16946
2018-07-20 15:05:16 +02:00
Juergen Hoeller
9c08a482d1
Prefer ArrayList/ArrayDeque over LinkedList for multi-element holders
...
LinkedList remains in place where a List is likely to remain empty or single-element (in order to avoid unused capacity).
Issue: SPR-17037
2018-07-18 22:17:42 +02:00
Juergen Hoeller
a80c5121fe
Polishing
2018-07-09 15:53:44 +02:00
Juergen Hoeller
63d6215247
Polishing
2018-07-04 19:23:27 +02:00
Juergen Hoeller
5dc8b5de6d
Polishing
2018-07-04 15:07:17 +02:00
Juergen Hoeller
4ff1e3e74b
Consistent abstract declaration for utility classes (plus polishing)
...
Issue: SPR-16968
2018-07-01 02:31:20 +02:00
Phillip Webb
a89e716cc7
Use tabs rather than spaces in tests
...
Update tests to ensure that tabs are used instead of spaces. Also
consistently apply a new line at the end of each file.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
1c25cec44f
Polish test code
...
Polish a few issue identified when adding checkstyle to the
build. Although checkstyle is not enforcing rules on tests,
these are a few minor changes that are still worth making.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
81451aa800
Organize imports
...
Reorganize imports to ensure consistent ordering. This commit also
expands any `.*` static imports in favor of using fully-qualified
method references.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
5cedd0d5d4
Consistently use tabs rather than spaces
...
Update code that has accidentally used spaces instead of tabs.
Also remove all trailing whitespace.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
0b53c1096a
Always use 'this.' when accessing fields
...
Ensure that `this.` is used consistently when accessing class
fields.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
eeebd51f57
Use consistent class design
...
Update all classes so that inner classes are always last. Also
ensure that utility classes are always final and have a private
constructor and make exceptions final whenever possible.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
866e9d702e
Use consistent block style
...
Update all code to use a consistent block style.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
e0480f75ac
Fix javadoc checkstyle issues
...
Fix checkstyle violations for javadoc.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Juergen Hoeller
7bce7504c7
JdbcTemplate consistently exposes first value of equally named columns
...
Issue: SPR-16578
2018-06-11 14:17:03 +02:00
Juergen Hoeller
25559b9e44
Polishing
2018-06-06 21:31:24 +02:00
Juergen Hoeller
0941081b0a
Upgrade to HSQLDB 2.4.1, Derby 10.14.2.0, HtmlUnit 2.31, Selenium 3.12
2018-06-06 21:24:53 +02:00
Juergen Hoeller
d9c63182d9
MapSqlParameterSource.addValue declares nullable value parameter
...
Issue: SPR-16843
2018-05-18 22:20:29 +02:00
nkjackzhang
a1fa0daad5
Fix a typo in javadoc
...
Closes gh-1824
2018-05-10 17:32:21 +02:00
Johnny Lim
fb898e1727
Remove inconsistent spaces
2018-05-05 11:07:35 +02:00
Johnny Lim
8f21cb1a7c
Polish DatabaseStartupValidator
2018-05-05 11:07:20 +02:00
Juergen Hoeller
e170cb0f79
Upgrade framework build to JPA 2.2 and JTA 1.3
...
Issue: SPR-16685
2018-04-11 16:06:10 +02:00
Juergen Hoeller
ff53d78e96
Remove bogus DataSource test from JpaTransactionManagerTests
2018-04-10 00:40:51 +02:00
Juergen Hoeller
475c4d4425
Polishing
2018-04-03 12:24:00 +02:00
Juergen Hoeller
0bc01fcd55
Polishing
2018-03-30 13:42:23 +02:00
Johnny Lim
8dd0974e2f
Rename SingleColumnRowMapperTest to align with the other tests
2018-03-30 12:28:16 +02:00
Juergen Hoeller
9a722b4558
Pass type name into PreparedStatement.setNull in case of Types.OTHER
...
Issue: SPR-16669
2018-03-29 23:43:53 +02:00
nkjackzhang
82cb5dbf2b
NamedParameterUtils.parseSqlStatement should parse :{x} style parameter correctly
...
In my opinion, we should parse ":{x}" style parameter as "x" is parameter using "NamedParameterUtils.parseSqlStatement",
so the condition "j - i > 2" is the correct condition, not "j - i > 3", because if "i" is the index of
":" in ":{x}", and "j" is the index of "}" in ":{x}", "j - i == 3" is true.
Also add a test case for SPR-16663.
2018-03-29 15:00:25 +02:00
Juergen Hoeller
b2d87abcbb
Polishing
2018-03-28 12:06:38 +02:00
Juergen Hoeller
e3d0ef6015
Use Map.forEach instead of manual Map.Entry iteration wherever possible
...
Issue: SPR-16646
2018-03-27 00:38:32 +02:00
Juergen Hoeller
c441d60d1d
Upgrade to Kotlin 1.2.31 and RxJava 2.1.12
...
Includes H2 1.4.197 and Selenium HtmlUnit Driver 2.29.3 as well.
2018-03-24 16:48:53 +01:00
Juergen Hoeller
702b27e1e4
Polishing
2018-03-19 12:05:04 +01:00
Juergen Hoeller
2c7efbb9d0
Deprecate TableMetaDataContext.getSimulationQueryForGetGeneratedKey
2018-03-19 12:04:51 +01:00
Juergen Hoeller
b7c423813d
CallMetaDataContext handles 'procedureColumnResult' as return parameter
...
Issue: SPR-16611
2018-03-19 12:04:15 +01:00
Juergen Hoeller
4fef1fe820
Polishing
2018-03-16 18:49:12 +01:00
igor-suhorukov
2f9d0a7de8
simplify boolean NOT operation
2018-03-08 23:44:15 +01:00
igor-suhorukov
32b689a994
use StringBuilder for complex string concatenation
2018-03-08 21:25:47 +01:00
igor-suhorukov
407ecf7334
to get rid of "magic" time constants
2018-03-08 20:37:48 +01:00
Juergen Hoeller
50253f670e
Quick access to volatile field (full synchronization only for lazy init)
...
Issue: SPR-16570
2018-03-08 18:13:00 +01:00
Juergen Hoeller
139dc1d373
Polishing (collapsed if checks, consistent downcasts, refined javadoc)
2018-03-08 18:11:57 +01:00
igor-suhorukov
0f7485b01d
Polish: reorder the modifiers to comply with the Java Language Specification.
2018-03-08 17:57:47 +01:00
Juergen Hoeller
20287e0cb0
Polishing
2018-03-07 17:09:09 +01:00
Juergen Hoeller
82515a3f01
Consistent incrementer arrangement for PostgreSQL, DB2 and SAP HANA
...
Includes related polishing in core.metadata and datasource.embedded and a revision of the corresponding database definitions in sql-error-codes.
Issue: SPR-16558
2018-03-06 13:36:15 +01:00
Juergen Hoeller
4a4f2c2f08
Drop version check in isGetGeneratedKeysSimulated (for PostgreSQL 10)
...
Issue: SPR-16556
2018-03-06 13:31:26 +01:00
igor-suhorukov
49fd724d8f
Polish: String function use should be optimized for single characters
2018-02-25 20:48:47 +01:00
Juergen Hoeller
3732032ee4
Customizable PreparedStatementCreator in NamedParameterJdbcTemplate
...
Issue: SPR-16050
2018-02-25 18:23:00 +01:00
igor-suhorukov
c782075a13
Polish: Array designators "[]" should be on the type, not the variable
2018-02-25 13:14:20 +01:00
Juergen Hoeller
a5cbf5fe24
Consistent use of Collection.toArray with zero-sized array argument
...
Includes consistent use of ClassUtils.toClassArray (as non-null variant)
Issue: SPR-16523
2018-02-22 11:29:46 +01:00
Juergen Hoeller
d7cab23e6d
Consistent use of StringUtils.toStringArray
...
(cherry picked from commit 6d11b40 )
2018-02-16 20:49:17 +01:00
Juergen Hoeller
8d3264f680
Prefer List.sort(Comparator) over Collections.sort(List, Comparator)
2018-02-16 10:23:18 +01:00
Juergen Hoeller
3b810f3544
Consistent Class array vs vararg declarations (and related polishing)
2018-02-14 14:44:00 +01:00
Juergen Hoeller
766e6028d7
Defensively handle DatabaseMetaData.getConnection() returning null
...
Issue: SPR-16495
2018-02-14 14:40:52 +01:00
Kazuki Shimizu
8c623c8a42
Supports ConversionService on SingleColumnRowMapper
...
Issue: SPR-16483
2018-02-11 22:36:50 +01:00
igor-suhorukov
0ee505b73e
Polish: assertion arguments should be passed in the correct order,
...
use assertNull instead of assertEquals(null, value),
declare delta as double value in assertEquals
2018-02-10 17:17:28 +01:00
igor-suhorukov
9a6fbf59c5
Polish: follow name convention - make immutable fields final
2018-02-10 12:09:19 +01:00
Juergen Hoeller
fc93f99f53
Relaxed procedure existence check on Oracle (for non-exposed synonyms)
...
Issue: SPR-16478
2018-02-09 13:30:31 +01:00
Stephane Nicoll
991eb4858e
Update copyright header
2018-02-09 10:16:58 +01:00
igor-suhorukov
e381514b07
Collection.isEmpty() should be used to test for emptiness
...
Closes gh-1670
2018-02-09 10:11:44 +01:00
Juergen Hoeller
ac7a699356
NamedParameterUtils.isParameterSeparator checks for non-ASCII characters
...
Issue: SPR-16472
2018-02-07 14:10:39 +01:00
Johnny Lim
df3241e072
Polish SqlParameter.sqlTypesToAnonymousParameterList()
...
Closes gh-1657
2018-02-01 09:14:56 +01:00
Juergen Hoeller
9d0e62ef68
Javadoc format and related polishing
2018-01-22 11:43:21 +01:00
Juergen Hoeller
572c668726
Polishing
2018-01-19 21:30:37 +01:00
Juergen Hoeller
44fd2d96cc
Restore original separator set (but keep new isParameterSeparator impl)
...
Issue: SPR-16340
2018-01-14 17:57:32 +01:00
Philippe Marschall
91e39d558f
Use ArrayList instead of LinkedList for known size
...
Spring JDBC unlike other modules uses LinkedList instead of ArrayList
in several places. There is a large body of evidence suggesting that on
contemporary hardware ArrayList is both faster and has less overhead
than even in degenerate cases of empty lists [3] or unknown size.
There are two places in Spring JDBC where the size of the list is known
in advance and an ArrayList of the correct final size can be created
[1] https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8011200
[2] http://cliffc.org/blog/2017/11/05/modern-hardware-performance-cache-lines/
[3] https://bugs.openjdk.java.net/browse/JDK-8011200
Issue: SPR-16378
2018-01-14 17:45:32 +01:00
Juergen Hoeller
c8bdb3c602
Polishing
2018-01-09 22:20:22 +01:00
Juergen Hoeller
e43439c6c3
SqlParameterSource interface exposes parameter names
...
Includes default implementations of getSqlType and getTypeName.
Issue: SPR-16361
2018-01-09 22:19:46 +01:00
Juergen Hoeller
b2322e58d9
Support for PostgreSQL array syntax
...
Includes efficient separator determination.
Issue: SPR-16340
2018-01-09 22:19:05 +01:00
Christoph Dreis
260ebeca3a
Improve performance of some string operations
...
Issue: SPR-16293
2017-12-12 17:14:24 +01:00
Juergen Hoeller
b55a2631ba
NamedParameterJdbcTemplate provides accessor for classic JdbcTemplate
...
Issue: SPR-16241
2017-11-29 15:38:21 +01:00
Juergen Hoeller
b1c657fa4b
Consistent nullability in DataAccessUtils through nullableSingleResult
...
Issue: SPR-16225
2017-11-26 17:16:39 +01:00
sdeleuze
9f1d8517ba
Polish Kotlin source code style
2017-11-21 15:59:23 +01:00
Juergen Hoeller
a8b48848b9
SqlParameterSourceUtils.createBatch with Collection support
...
Issue: SPR-16215
2017-11-19 21:17:24 +01:00
benoit
667e0341fa
Improve memory allocations when substituting named parameters.
...
Create the buffer with at least the original sql length to avoid
multiple re-allocations
Add a fast path if the original sql doesn't contain any parameters
2017-11-08 23:45:53 +01:00
Juergen Hoeller
db050ac38c
Polishing
2017-11-04 01:07:09 +01:00
jmaxwell
e4c5b77de7
SPR-16154 - Correctly handle NVARCHAR, LONGNVARCHAR and NCLOBs
2017-11-03 14:49:32 -05:00
Juergen Hoeller
ee7b928300
Upgrade to Derby 10.14.1.0
2017-10-26 21:26:31 +02:00
Juergen Hoeller
75bd516251
Refined TemporaryLobCreator null handling (from 4.3.x)
...
Issue: SPR-15656
2017-09-27 15:40:13 +02:00
Juergen Hoeller
9190b76ab9
Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine 2.5.6, RxJava 2.1.4, Tomcat 8.5.21, JRuby 9.1.13, Rhino 1.7.7.2)
2017-09-23 11:28:19 +02:00
Juergen Hoeller
7ae59d0c2a
Nullability refinements on private and static methods
...
Based on IntelliJ IDEA 2017.3 introspection results.
Issue: SPR-15756
2017-09-22 18:22:14 +02:00
Juergen Hoeller
215e5f5682
Defensively call getParameterType (which might fail for certain statements)
...
Issue: SPR-15977
2017-09-20 10:54:49 +02:00
Sebastien Deleuze
1bc93e3d0f
Revisit nullability annotations
...
This commit introduces the following changes.
1) It adds a new Spring @NonNull annotation which allows to apply
@NonNullApi semantic on a specific element, like @Nullable does.
Combined with @Nullable, it allows partial null-safety support when
package granularity is too broad.
2) @Nullable and @NonNull can apply to ElementType.TYPE_USE in order
to be used on generic type arguments (SPR-15942).
3) Annotations does not apply to ElementType.TYPE_PARAMETER anymore
since it is not supported yet (applicability for such use case is
controversial and need to be discussed).
4) @NonNullApi does not apply to ElementType.FIELD anymore since in a
lot of use cases (private, protected) it is not part for the public API
+ its usage should remain opt-in. A dedicated @NonNullFields annotation
has been added in order to set fields default to non-nullable.
5) Updated Javadoc and reference documentation.
Issue: SPR-15756
2017-09-15 13:26:41 +02:00
Sam Brannen
4e81ee5fdf
Verify support for H2 database aliases in SQL scripts
...
This commit introduces a test to demonstrate how to define an alias in
an SQL script executed against an embedded H2 database.
Issue: SPR-15896
2017-08-26 15:04:48 +01:00