Commit Graph

1395 Commits

Author SHA1 Message Date
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
Lukas Eder
c34aa7866c Optimised JoinTable's copying of lhs and rhs fields 2013-02-08 11:36:53 +01:00
Lukas Eder
db826c5cf6 Renamed internal method 2013-02-08 11:30:19 +01:00
Lukas Eder
1fe3fb0bd3 [#1887] Remove all deprecated code 2013-02-07 16:01:44 +01:00
Lukas Eder
32a166a198 [#2172] Add <T> set(Field<T>, Select<? extends Record1<T>>) methods
to UPDATE, MERGE and INSERT statements
2013-02-07 15:29:14 +01:00
Lukas Eder
d0e471e857 Some local formatting 2013-02-07 14:54:29 +01:00
Lukas Eder
e7c38b12bd [#2162] Add some more Javadoc to JooqLogger 2013-02-07 14:50:32 +01:00
Lukas Eder
876f9f4b79 [#2094] Add unit tests for org.jooq.tools.Convert 2013-02-07 14:06:19 +01:00
Lukas Eder
decf60f0d6 [#2171] Allow for converting booleans to numbers through
org.jooq.tools.Convert: TRUE => 1, FALSE => 0
2013-02-07 14:00:36 +01:00
Lukas Eder
a1d15b13d2 [#2170] Add 0.0 and 1.0 to Convert.FALSE_VALUES and Convert.TRUE_VALUES 2013-02-07 13:45:00 +01:00
Lukas Eder
70d7c3fac7 [#2167] Convert.convert("xx", boolean.class) returns null, instead of
false
2013-02-07 13:38:36 +01:00
Lukas Eder
7af3fe112e [#1926] Add <T1, T2, ..., T[N]> MergeXXXStep<R, T1, T2, ..., T[N]>
Executor.mergeInto(Table<?>, Field<T1>, Field<T2>, ..., Field<TN>)
2013-02-07 11:53:34 +01:00
Lukas Eder
d718f61059 [#1921] Add <T1, T2, ..., T[N]> InsertValuesStep[N]<R, T1, T2, ...,
T[N]> Executor.insertInto(Table<R>, Field<T1>, Field<T2>, ...,
Field<TN>)
2013-02-05 18:20:57 +01:00
Lukas Eder
074c3055d4 Fixed INSERT Javadoc 2013-02-05 16:41:13 +01:00
Lukas Eder
5d1a98b49d [#1886] Query.bind() has no effect when Query.keepStatement(true)
and StatementType.STATIC_STATEMENT are combined
2013-02-05 14:53:48 +01:00
Lukas Eder
1b0d7c08b9 [#1626] Explicitly implement hashCode() and equals() in some
additional QueryParts
2013-02-05 14:06:29 +01:00
Lukas Eder
4ecb5b6614 Improved package-info Javadoc. There should be a period after the first
line
2013-02-05 12:18:04 +01:00
Lukas Eder
649954e76c [#2159] Let ExecuteListener extend Serializable 2013-02-04 20:45:49 +01:00
Lukas Eder
86e581c869 [#1578] Change configuration of ExecuteListeners in Configuration.
Listeners instances should be provided, not classes
2013-02-04 20:39:43 +01:00
Lukas Eder
be484c39bf [#1974] Optimise various Executor.fetchOne() methods, which consume
the whole ResultSet before throwing an InvalidResultException
2013-02-04 19:08:07 +01:00
Lukas Eder
b6cd1e4a94 [#2158] Add Executor.fetchLazy(Table) and fetchLazy(Table, Condition)
for convenience
2013-02-04 19:08:02 +01:00
Lukas Eder
e792c72173 [#1902] Duplicate SELECT API between Executor and Factory 2013-02-04 18:44:18 +01:00
Lukas Eder
1e3fb6d289 [#2157] Change the bounds of various <H extends RecordHandler<R>> H
fetchInto(H handler) methods to RecordHandler<? super R>
2013-02-04 17:25:08 +01:00
Lukas Eder
11f61d7958 Fixed warning 2013-02-04 16:30:25 +01:00
Lukas Eder
adc8a474b4 [#1170] Improve performance on jOOQ's reflection usage - Access
record values by index, rather than by field, to further improve
performance
2013-02-04 16:29:43 +01:00
Lukas Eder
d62d6c5994 [#2154] Generated Records should access values by index, not by
field, for performance reasons
2013-02-04 16:22:00 +01:00
Lukas Eder
27f8eca2c4 [#2156] Add Row.type(int), type(String), dataType(int), dataType(String)
for convenience
2013-02-04 15:55:37 +01:00
Lukas Eder
54883e3b37 [#1170] Improve performance on jOOQ's reflection usage 2013-02-01 20:46:48 +01:00
Lukas Eder
9008936138 Improved performance of RowImpl.indexOf() and similar operations,
resulting in a 60% performance gain in a relevant Record.setValue(),
Record.getValue() benchmark
2013-02-01 14:41:24 +01:00
Lukas Eder
8f915549ca [#2144] Improve AbstractField.equals() and AbstractTable.equals() -
null-safe equals() checks
2013-02-01 14:14:06 +01:00
Lukas Eder
f4adc38d8e Improved performance of AbstractRecord.fieldsRow(), resulting in a
14% performance gain in a relevant Record.setValue(),
Record.getValue() benchmark
2013-02-01 14:08:59 +01:00
Lukas Eder
212e3c81a6 [#2145] Improve QueryPartList.removeNulls() as this is called very often 2013-01-31 17:38:41 +01:00
Lukas Eder
5a94b69ea0 [#2144] Improve AbstractField.equals() and AbstractTable.equals()
and similar, as these two are called very often
2013-01-31 17:35:20 +01:00
Lukas Eder
c00cc802c5 [#2137] Failure to assign a value to a record pojo for a column with
a composite type when using select into.
2013-01-31 14:37:23 +01:00
Lukas Eder
8af06e0836 [#2139] batchStore with composite types incorrectly reuses values from
the first record.
2013-01-31 13:15:08 +01:00
Lukas Eder
a97eb571c1 [#2128] Misleading Javadoc in Factory / Executor.selectCount() 2013-01-30 12:01:28 +01:00
Lukas Eder
16dbbf66ac Merge pull request #2127 from joe776/master
Fix a typo in an exception message
2013-01-18 18:01:28 -08:00
Joerg Schoenfisch
a2d95df6d4 Fix a typo in an exception message 2013-01-18 12:51:57 +01:00
Lukas Eder
33ff9de311 [#2112] Add Row.types() and Row.dataTypes() as a convenience 2013-01-11 17:59:07 +01:00
Lukas Eder
7d00425231 [#2118] Let Row extend Iterable<Field<?>> 2013-01-11 17:50:46 +01:00
Lukas Eder
5a63eaaa03 [#2119] Rename Row.getDegree() to Row.size() 2013-01-11 17:43:53 +01:00
Lukas Eder
711d46c73d [#2117] Remove the FieldProvider marker interface. Simplify the
FieldProvider API
2013-01-11 17:40:48 +01:00
Lukas Eder
d5c7e714d1 [#2113] Document Record.hashCode() and equals() through Javadoc 2013-01-11 11:17:12 +01:00
Lukas Eder
3030a5e792 [#2107] Let Record implement Comparable 2013-01-09 15:26:10 +01:00
Lukas Eder
084fbf04a7 [#2111] Improve org.jooq.Record Javadoc, to explain the various Record
subtypes
2013-01-09 13:00:01 +01:00
Lukas Eder
6fefe2afe3 [#2108] SQLite returns NULL for val(new Date(0)).add(-1) and some other
date time arithmetic expressions
2013-01-08 21:41:11 +01:00
Lukas Eder
a97d3eaaaa [#1801] Add Table.as(String, String...) to allow for creating a table
aliases (correlation names) with derived column lists - Simulate this
for all SQL dialects
2013-01-08 11:00:05 +01:00
Lukas Eder
7da8507ea4 Fixed typo 2013-01-08 10:35:59 +01:00
Lukas Eder
3c4b88a2a9 [#1801] Add Table.as(String, String...) to allow for creating a table
aliases (correlation names) with derived column lists - Simulate this
for all SQL dialects
2013-01-07 23:46:12 +01:00
Lukas Eder
3ceea69651 Fixed typo 2013-01-06 18:15:20 +01:00
Lukas Eder
43cb9fb520 [#2098] NullPointerException when org.jooq.impl.EnumConverter
converts null
2013-01-06 17:49:08 +01:00
Lukas Eder
c34efabcf2 [#1624] Add support for java.util.UUID as a <T> type - Added comment 2013-01-06 17:32:15 +01:00
Lukas Eder
0bed3ba74c [#1235] SQLite BIGINT data type erroneously maps to java.math.BigInteger 2013-01-06 17:00:27 +01:00
Lukas Eder
59c41a66d5 [#2085] java.lang.NoSuchMethodError:
org.apache.log4j.Logger.isTraceEnabled()Z when logger dependency is
missing
2013-01-06 16:11:13 +01:00
Lukas Eder
d7ee1f1326 [#1624] Add support for java.util.UUID as a <T> type 2013-01-06 14:16:32 +01:00
Lukas Eder
5aa77b3827 [#1624] Add support for java.util.UUID as a <T> type - Added
Postgres support, which is straightforward
2013-01-05 10:30:23 +01:00
Lukas Eder
58c8a8df7c [#2091] CUBRID doesn't really have a NVARCHAR data type 2013-01-04 17:12:20 +01:00
Lukas Eder
823657cb29 [#1887] Remove all deprecated code 2013-01-04 16:43:43 +01:00
Lukas Eder
102649585f [#2089] Generate an "empty" DefaultSchema for those databases that do
not have any schema (CUBRID, Firebird, SQLite)
2013-01-04 16:18:33 +01:00
Lukas Eder
03e42f36d2 [#1968] Add org.jooq.Meta returned from Executor.meta() to return a
wrapped JDBC DatabaseMetaData object - Fixed issue with databases that
do not have any schema
2013-01-04 15:24:02 +01:00
Lukas Eder
5c97482f4c [#1887] Remove all deprecated code 2013-01-04 14:44:26 +01:00
Lukas Eder
993843ccd6 [#2086] SQL syntax error when aliasing outcome of a relational division 2013-01-04 13:35:20 +01:00
Lukas Eder
2dd4517be0 Avoid returning internal type, if possible 2013-01-04 13:22:10 +01:00
Lukas Eder
3c520c03b6 [#2082] Oracle PIVOT expression doesn't bind any variables of a derived
table being pivoted
2013-01-04 12:09:20 +01:00
Lukas Eder
6ea236e217 [#1801] Add Table.as(String, String...) to allow for creating a
table aliases (correlation names) with derived column lists
2013-01-03 23:29:08 +01:00
Lukas Eder
c9d12d8850 [#915] Add <T1, T2, ..., T[N]> Table<Record[N]<T1, T2, ..., T[N]>>
Factory.values(Row[N]<T1, T2, ..., T[N]>...), to create ad-hoc
tables from data - Simulate VALUES() using SELECT .. UNION ALL SELECT ..
where VALUES() is unavailable
2013-01-03 23:26:58 +01:00
Lukas Eder
e7235b6e03 [#2052] Add [not]Between[Symmetric]() to Row[N] types - Added fix
for MySQL
2013-01-03 23:04:13 +01:00
Lukas Eder
74e7051be3 [#1801] Add Table.as(String, String...) to allow for creating a table
aliases (correlation names) with derived column lists - Simulate derived
column lists for Oracle using CTE's
2013-01-03 21:13:53 +01:00
Lukas Eder
318d06ed75 [#915] Add <T1, T2, ..., T[N]> Table<Record[N]<T1, T2, ..., T[N]>>
Factory.values(Row[N]<T1, T2, ..., T[N]>...), to create ad-hoc tables
from data
 - Added test case
 - Improved Javadoc
2013-01-03 20:40:52 +01:00
Lukas Eder
b84c0060b9 Changed year number in copyright to 2013 2013-01-03 12:05:32 +01:00
Lukas Eder
abe359d859 [#2078] Add Postgres to @Support annotation of
SelectForUpdateWaitStep.wait()
2013-01-02 19:37:00 +01:00
Lukas Eder
1999c73065 Fixed compiler warning 2013-01-02 17:48:06 +01:00
Lukas Eder
6e140fd115 [#1801] Add Table.as(String, String...) to allow for creating a table
alias with aliased fields - Added some more Javadoc
2013-01-02 17:47:04 +01:00
Lukas Eder
36554005ec [#1801] Add Table.as(String, String...) to allow for creating a
table alias with aliased fields - Added a workaround for SQL Server,
Sybase
2013-01-02 17:40:25 +01:00
Lukas Eder
c51ed4d5df [#2056] Add Field.[not]Between[Symmetric](Select<? extends Record1<T>>)
methods to allow for specifying subselects as arguments to the BETWEEN
predicate - Added fix for SQLite
2013-01-02 17:31:03 +01:00
Lukas Eder
ffae7e756d [#1801] Add Table.as(String, String...) to allow for creating a
table alias with aliased fields - Added a workaround for CUBRID,
Firebird
2013-01-02 17:03:34 +01:00
Lukas Eder
3e793fe4fd - Fixed @Support annotation for RVE-related predicates taking a
subselect on the RHS: CUBRID doesn't really support RVE's
2013-01-02 15:57:16 +01:00
Lukas Eder
48b25650b4 [#1801] Add Table.as(String, String...) to allow for creating a
table alias with aliased fields - Added API and tests that work for
Postgres
2013-01-02 14:39:17 +01:00
Lukas Eder
ae7aad93d5 [#915] Add <T1, T2, ..., T[N]> Table<Record[N]<T1, T2, ..., T[N]>>
Factory.values(Row[N]<T1, T2, ..., T[N]>...), to create ad-hoc tables
from data - Updated generated Factory code
2013-01-02 12:09:14 +01:00
Lukas Eder
bdf031af56 [#2072] Let UDTRecordImpl and ArrayRecordImpl.toString() return a valid
constructor expression
2013-01-02 10:52:50 +01:00
Lukas Eder
020e1958a4 Work around a SQL Server JDBC driver problem by manually coercing JDBC
DatabaseMetaData.getColumns() data types
2012-12-29 17:41:16 +01:00
Lukas Eder
e0b5fa2d66 [#1144] Overload Executor.fetch[One|Lazy](ResultSet, X...) with X being
Field<?>, DataType<?>, Class<?>
2012-12-29 17:32:10 +01:00
Lukas Eder
d8fe5ffee2 [#2052] Add [not]Between[Symmetric]() to Row[N] types - Added fix for
SQL Server
2012-12-29 17:12:36 +01:00
Lukas Eder
0bcee0f17f [#2052] Add [not]Between[Symmetric]() to Row[N] types - Fix for Sybase 2012-12-29 16:15:20 +01:00
Lukas Eder
32c6024fe6 [#2053] Add is[Not]Null() to Row[N] types - Fix for Sybase 2012-12-29 16:13:53 +01:00
Lukas Eder
2ddccf8f80 [#1178] Allow for treating Condition as Field<Boolean> - Fix for Sybase 2012-12-29 16:12:51 +01:00
Lukas Eder
057064ad46 [#2049] Add gt() / ge() / lt() / le() to Row[N] types - Fix for Sybase 2012-12-29 16:11:31 +01:00
Lukas Eder
708d52a114 [#1883] Derby OVERLAPS predicate doesn't work for (DATE, INTERVAL)
tuples
2012-12-29 16:01:37 +01:00
Lukas Eder
57c1d5d7d7 [#1905] Add Row[N].equal(Select<? extends Record[N]>) and similar
methods - Work around H2's missing row value expression support by
rendering an array in subselects of RVE predicates
2012-12-29 14:57:39 +01:00
Lukas Eder
372b1df203 [#2066] Add Executor.bindValues(QueryPart) to extract bind values in the
context of an Executor (i.e. Configuration)
2012-12-28 19:48:47 +01:00
Lukas Eder
56d7064043 [#2055] MySQL's UPDATE [t1] JOIN [t2] syntax can cause syntax errors as
column references are not fully qualified - Fixed unit tests
2012-12-28 19:46:26 +01:00
Lukas Eder
fa52ecd05f [#2057] Cannot properly extract bind values for LIMIT .. OFFSET clause
from a SELECT statement
2012-12-28 16:11:54 +01:00
Lukas Eder
d532cfed3c [#2049] Add gt() / ge() / lt() / le() to Row[N] types - Fix for Firebird 2012-12-28 16:05:26 +01:00
Lukas Eder
7dcefc62d6 [#2053] Add is[Not]Null() to Row[N] types - Fix for Firebird 2012-12-28 16:05:10 +01:00
Lukas Eder
afaf5ed011 [#2052] Add [not]Between[Symmetric]() to Row[N] types - Fixed this for
Firebird
2012-12-28 16:04:54 +01:00
Lukas Eder
f097801a98 [#1178] Allow for treating Condition as Field<Boolean> - Fix for
Firebird
2012-12-28 15:59:49 +01:00
Lukas Eder
02f45c6439 [#2055] MySQL's UPDATE [t1] JOIN [t2] syntax can cause syntax errors as
column references are not fully qualified
2012-12-28 15:39:40 +01:00
Lukas Eder
cf4a9e521d Upgraded .classpath JRE reference from 1.6 to 1.7 2012-12-28 14:49:06 +01:00
Lukas Eder
01dfb38317 [#2060] Remove redundant SimpleSelectXXX API
- Removed API elements
- Clean up SELECT type hierarchy
2012-12-28 11:31:12 +01:00
Lukas Eder
1660dce03d [#2052] Add [not]Between[Symmetric]() to Row[N] types 2012-12-26 16:23:47 +01:00
Lukas Eder
70e4ff1aa8 Added missing Support annotations 2012-12-26 16:23:04 +01:00
Lukas Eder
f955bb295f Improved MetaImpl performance 2012-12-24 15:15:33 +01:00
Lukas Eder
10c116c6de Fix issue with Oracle JDBC's internal LIKE .. ESCAPE '/' 2012-12-24 14:49:46 +01:00
Lukas Eder
b33bbcdf7c [#2049] Add gt() / ge() / lt() / le() to Row[N] types - Added
integration tests for RVE [>, >=, <, <=] (SELECT ...)
2012-12-24 14:35:17 +01:00
Lukas Eder
a2a32c71d5 [#2049] Add gt() / ge() / lt() / le() to Row[N] types 2012-12-24 14:20:17 +01:00
Lukas Eder
35bcc425a6 [#2053] Add is[Not]Null() to Row[N] types 2012-12-24 12:07:15 +01:00
Lukas Eder
acf270d1f5 [#2049] Add gt() / ge() / lt() / le() to Row[N] types - Renamed newly
factored out conditions
2012-12-24 10:27:54 +01:00
Lukas Eder
20aa6e512a [#2049] Add gt() / ge() / lt() / le() to Row[N] types - Factored out
RowIn nested class to top-level type
2012-12-24 10:26:01 +01:00
Lukas Eder
b76289ea02 [#2049] Add gt() / ge() / lt() / le() to Row[N] types - Factored out
RowSubquery nested class to top-level type
2012-12-24 10:18:41 +01:00
Lukas Eder
b2df9b7d6d [#2049] Add gt() / ge() / lt() / le() to Row[N] types - Factored out
RowCompare nested class to top-level type
2012-12-24 10:15:13 +01:00
Lukas Eder
d228355c03 [#2049] Add gt() / ge() / lt() / le() to Row[N] types - Factored out
RowOverlaps nested class to top-level type
2012-12-23 10:42:54 +01:00
Lukas Eder
e1ce0fa058 [#2049] Add gt() / ge() / lt() / le() to Row[N] types - Improved Javadoc 2012-12-23 09:59:08 +01:00
Lukas Eder
df56195479 [#2050] Re-declare QueryPart.toString() in order to add some Javadoc 2012-12-23 09:27:13 +01:00
Lukas Eder
d3b654c2fb Improved Javadoc 2012-12-22 22:30:12 +01:00
Lukas Eder
5cfde0af20 [#2045] Bad hashCode calculation when Records contain arrays or byte[] 2012-12-22 20:46:49 +01:00
Lukas Eder
d756297151 [#2044] Add various TableRecord.fetchParent(...), fetchChild(...) and
fetchChildren(...) methods to follow foreign key relationships
2012-12-22 20:39:49 +01:00
Lukas Eder
f958e32075 [#2007] Bad type coercion on the right hand side of a comparison
predicate, when the left hand side is Field<Object>
2012-12-22 09:47:01 +01:00
Lukas Eder
8b6e4f2a27 Added Javadoc to internal method 2012-12-22 09:46:27 +01:00
Lukas Eder
8ccad9947a Improved DefaultDataType.toString() 2012-12-22 09:25:48 +01:00
Lukas Eder
374bb9cc7b Created new DataTypeTest unit test. Moved some tests there 2012-12-22 09:09:38 +01:00
Lukas Eder
b82775ec18 Pull up some protected things to a new AbstractTest 2012-12-22 09:07:35 +01:00
Lukas Eder
b34d343fef Moved unit test data into proper package 2012-12-22 09:05:21 +01:00
Lukas Eder
fa7edefc65 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Added convenience method DataType.precision(int precision, int scale)
2012-12-22 08:39:06 +01:00
Lukas Eder
d7587ee4d7 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes
- Adapted DataType.equals() and hashCode() to consider precision,
scale, and length
 - Consider precision, scale, and length when casting fields/values to a
custom DataType
2012-12-21 23:32:25 +01:00
Lukas Eder
1161afbad1 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Added support for precision, scale, and length information in
org.jooq.Meta
2012-12-21 22:40:18 +01:00
Lukas Eder
70a0ab3f44 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes
- Let code generator generate precision, scale, and length information
 - Let MetaDataFieldProvider read precision, scale, and length
information from JDBC meta data
2012-12-21 22:35:26 +01:00
Lukas Eder
3d63aa82a0 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Added the precision/scale/length API
2012-12-21 21:58:10 +01:00
Lukas Eder
e9a2308105 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Changed constructor signatures
2012-12-21 21:42:52 +01:00
Lukas Eder
9b9f105417 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Removed SQLDataType from the DataType type hierarchy
2012-12-21 21:36:39 +01:00
Lukas Eder
899c76280e [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Removed generic type parameter <T> from [SQLDialect]DataType
2012-12-21 21:20:47 +01:00
Lukas Eder
a50307089d [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes
- Removed deprecated method from [SQLDialect]DataType
 - Regenerated various schemata
2012-12-21 21:09:57 +01:00