Commit Graph

1625 Commits

Author SHA1 Message Date
Lukas Eder
6dcfca391b [#2665] Add a DefaultVisitListener implementation for convenience 2013-08-05 12:05:37 +02:00
Lukas Eder
9a4b4a00ff [#2010] Add a DefaultRecordListener implementation for convenience 2013-08-05 12:04:38 +02:00
Lukas Eder
1e5e4f5bf0 [#2665] [#2667] [#2676] First API and implementation draft
* [#2665] Implement SPI for RenderContext and BindContext listening to
allow for custom SQL transformation
* [#2667] Add org.jooq.Clause and let org.jooq.Context listen on
start(Clause) and end(Clause) events - First API and implementation
draft
* [#2676] Add QueryPartInternal.clause() to allow for QueryParts to
return Clause information to org.jooq.Context
2013-08-02 19:40:15 +02:00
Lukas Eder
76559c9cb8 Fixed Javadoc 2013-08-01 16:44:13 +02:00
Lukas Eder
33361455c5 [#2666] Pull up RenderContext.sql(QueryPart) and
BindContext.bind(QueryPart) to Context.visit(QueryPart)
2013-08-01 15:32:25 +02:00
Lukas Eder
a716f33675 [#2662] Deprecate also implementation method 2013-07-31 16:50:56 +02:00
Lukas Eder
867dc04594 [#2662] Deprecate the internal method DSLContext.bind(QueryPart,
PreparedStatement)
2013-07-31 16:49:52 +02:00
Lukas Eder
637488a5ec [#2010] Add listener API to Record / UpdatableRecord - First API draft 2013-07-31 11:44:43 +02:00
Lukas Eder
baa109d32e Fixed Javadoc: Removed reference to obsolete term "main unique key" 2013-07-31 11:44:09 +02:00
Lukas Eder
bb496f662b Removed confusing Javadoc message 2013-07-31 11:03:20 +02:00
Lukas Eder
83d9fe33a9 [#2626] Hide current Template implementation from public. This may not
make it into jOOQ 3.2
2013-07-30 16:58:47 +02:00
Lukas Eder
382301519b Replaced bad nbsp characters 2013-07-11 14:57:51 +02:00
Lukas Eder
a768462811 Javadoc fix 2013-07-11 00:32:48 +02:00
Lukas Eder
1798c7afe1 [#2626] Add org.jooq.Template for custom SQL templating
And also:
* [#2630] Add DSL.queryPart(String, Object...) and similar methods to
create simple plain SQL query parts
2013-07-10 16:39:28 +02:00
Lukas Eder
53258e02d1 [#2542] Add a Keyword type and DSL.keyword(String) to construct it 2013-07-04 12:37:21 +02:00
Lukas Eder
5787a77808 Javadoc fix 2013-07-04 12:18:56 +02:00
Lukas Eder
690a17277d [#1079] Add support for Oracle's FLASHBACK QUERY clause 2013-07-04 12:16:32 +02:00
Lukas Eder
80a107ca99 Reorganised methods in org.jooq.Table 2013-07-04 10:52:46 +02:00
Lukas Eder
604a73b7b8 [#2606] Distinguish ORACLE10G, ORACLE11G, ORACLE12C SQLDialects within
the ORACLE family
2013-07-04 10:49:07 +02:00
Lukas Eder
297db8be93 [#2581] Deprecate fetchLater() and FutureResult<R> 2013-07-04 09:39:10 +02:00
Lukas Eder
723c787ca9 [#2492] Fixed MS Access identifier quoting 2013-07-03 16:52:01 +02:00
Lukas Eder
419c3e21a3 Fixed formatting 2013-07-03 16:14:43 +02:00
Lukas Eder
088160e24d [#2593] Add Meta.getPrimaryKeys() 2013-07-02 21:59:41 +02:00
Lukas Eder
e25b92d711 [#2492] Add support for the MS Access database - Initial setup 2013-07-02 21:26:47 +02:00
Lukas Eder
8d45dc035a [#2586] Bad SQL dialect referenced from CUBRID's package-info.java 2013-07-02 20:54:19 +02:00
Lukas Eder
c59bfba377 [#2586] Bad SQL dialect referenced from ASE's package-info.java 2013-07-02 20:53:33 +02:00
Lukas Eder
2932e5855a Javadoc fixes 2013-07-02 19:47:41 +02:00
Lukas Eder
9c2e8d4373 [#1903] Duplicate Query construction API between DSLContext and DSL 2013-07-02 19:47:23 +02:00
Lukas Eder
c5a1114ccd Minor Javadoc improvements 2013-07-02 19:10:19 +02:00
Lukas Eder
66c71583f3 Release 3.2.0-SNAPSHOT 2013-07-02 10:52:33 +02:00
Lukas Eder
5827083e4e Release 3.1.0 2013-06-30 15:55:46 +02:00
Lukas Eder
4fd408c5e2 [#2464] Fixed this also for the instance table model 2013-06-30 15:54:03 +02:00
Lukas Eder
9dd5793e47 [#963] Fixed SQL Server's TINYINT data type 2013-06-30 14:01:35 +02:00
Lukas Eder
3c09edf60a [#963] Fixed SQL Server's TINYINT data type 2013-06-30 13:53:28 +02:00
Lukas Eder
f3df95de3e [#552] Fixed DefaultDataType's type lookup for casting 2013-06-30 13:53:08 +02:00
Lukas Eder
d74988011f Ignore unreliable Eclipse resource leaks warnings 2013-06-30 13:18:57 +02:00
Lukas Eder
5997d071b2 [#2470] Improved Javadoc to explain store(), insert(), and update()
behaviour with respect to changed() flags
2013-06-29 18:52:25 +02:00
Lukas Eder
25f03028a5 [#2569] Error when rendering SQL Server procedures with
Settings.renderSchema == false
2013-06-29 18:19:44 +02:00
Lukas Eder
982e3c3107 [#2311] [#2571] Add Configuration.recordMapperProvider() to override
jOOQ's internal default ReflectionMapper

* [#2311] Add Configuration.recordMapperProvider() to override jOOQ's
internal default ReflectionMapper
* [#2571] Add a new RecordType<R extends Record> type to make up for the
missing recursive type definition on Record
2013-06-29 18:02:17 +02:00
Lukas Eder
0f725a9f14 Fixed some warnings 2013-06-29 16:18:48 +02:00
Lukas Eder
fc54860099 [#2058] Add support for the MariaDB database 2013-06-28 13:34:35 +02:00
Lukas Eder
3f649f9de1 [#2562] Bad SQLDialect reference in Oracle and MySQL package-info.java 2013-06-28 12:31:59 +02:00
Lukas Eder
bcc3bf30c3 [#2562] Bad SQLDialect reference in MySQL package-info.java 2013-06-28 12:31:03 +02:00
Lukas Eder
4605c9a476 [#2311] Added an API draft for the RecordMapperProvider 2013-06-28 12:13:55 +02:00
Lukas Eder
123c557fbd Reordered methods in Configuration 2013-06-23 17:27:34 +02:00
Lukas Eder
591afd7fcb [#2135] Postgres ENUM data type isn't supported correctly, if the
ENUM needs full qualification
2013-06-23 13:50:07 +02:00
Lukas Eder
ca19cb98e9 [#2528] Combining renderFormatted with inlined bind variables will
change bind values when they contain newlines
2013-06-22 11:41:32 +02:00
Lukas Eder
1fe63caa1e [#2532] Let batch executions debug-log executed queries 2013-06-22 10:11:26 +02:00
Lukas Eder
c7a068def2 [#2535] Convert.convert(Object, Class) should support simple casting 2013-06-22 09:27:36 +02:00
Lukas Eder
b8371015f7 [#1952] Add support for SQL Server OPTION (...) query hints 2013-06-21 22:55:40 +02:00
Lukas Eder
c1387f5779 Don't publish new annotations (yet) 2013-06-21 20:40:14 +02:00
Lukas Eder
4472a06174 [#2527] Add org.jooq.tools.jdbc.DefaultResultSet to provide a
default ResultSet delegation implementation
2013-06-15 10:32:46 +02:00
Lukas Eder
32913c54ec Javadoc fixes 2013-06-15 10:24:33 +02:00
Lukas Eder
e718d81204 [#1885] [#2523] Statement.close() may be called upon previously
closed statements

* [#1885] Add test to count opening and closing of Statements and
ResultSets by jOOQ
* [#2523] Statement.close() may be called upon previously closed
statements
2013-06-14 18:18:09 +02:00
Lukas Eder
4f62414b2a Removed unused rsIndex property 2013-06-14 17:39:45 +02:00
Lukas Eder
25a7f794b3 [#2519] Add Record.from(Object, Field<?>...) from(Object,
String...), from(Object, int...) to copy only a select set of values
from a POJO, Array, Map
2013-06-14 11:16:13 +02:00
Lukas Eder
729a933cf0 [#2521] Add Record.fields(Field<?>...), Record.fields(String...),
Record.fields(int...) to extract Field<?>[] from a Record
2013-06-14 11:03:00 +02:00
Lukas Eder
5d4b335573 [#2521] Add Row.fields(Field<?>...), Row.fields(String...),
Row.fields(int...) to extract Field<?>[] from a row
2013-06-14 10:58:01 +02:00
Lukas Eder
7c7504e9ff Fixed Javadoc 2013-06-14 10:17:31 +02:00
Lukas Eder
f643fd8293 [#2515] Compilation errors when generating code for artefacts that
differ only by a trailing underscore(s): A and A_ and A__
2013-06-10 21:43:21 +02:00
Lukas Eder
4b770fae50 [#2506] SQLDialectNotSupportedException on DSL.inline(T, Class),
when jOOQ's internals are not (yet) properly initialised
2013-06-09 16:01:15 +02:00
Lukas Eder
55c906a346 Release 3.1.0-SNAPSHOT 2013-06-09 12:50:37 +02:00
Lukas Eder
ce7a71b346 [#1846] [#2265] Reverted changes for 3.1 2013-06-05 09:42:26 +02:00
Lukas Eder
6f6dad4bf3 [#2499] Add JDBCUtils.safeClose(Connection) 2013-06-02 19:04:23 +02:00
Lukas Eder
ea9cead111 Fixed Javadoc 2013-06-02 19:03:31 +02:00
Lukas Eder
ec1b840cb5 [#552] [#2423]
- Add SQLDialect.family() to group several SQLDialect versions of
the same RDBMS
- Add support for SQL Server 2012 native OFFSET .. FETCH clause
2013-06-01 19:19:13 +02:00
Lukas Eder
1ba458e18e [#2494] Possible null pointer passed to ConnectionProvider.release() 2013-05-31 15:07:59 +02:00
Lukas Eder
3da2486e10 Remove tweaking of auto commit in AbstractRoutine 2013-05-31 14:40:28 +02:00
Lukas Eder
45f1a65729 [#2496] Added missing @Support annotations 2013-05-31 13:36:36 +02:00
Lukas Eder
1c7cbc1089 [#2496] Add support for SQL Server 2012 sequences 2013-05-31 13:31:30 +02:00
Lukas Eder
7c927ad2a3 [#2022] Add support for SQL Server 2012 windowing clauses in window
functions
2013-05-31 12:10:08 +02:00
Lukas Eder
de871db819 [#2485] Allow for treating Field<Boolean> as Condition 2013-05-25 12:16:40 +02:00
Lukas Eder
1086f28c37 [#2477] MySQL's unsigned types cannot be used in other dialects 2013-05-24 17:19:37 +02:00
Lukas Eder
c5d74cabc4 [#2477] Some databases cannot bind strings as numbers (e.g. Postgres) 2013-05-24 15:32:42 +02:00
Lukas Eder
824f5d4eba [#963] [#2477] Map SQL Server TINYINT to UByte 2013-05-24 15:03:55 +02:00
Lukas Eder
ae12b6eec7 [#965] [#2477] Add support for Sybase SQL Anywhere unsigned number types 2013-05-24 11:33:01 +02:00
Lukas Eder
a8f379f698 [#2477] Unsigned types fail at run-time under H2 dialect - Fixed this
for H2
2013-05-24 10:31:58 +02:00
Lukas Eder
9512ff8a68 [#706] [#2324] Reverting workarounds for Postgres JDBC driver's
inability to fetch a ref cursor if connection.getAutoCommit() == true
2013-05-22 21:46:18 +02:00
Lukas Eder
9d9fa20b3b [#2464] Skip tests for some databases 2013-05-22 21:26:20 +02:00
Lukas Eder
d1458dfea4 [#2464] Bad SQL rendered from DELETE statements with aliased tables 2013-05-22 21:12:05 +02:00
Lukas Eder
c958209a9d [#2466] Add a public DefaultDSLContext implementation that can be used
by users to override the default behaviour
2013-05-22 20:22:26 +02:00
Lukas Eder
f53ecbcd67 [#1737] First annotation draft 2013-05-22 20:15:57 +02:00
Lukas Eder
778dcf823e [#2469] NullPointerException in AbstractResultQuery.fetchOneArray() 2013-05-20 20:42:00 +02:00
Lukas Eder
f0cc331393 Fixed whitespace 2013-05-20 20:38:59 +02:00
Lukas Eder
bd8a96714d Merge branch 'master' of git@github.com:jOOQ/jOOQ.git 2013-05-20 20:34:39 +02:00
보롱킴
fc99bb2fb6 fix AbstractResultQuery.fetchOneMap() NPE bug 2013-05-20 00:52:07 +09:00
Lukas Eder
f1754f5ffa [#2468] API bug: MergeNotMatchedSetStep.set(Field, Select) returns
MergeMatchedSetMoreStep instead of MergeNotMatchedSetMoreStep
2013-05-18 16:38:27 +02:00
Lukas Eder
163a60053f Added missing @Support annotations to DeleteConditionStep 2013-05-18 11:25:21 +02:00
Lukas Eder
013fafbeae [#1737] Annotate API with grammar information and generate BNF
pseudo-notation for the manual - Added annotations
2013-05-17 19:41:35 +02:00
Lukas Eder
8718afb609 Fixed formatting 2013-05-17 09:34:03 +02:00
Lukas Eder
a43082d1aa [#2265] Removed delete again, for now. This seems to be very complex to
get right.
2013-05-12 10:34:46 +02:00
Lukas Eder
dce7021ca6 [#2265] Logging was moved to CursorResultSet 2013-05-11 12:47:15 +02:00
Lukas Eder
b729a58a07 [#2265] Added prototype implementation for Record.delete() 2013-05-11 12:45:36 +02:00
Lukas Eder
9946b236e7 [#2265] Added logging to CursorImpl.CursorResultSet.updateXXX() methods 2013-05-11 12:44:38 +02:00
Lukas Eder
e33b56a863 [#2265] Let UpdatableRecord.refresh() use ResultSet, if available 2013-05-11 11:14:46 +02:00
Lukas Eder
7032af7c79 Refactored some reusable code 2013-05-11 10:30:46 +02:00
Lukas Eder
2df2a478a6 [#2265] Added Record.refresh(Field...) and more test cases 2013-05-11 10:23:54 +02:00
Lukas Eder
712a0f2f62 [#2265] Add Result.store(), delete(), refresh(), to allow for
batch-synchronisation of Records contained in a Result - Prototype
implementation
2013-05-11 10:11:47 +02:00
Lukas Eder
342c769309 Minor optimisation: Avoid &= and |= where possible 2013-05-11 09:46:46 +02:00
Lukas Eder
433012e48b [#1846] Added more integration tests related to Record.changed() and
Record.original()
2013-05-10 18:16:43 +02:00
Lukas Eder
c7b3782a69 [#1846] Added more test cases 2013-05-10 17:59:23 +02:00
Lukas Eder
2303ec45c6 [#2459] Add Record.resultSet() and Record.close() to handle the
referenced ResultSet's lifecycle
2013-05-10 17:58:49 +02:00
Lukas Eder
fdf8394796 [#2458] Add Cursor.closesAfterFetch() to indicate whether a Cursor
auto-closes the underlying ResultSet after it has fetched all records
2013-05-10 17:56:54 +02:00
Lukas Eder
8479ec8b17 [#1846] Added more Javadoc 2013-05-10 17:27:11 +02:00
Lukas Eder
cfce76a651 [#1846] Add ResultQuery.keepResultSet() to indicate whether to keep
references to a potentially updatable JDBC ResultSet from Result
2013-05-10 16:57:18 +02:00
Lukas Eder
a580bebbfe [#2457] Add Result.resultSet() and Result.close() to handle the
referenced ResultSet's lifecycle
2013-05-10 16:51:40 +02:00
Lukas Eder
af415ba0a0 Parameter rename 2013-05-10 16:47:15 +02:00
Lukas Eder
7644056e54 [#2434] Add Field.compare(Comparator, Select) and
Field.compare(Comparator, QuantifiedSelect) to allow for more dynamic
SQL
2013-05-10 13:50:08 +02:00
Lukas Eder
0ab5128d62 [#2434] Merged the internal SubqueryComparator with the public
Comparator. Added a couple of flags indicating whether a Comparator can
be used with subselects / quantifiers
2013-05-10 13:38:38 +02:00
Lukas Eder
503b986f11 [#2355] Add support for Postgres / HSQLDB's TRUNCATE [...] RESTART /
CONTINUE IDENTITY
2013-05-10 12:49:51 +02:00
Lukas Eder
1665723473 [#2355] [#2357] Add support for Postgres' TRUNCATE [...] CASCADE
statement
2013-05-10 12:29:50 +02:00
Lukas Eder
dcd2390d5c Fixed a regression introduced by a recent change 2013-05-09 16:12:06 +02:00
Lukas Eder
298cb42d65 [#2443] AbstractStoreQuery.execute() doesn't correctly operate on the
Configuration's ConnectionProvider in SQLite IDENTITY fetching queries
2013-05-09 15:40:31 +02:00
Lukas Eder
2162af594e [#2450] Cannot set precision on TINYINT, SMALLINT, INT, BIGINT data
types - Restored some logic from previous commit
2013-05-09 15:35:19 +02:00
Lukas Eder
94238f0157 [#2450] Cannot set precision on TINYINT, SMALLINT, INT, BIGINT data
types
2013-05-09 14:58:27 +02:00
Lukas Eder
6f490e8f92 [#2449] JDBCDatabase doesn't use DataType.length(), precision(), and
scale()
2013-05-09 14:58:06 +02:00
Lukas Eder
d3dba89e7d [#2448] DSLContext.meta() returns Table objects for Oracle SYNONYMS,
without providing columns
2013-05-09 14:24:34 +02:00
Lukas Eder
cadd425431 [#2448] DSLContext.meta() returns Table objects for Oracle SYNONYMS,
without providing columns
2013-05-09 14:20:23 +02:00
Lukas Eder
ecc31b6648 [#2447] Tables collected through DSLContext.meta() return duplicate
columns if multi-schema environments contain identical tables
2013-05-09 14:06:01 +02:00
Lukas Eder
8e939d8bcc [#2310] Add DSL.using(Connection) and DSL.using(Connection,
Settings) which auto-detect the SQLDialect from the jdbc url
2013-05-09 12:43:23 +02:00
Lukas Eder
a1f558a69b [#2446] Add JDBCUtils.dialect(Connection) to "guess" the jOOQ SQLDialect
from a JDBC Connection
2013-05-09 12:34:07 +02:00
Lukas Eder
ce52beb115 [#2441] Add DSL.cast(Field<?>, XXX) for increased API consistency 2013-05-05 12:47:16 +02:00
Lukas Eder
de3458f0d5 [#1373] Add <T> Field<T> Factory.coerce(Field<?>, DataType<T>) and
similar methods, to coerce a field to a given data type (as opposed to
casting it)
2013-05-05 12:43:46 +02:00
Lukas Eder
d5439b468a [#2440] Expose the DataSource contained in the
DataSourceConnectionProvider
2013-05-04 11:19:19 +02:00
Lukas Eder
5dc9d7c9eb [#2235] Add Result<?> DSLContext.fetchFromTXT() to allow for loading
results that were exported using Result.format()
2013-05-03 16:59:44 +02:00
Lukas Eder
ec64150cc8 Fixed Javadoc 2013-05-03 16:12:57 +02:00
Lukas Eder
f9ff7508bf [#2323] NullPointerException when calling Schema.getTables() on a meta
schema with SQLite
2013-05-03 16:08:43 +02:00
Lukas Eder
392c2e158c [#2291] Add DSLContext.fetchAny(Table, Condition) method and others 2013-05-03 15:28:16 +02:00
Lukas Eder
aa74f02875 [#2414] [#2436] [#2437] Added ParamType
- [#2414] Add Setting to influence parameter rendering (indexed,
named, inlined)
- [#2436] Add Query.getSQL(ParamType) and deprecate
Query.getSQL(boolean)
- [#2437] Add RenderContext.paramType() and deprecate
RenderContext.inline() and .namedParams()
2013-05-03 15:10:40 +02:00
Lukas Eder
2b6c704ca7 Fixed Javadoc 2013-05-03 13:52:30 +02:00
Lukas Eder
b3fbdb308c [#2427] Add more Javadoc to ResultQuery.fetchResultSet() explaining that
underlying PreparedStatements are closed with ResultSet.close()
2013-05-03 11:13:55 +02:00
Lukas Eder
35149db31b Some Javadoc fixes 2013-05-03 11:12:19 +02:00
Lukas Eder
a611948be1 Some Javadoc fixes 2013-05-03 11:09:33 +02:00
Lukas Eder
b93e8f84d2 [#2430] Add CustomQueryPart for use with plain SQL and other places 2013-05-03 11:04:47 +02:00
Lukas Eder
868b1ac275 [#2429] Added Javadoc 2013-05-03 10:49:27 +02:00
Lukas Eder
65aeeb5ac6 Javadoc fixes 2013-05-03 10:44:25 +02:00
Lukas Eder
7acd547c7b [#2429] Add Row[N].compare(Comparator, XXX), where XXX is any of Row[N],
Record[N], T[N], Field<T[N]>, Select<? extends Record[N]>
2013-05-03 10:37:43 +02:00
Lukas Eder
b4ef723bcf [#2434] Added new public SubqueryComparator 2013-05-03 10:23:46 +02:00
Lukas Eder
626b4aad5c [#2429] Factored out some common logic in Xtend generator for Rows 2013-05-03 10:09:58 +02:00
Lukas Eder
6350d73134 [#2395] [#2428] Row value expression simulation.
- Simulate row value expression IN predicate using EXISTS
- Simulate row value expression comparison predicates using EXISTS
2013-05-01 21:31:05 +02:00
Lukas Eder
2e2d76e81d [#2299] Fixed some issues related to Sybase's unsupported ResultSet
holdability
2013-05-01 20:43:04 +02:00
Lukas Eder
ae56ed55c7 [#2395] Simulate row value expression IN predicate using EXISTS -
Added Utils.array(T...)
2013-05-01 19:58:24 +02:00
Lukas Eder
3c15c2eda8 [#2395] Simulate row value expression IN predicate using EXISTS -
Improved Xtend code generation for Row[N] vs. RowN
2013-05-01 19:57:59 +02:00
Lukas Eder
1bc0b4ab66 [#2395] Simulate row value expression IN predicate using EXISTS 2013-05-01 19:24:44 +02:00
Lukas Eder
ed860507cf [#2339] Support CUBRID 9.1's new features - Document support for
NTILE(), LEAD(), LAG() window functions
2013-05-01 18:40:21 +02:00
Lukas Eder
21569fda4f Release 3.1.0-SNAPSHOT 2013-05-01 18:04:58 +02:00
Lukas Eder
a8def97d1e [#2299] Allow for setting ResultSet flags (e.g.
ResultSet.TYPE_SCROLL_INSENSITIVE through
ResultQuery.resultSetConcurrency(), resultSetType(),
resultSetHoldability()
2013-05-01 17:57:28 +02:00
Lukas Eder
c49763fd6f [#2236] Add DSLContext.batch(String...) and batch(String, Object[]...)
to easily create batch statements from SQL strings
2013-05-01 17:04:04 +02:00
Lukas Eder
fff27acbeb [#2426] Add DSLContext.batch(Query, Object[]...) as a convenience for
calling batch(Query).bind(Object...).bind(Object...)
2013-05-01 16:54:21 +02:00
Lukas Eder
5c196c57e9 Some Javadoc fixes 2013-05-01 15:26:57 +02:00
Lukas Eder
e2fc0f16a9 [#1296] [#1846] Added flag to indicate that FOR UPDATE is being
simulated. This is more accurate than just assuming ResultSet
concurrency to be a sufficient indicator
2013-05-01 15:04:51 +02:00
Lukas Eder
2f6e09294c Prevent "expensive" operation of filling in a stack trace for signals 2013-05-01 11:11:59 +02:00
Lukas Eder
7822c93e64 [#2416] Add Result.intoXML(org.xml.sax.ContentHandler) to generate a SAX
event stream from a jOOQ result
2013-04-28 23:23:20 +02:00
Lukas Eder
743bc48c56 Fixed Javadoc 2013-04-28 22:49:56 +02:00
Lukas Eder
fda9c88609 Removed unneeded (and thus, probably buggy) internal copy constructor 2013-04-28 19:05:57 +02:00
Lukas Eder
31f6d133b3 [#2418] RenderContext.data() is not passed on to QueryParts when being
rendered
2013-04-28 19:00:59 +02:00
Lukas Eder
dcdac6f7e8 [#1520] Handle Ingres', SQLite, SQL Server's, Sybase ASE's limitations
of 1024, 999, 2100 or 2000 maximum bind values per query
2013-04-28 18:52:36 +02:00
Lukas Eder
c3c87ee6c7 [#1520] Handle Ingres', SQLite, SQL Server's, Sybase ASE's limitations
of 1024, 999, 2100 or 2000 maximum bind values per query
2013-04-28 16:39:31 +02:00
Lukas Eder
7022813865 [#2344] Add a new ControlFlowException that is used to explicitly jump
out of a control flow
2013-04-28 14:26:24 +02:00
Lukas Eder
1532306f73 Release 3.0.0 2013-04-28 11:52:53 +02:00
Lukas Eder
e23d2af072 Release 3.0.0 2013-04-28 11:49:58 +02:00
Lukas Eder
5cd55d732c [#2415] Add Constants.MINOR_VERSION and Constants.FULL_VERSION for
internal and external reuse
2013-04-27 09:06:21 +02:00
Lukas Eder
80cac73310 Fixed compiler warning 2013-04-19 14:07:00 +02:00
Lukas Eder
64995c1836 Fixed grammar in Javadoc 2013-04-14 19:18:11 +02:00
Lukas Eder
d163a1f5d8 [#2407] Fix bad references to pre-3.0 Factory in Javadoc - Fixed
Executor references
2013-04-13 12:46:22 +02:00
Lukas Eder
6dd02378c4 [#2407] Fix bad references to pre-3.0 Factory in Javadoc - Fixed Factory
references
2013-04-13 12:44:06 +02:00
Lukas Eder
d8e18df627 Release 3.0.0-RC3: Javadoc fixes 2013-04-12 15:39:10 +02:00
Lukas Eder
fb7a0c535f Release 3.0.0-RC3: Version increment 2013-04-12 15:29:22 +02:00
Lukas Eder
2b59ed047f [#2385] fetchOne() and fetchLazy() don't terminate the ExecuteListener
life cycle when an exception occurs
2013-04-12 14:14:04 +02:00
Lukas Eder
053a728c25 [#2392] Add Configuration.set() methods. They should allow for modifying
a Configuration
2013-04-12 12:21:02 +02:00
Lukas Eder
ebca8adaa2 [#2388] Replace Configuration's List<ExecuteListener> with
ExecuteListenerProvider[] to simplify correct and thread-safe client
implementations
2013-04-12 12:00:30 +02:00
Lukas Eder
3f1e2af10a [#2399] Remove support for the USE statement 2013-04-12 10:05:32 +02:00
Lukas Eder
8d9a40ad19 [#2393] Fully qualified name not used for user-defined aggregate
function
2013-04-12 09:48:08 +02:00
Lukas Eder
bfbcbca33f [#2396] Add DSL.function(Name, Class, Field...) and
DSL.function(Name, DataType, Field...) to allow for custom,
fully-qualified function references
2013-04-12 09:47:29 +02:00
Lukas Eder
28073c01db [#2391] Rename dialect-specific Factories [Dialect]Factory to
[Dialect]DSL
2013-04-07 22:44:29 +02:00
Lukas Eder
078da8a28b [#2388] Replace Configuration's List<ExecuteListener> with an
ExecuteListenerProvider to simplify correct and thread-safe client
implementations - Added warning as this type might not be in its final
state
2013-04-07 22:36:15 +02:00
Lukas Eder
2e57438987 Added convenient constructor overload 2013-04-07 18:53:19 +02:00
Lukas Eder
a6020617f5 Fixed xtend source code 2013-04-07 17:18:56 +02:00
Lukas Eder
68db0cf354 Renamed AttachableInternal.getConfiguration() to configuration() for
consistency
2013-04-07 17:17:27 +02:00
Lukas Eder
c753d70bb1 Fixed xtend source code 2013-04-07 17:12:33 +02:00
Lukas Eder
15f24d6e39 [#2390] Change Configuration API to reflect jOOQ-style getter /
setter naming
2013-04-07 17:06:04 +02:00
Lukas Eder
c3883d2b92 [#2388] Replace Configuration's List<ExecuteListener> with an
ExecuteListenerProvider to simplify correct and thread-safe client
implementations
2013-04-07 16:57:23 +02:00
Lukas Eder
d104467645 Fixed Javadoc 2013-04-07 15:50:23 +02:00
Lukas Eder
869ada72ed [#2389] Make org.jooq.impl.DefaultConfiguration public -
TODO: Make implementation threadsafe!
2013-04-07 15:36:12 +02:00
Lukas Eder
062acf7648 Merge pull request #2381 from svenjacobs/master
Do not add TableFieldImpl to table in constructor of TableFieldImpl
2013-04-06 12:51:51 -07:00
Lukas Eder
6d7eff66ce [#2382] Let DAO reference a Configuration instead of an Executor 2013-04-06 21:42:06 +02:00
Lukas Eder
906df54303 [#2380] Rename org.jooq.impl.Factory to org.jooq.DSL - Step 1
- Renamed org.jooq.impl.Factory to org.jooq.impl.DSL
2013-04-06 21:17:18 +02:00
Lukas Eder
0183ecab99 [#2379] Replace 3.0-RC1 Executor type by a contextual DSL type
constructed from Factory.using() - Step 4
- Renamed ContextDSL to DSLContext
2013-04-06 21:00:50 +02:00
Lukas Eder
427a09ecac [#2383] Remove org.jooq.Context marker interface - Removed references to
org.jooq.Context
2013-04-06 20:54:34 +02:00
Lukas Eder
39b20216a9 [#2379] Replace 3.0-RC1 Executor type by a contextual DSL type
constructed from Factory.using() - Step 4
- Fixed Xtend code generation
2013-04-06 19:02:05 +02:00
Lukas Eder
20af63d55e [#2379] Replace 3.0-RC1 Executor type by a contextual DSL type
constructed from Factory.using() - Step 3
- Make Executor package-private
- Rename Executor to ContextDSLImpl
- Re-generate H2, MySQL, Oracle databases
- Let DAO reference a Configuration instead of an Executor [#2382]
2013-04-06 18:45:45 +02:00
Lukas Eder
738e0adc85 [#2379] Replace 3.0-RC1 Executor type by a contextual DSL type
constructed from Factory.using() - Step 2
- Re-introduce "FactoryOperations", named ContextDSL
- Let Executor implement ContextDSL
2013-04-06 18:17:35 +02:00
Lukas Eder
412bd45e12 [#2379] Replace 3.0-RC1 Executor type by a contextual DSL type
constructed from Factory.using() - Step 1
- Make Executor constructors package-private
- Add Factory.using() factory method
2013-04-06 17:45:07 +02:00
Sven Jacobs
a3b08d6eb0 Do not add TableFieldImpl to table in constructor of TableFieldImpl 2013-04-06 10:48:44 +02:00
Lukas Eder
cccce72086 [#2372] Add aliases for arithmetic operators to be able to use
Groovy default operator overloading
2013-04-05 13:28:53 +02:00
Lukas Eder
7ede90174a [#2374] INSERT .. RETURNING always returns null for dynamically created
tables - Reverted incorrect fix
2013-04-05 13:14:27 +02:00
Lukas Eder
eb34ebf4d7 Merge pull request #2377 from svenjacobs/master
[#2374] INSERT .. RETURNING always returns null for dynamically created tables - Canonical implementation contributed by Steven Jacobs
2013-04-05 04:06:56 -07:00
Lukas Eder
dacf7184ae [#2378] Allow for overriding getIdentity() and getReferences() in
CustomTable
2013-04-05 13:00:41 +02:00
Sven Jacobs
1685351e82 Fix for issue #2374 (INSERT .. RETURNING always returns null for dynamically created tables) 2013-04-05 11:45:05 +02:00
Lukas Eder
caa173e5bd Fixed Javadoc 2013-04-05 11:22:55 +02:00
Lukas Eder
abe43ec2c2 Release 3.0.0-SNAPSHOT 2013-04-05 11:20:59 +02:00
Lukas Eder
4f519a7908 [#1868] [#2373] Cursor.close() doesn't terminate the ExecuteListener
life cycle
2013-04-05 11:18:39 +02:00
Lukas Eder
3648e2fc50 [#2373] Cursor.close() doesn't terminate the ExecuteListener life cycle
- Cursor should always be closed
2013-04-05 10:16:00 +02:00
Lukas Eder
ba0c5e4734 [#2367] SQLite identifiers that collide with keywords should be quoted 2013-04-04 20:30:00 +02:00
Lukas Eder
c9b747eb0e Fixed whitespace in XML files 2013-04-03 21:16:18 +02:00
Lukas Eder
23dd60c785 Added Executor Javadoc 2013-03-30 18:30:25 +01:00
Lukas Eder
3adb6bc3c7 [#2362] Decouple org.jooq.impl.Executor from Configuration. Choose
composition over inheritance - Fixed compilation errors
2013-03-30 18:17:43 +01:00
Lukas Eder
ed231beff1 Removed unneeded AbstractConfiguration 2013-03-30 18:06:54 +01:00
Lukas Eder
58d3979bec [#2362] Decouple org.jooq.impl.Executor from Configuration. Choose
composition over inheritance
2013-03-30 18:04:00 +01:00
Lukas Eder
0dc7f8ac37 [#2361] Inaccurate Configuration Javadoc explaining wrong
ExecuteListener lifecycle
2013-03-30 17:02:16 +01:00
Lukas Eder
62ce4aae8f Adapted Xtend code to the latest changes 2013-03-24 16:19:30 +01:00
Lukas Eder
4486ea8189 Fixed Javadoc 2013-03-24 13:03:20 +01:00
Lukas Eder
6ea8c5a11e [#2353] Decouple org.jooq.Context from Configuration. Choose
composition over inheritance
2013-03-24 12:48:28 +01:00
Lukas Eder
e2658c58cf Fixed Javadoc 2013-03-24 12:28:04 +01:00
Lukas Eder
dfb3dbf56c [#2343] Decouple lifecycle of Configuration and ExecuteContext 2013-03-24 12:23:46 +01:00
Lukas Eder
a8c35286ac Fixed Javadocs 2013-03-24 11:49:23 +01:00
Lukas Eder
8e8915c008 [#2328] Remove UpdatableTable marker interface, pulling up methods
to Table
2013-03-24 11:45:40 +01:00
Lukas Eder
00c2ddb15d [#2351] Relax ConnectionProvider contract, allowing acquire() to
return new Connections even before release() is called
2013-03-22 14:20:08 +01:00
Lukas Eder
38864c2b16 [#2351] Relax ConnectionProvider contract, allowing acquire() to return
new Connections even before release() is called - Updated contract
2013-03-22 13:25:17 +01:00
Lukas Eder
b4c10646a2 [#2329] Add Javadoc to Configuration.getExecuteListeners() and
setExecuteListeners()
2013-03-22 12:53:00 +01:00
Lukas Eder
c91a393de8 Fixed Javadoc 2013-03-22 12:43:15 +01:00
Lukas Eder
377572748e [#2342] Change Configuration.getData() to return Map<Object, Object> 2013-03-20 20:10:46 +01:00
Lukas Eder
86bc2b5dc8 [#2347] Let equals() implementations succeed early on identity 2013-03-20 20:04:28 +01:00
Lukas Eder
c75ea9886b Fixed broken Javadoc 2013-03-19 22:06:01 +01:00
Lukas Eder
8abdc20465 [#2346] org.jooq.Meta's generated Schema and other objects are
Serializable, but their enclosed Meta instance is not
2013-03-18 21:08:11 +01:00
Lukas Eder
50aac2fdda [#2336] Log4j ClassNotFoundException LoggerListener 2013-03-16 11:18:44 +01:00
Lukas Eder
b100f91d21 [#2328] Pull up UpdatableTable.getKeys() and getReferencesFrom() methods
to Table
2013-03-10 12:40:38 +01:00
Lukas Eder
b0fd96b1e3 [#2325] "HsqlException: incompatible data type in conversion" when
binding a UUID[] to an HSQLDB prepared statement
2013-03-08 14:28:12 +01:00
Lukas Eder
6b215bbb31 [#2321] Implement various Key.toString() methods 2013-03-08 13:59:19 +01:00
Lukas Eder
c4cb32ee5e Release 3.0.0-RC2 2013-03-08 10:30:08 +01:00
Lukas Eder
f4bbfdb818 [#2312] Annotate org.jooq.Support with java.lang.annotation.Documented
to make it part of the public API (in Javadoc)
2013-03-08 09:09:50 +01:00
Lukas Eder
083e0041ce Fixed whitespace (no tabs, only spaces) 2013-02-28 12:35:53 +01:00
Lukas Eder
244f82c49f Release 3.0.0-SNAPSHOT 2013-02-28 10:33:51 +01:00
Lukas Eder
201d55d73a [#2280] Improve supported formats for MockFileDatabase - Added some
infos about the current implementation to the Javadoc
2013-02-27 16:59:53 +01:00
Lukas Eder
21a60b5aa6 No need for this local interface 2013-02-27 16:14:04 +01:00
Lukas Eder
e648132697 [#2280] Improve supported formats for MockFileDatabase 2013-02-27 15:52:03 +01:00
Lukas Eder
82fa44d98f [#2281] Add Result<Record> Executor.fetchFromStringData(List<String[]>)
in order to reuse logic from fetchFromCSV
2013-02-27 15:51:33 +01:00
Lukas Eder
bca01a0d76 Fixed OpenCSV's peculiar inline comment style 2013-02-27 14:17:18 +01:00
Lukas Eder
4a7ad9937e [#2278] Postgres (UUID and other) ARRAY types aren't correctly inlined
as string literals
2013-02-27 12:12:45 +01:00
Lukas Eder
78e8b863eb Added missing final keywords 2013-02-27 12:08:13 +01:00
Lukas Eder
48628892e2 [#2279] UUIDs aren't correctly deserialised from Postgres UDTs 2013-02-26 21:52:10 +01:00
Lukas Eder
935d74628b Merge pull request #2277 from kdubb/master
[#2279] UUIDs aren't correctly deserialised from Postgres UDTs
2013-02-26 12:48:05 -08:00
Kevin Wooten
9fc494b8e4 Support UUID in Postgres arrays 2013-02-26 13:18:12 -07:00
Lukas Eder
9fb08f7d39 [#2271] jOOQ Unit tests fail when not run in CET / CEST 2013-02-26 12:23:32 +01:00
Lukas Eder
24254e039e [#2267] SQLDialectNotSupportedException: Type class
org.postgis.PGgeometry is not supported in dialect null, when binding
PG* objects
2013-02-25 16:55:04 +01:00
Lukas Eder
a398476260 [#2258] Restore private and deprecated versions of the Factory
constructors, adding some Javadoc about the changes between jOOQ 2.x and
3.0
2013-02-24 12:10:51 +01:00
Lukas Eder
e93e470f94 Removed some deprecated code 2013-02-24 12:00:48 +01:00
Lukas Eder
78937968a6 [#2262] RenderSchema has no effect, if not supplied to the Executor
constructor
2013-02-24 11:50:51 +01:00
Lukas Eder
6a6c9d3526 [#2259] RenderMapping has no effect, if not supplied to the Executor
constructor
2013-02-24 11:38:20 +01:00
Lukas Eder
d4d5df40bb Fixed bad test 2013-02-24 11:35:04 +01:00
Lukas Eder
0457e0b782 Removed deprecated SchemaMapping.NO_MAPPING 2013-02-24 11:28:35 +01:00
Lukas Eder
53b5c70fc1 [#2252] ArrayIndexOutOfBoundsException, when rendering plain SQL that is
terminated by a comment - Added test case
2013-02-20 15:00:23 +01:00
Lukas Eder
4b61106f4a Merge pull request #2251 from joe776/master
[#2252] ArrayIndexOutOfBoundsException, when rendering plain SQL that is terminated by a comment
2013-02-20 05:55:04 -08:00
Joerg Schoenfisch
8f7a70f4a0 i could still have been out of bounds if there is only a single newline character(Linux) and not two(Windows). 2013-02-20 14:43:00 +01:00
Joerg Schoenfisch
e913111a8e Prevent an IndexOutOfBoundsException if the SQL-String ends with a single line comment without a newline. 2013-02-20 14:31:30 +01:00
Lukas Eder
9bcaf9edea Fixed syntax error in Javadoc example 2013-02-20 11:28:53 +01:00
Lukas Eder
bbd774795c [#2200] Add Executor.fetchCount(Select<?>) and Select.fetchCount() to
replace the projection by a COUNT(*) query
2013-02-19 11:01:47 +01:00
Lukas Eder
b2894684df Fixed warning 2013-02-18 15:56:08 +01:00
Lukas Eder
e07671ab20 Release 3.0.0-RC1 - Small optimisation 2013-02-17 21:07:04 +01:00
Lukas Eder
8bf263251f Release 3.0.0-RC1 Fixed Javadoc issues 2013-02-17 20:20:38 +01:00
Lukas Eder
797b1b5e0f [#2227] Field.in(T...) doesn't convert argument values to the Field's
type
2013-02-17 19:07:56 +01:00
Lukas Eder
b631eedb23 [#2223] SQL injection is possible in org.jooq.impl.Val, if client code
doesn't correctly enforce generic typesafety, and bind variables are
inlined
2013-02-17 18:34:58 +01:00
Lukas Eder
0455203f49 Release 3.0.0-RC1 - Improved method signature of Record.changed()
methods. Inversed arguments to make method feel more natural
2013-02-16 16:09:24 +01:00
Lukas Eder
d5053a092a Release 3.0.0-RC1 - Added "experimental" remark to Catalog 2013-02-16 15:57:08 +01:00
Lukas Eder
047014fe81 [#2118] Let Row extend Iterable<Field<?>> - Reverted feature 2013-02-16 14:48:09 +01:00
Lukas Eder
8576e1d56d Release 3.0.0-RC1 2013-02-16 14:28:59 +01:00
Lukas Eder
9c68bc5e95 Improved TRACE logging of fetched records 2013-02-16 14:08:46 +01:00
Lukas Eder
62c594b43e [#2208] Implement a MockFileDatabase - Experimental draft implementation 2013-02-16 13:18:37 +01:00
Lukas Eder
821b1e6c08 [#2210] Executor.fetchFromCSV() shouldn't mark resulting records as
"changed"
2013-02-16 12:59:56 +01:00
Lukas Eder
1502c0f330 [#2202] Add Mock JDBC objects for unit testing with jOOQ - Use
jOOQ-style getters, not JavaBeans style
2013-02-16 11:02:05 +01:00
Lukas Eder
4db89119b5 [#2202] Add Mock JDBC objects for unit testing with jOOQ - Added
more unit tests
2013-02-16 10:25:35 +01:00
Lukas Eder
e958dc2908 [#2205] Add <R> Result<R> Executor.newResult(Table<R>) to generate
custom results
2013-02-16 09:30:35 +01:00
Lukas Eder
d56c0d71a2 [#2202] Add Mock JDBC objects for unit testing with jOOQ - Added
some unit tests
2013-02-16 09:30:08 +01:00
Lukas Eder
f782f27b00 [#2206] Relax bounds of R on Executor.newRecord() from TableRecord<R> to
Record
2013-02-15 20:54:41 +01:00
Lukas Eder
e3ec046490 [#2202] Add Mock JDBC objects for unit testing with jOOQ 2013-02-15 20:49:03 +01:00
Lukas Eder
2b3fb59dbe [#2204] Add BatchBindStep.bind(Object[][]) to bind lots of bind values
at a time
2013-02-15 18:17:00 +01:00
Lukas Eder
3e2778122c [#2203] Add Executor.map(Schema) and Executor.map(Table) as a
convenience to apply runtime schema mapping
2013-02-15 17:57:56 +01:00
Lukas Eder
ff12bbc730 [#2199] Allow for INSERT and UPDATE of pre-existing records through SET
[ Record ] clauses
2013-02-15 12:17:04 +01:00
Lukas Eder
82a0d99b92 [#2197] Relax bounds on Factory.groupingSets(Collection<Field<?>>...) to
Collection<? extends Field<?>>...
2013-02-14 01:01:50 +01:00
Lukas Eder
4d87dd6ee6 [#2187] Change all Javadoc <h3/> tags to <h5/> 2013-02-13 17:47:01 +01:00
Lukas Eder
cea755069d [#834] Add support for the Firebird / Postgres UPDATE .. RETURNING
clause
2013-02-12 16:22:04 +01:00
Lukas Eder
fba595a302 [#1977] Remove the confusing concept of having a "main key" as opposed
to a "primary key"
2013-02-12 12:30:11 +01:00
Lukas Eder
70befb4625 [#1309] Let Factory.val() return Param<T> instead of Field<T> -
Fixed regression
2013-02-12 11:32:04 +01:00
Lukas Eder
5bd9a61f16 [#1309] Let Factory.val() return Param<T> instead of Field<T> 2013-02-12 11:18:46 +01:00
Lukas Eder
ee5b589361 Added comment to document this "weird casting technique" 2013-02-11 17:17:10 +01:00
Lukas Eder
e732efcbdc Corrected Javadoc to have a first line ending with a period (".") as
required by the Javadoc specs
2013-02-11 17:03:10 +01:00
Lukas Eder
92b7d42ffd [#1663] Document RenderContext and make it part of the public API 2013-02-11 15:39:24 +01:00
Lukas Eder
ad4378ec57 [#2160] [#2161] Add Executor.batchInsert,
batchUpdate(UpdatableRecord<?>...) to mass-insert/update a set of
UpdatableRecords
2013-02-09 18:24:14 +01:00
Lukas Eder
66dd5f25e9 [#1686] Add UpdatableRecord.insert() and update() 2013-02-09 17:48:05 +01:00
Lukas Eder
304865bbdf [#2177] Add ResultQuery.intern() and Result.intern() for string
interning in result sets
2013-02-09 16:42:29 +01:00
Lukas Eder
ee93716c63 Avoid potential NPE 2013-02-09 15:22:03 +01:00
Lukas Eder
af57fd1e48 [#2180] Optimise DAOImpl by using the new ReflectionMapper instead of
calling Record.into() all the time
2013-02-09 15:20:01 +01:00
Lukas Eder
db3049fd48 [#2179] Add Javadoc to QueryPart.hashCode() and equals() 2013-02-09 12:04:17 +01:00
Lukas Eder
345c44f656 [#2178] Improve FieldList. Avoid creating excessive array lists, where
simple (immutable) Field<?>[] are sufficient - Removed unnecessary
FieldList
2013-02-09 11:26:18 +01:00
Lukas Eder
058151a756 [#2178] Improve FieldList. Avoid creating excessive array lists, where
simple (immutable) Field<?>[] are sufficient - Removed dependency
between SelectFieldList and FieldList
2013-02-08 19:12:58 +01:00
Lukas Eder
7ce2b9d8c5 [#2178] Improve FieldList. Avoid creating excessive array lists,
where simple (immutable) Field<?>[] are sufficient - More
improvements leading to another 50% performance increase
2013-02-08 19:10:49 +01:00
Lukas Eder
7acb6ebe8c [#2178] Improve FieldList. Avoid creating excessive array lists,
where simple (immutable) Field<?>[] are sufficient - Introduced
org.jooq.impl.Fields as a wrapper for Field<?>[]. Executor.newRecord()
is accelerated by 50%!
2013-02-08 13:08:41 +01:00
Lukas Eder
d51a7b53dc Removed AbstractFieldProviderQueryPart 2013-02-08 12:24:06 +01:00
Lukas Eder
9da6913287 Avoid lazy initialisation of AbstractRecord.values 2013-02-08 12:23:30 +01:00
Lukas Eder
9ba4be6161 Optimised SortFieldList's copying of non-sort fields 2013-02-08 11:41:05 +01:00