Commit Graph

1395 Commits

Author SHA1 Message Date
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
Lukas Eder
623ee20bb6 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes
- Renamed AbstractDataType to DefaultDataType, made it non-abstract
- Removed [SQLDialect]DataType from DefaultDataType's type hierarchy
2012-12-21 20:54:14 +01:00
Lukas Eder
e3de50d152 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Merged FieldTypeHelper into Utils
2012-12-21 20:22:02 +01:00
Lukas Eder
b7035db761 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Made FieldTypeHelper package-private
2012-12-21 19:53:09 +01:00
Lukas Eder
a007ba599d [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Removed unneeded DataType.getType(int, int)
2012-12-21 19:51:31 +01:00
Lukas Eder
79336d9074 Added some documentation to AbstractDataType's internals 2012-12-21 19:01:34 +01:00
Lukas Eder
003bc5d903 [#456] Add runtime support for PRECISION, SCALE, and LENGTH attributes -
Removed some obsolete DataType API parts
2012-12-21 18:50:22 +01:00
Lukas Eder
6f001e1798 Moved some useful JDBC utility methods from FieldTypeHelper to the
public JDBCUtils class
2012-12-21 18:25:41 +01:00
Lukas Eder
83c197e859 Fixed probable bug 2012-12-21 18:20:18 +01:00
Lukas Eder
c363269a31 Refactored internal constant names 2012-12-21 14:42:40 +01:00
Lukas Eder
a8d6705f37 [#1979] Thread safety issue in org.jooq.impl.FieldList 2012-12-21 14:35:27 +01:00
Lukas Eder
5f8635908a Fixed wrong @Support(DB2) annotation for row value expression comparison
predicates and also relevant test case
2012-12-20 18:09:24 +01:00
Lukas Eder
43417d5874 [#1178] Allow for treating Condition as Field<Boolean> 2012-12-20 17:30:18 +01:00
Lukas Eder
102f6065f6 [#1097] Add org.jooq.Catalog, a type modelling an entity combining
several org.jooq.Schema
2012-12-20 16:51:13 +01:00
Lukas Eder
b7016bd581 [#1703] Add Executor.batchDelete(UpdatableRecord<?>...) to mass-delete a
set of UpdatableRecords
2012-12-20 16:29:06 +01:00
Lukas Eder
09b379103f [#2031] Change union(Select<R>) and similar methods to union(Select<?
extends R>)
2012-12-20 15:05:03 +01:00
Lukas Eder
3ac1764ea5 Re-arranged methods for later code generation through Xtend 2012-12-20 15:02:54 +01:00
Lukas Eder
d4da8c72b0 [#2028] Add Batch.size() to indicate the number of queries that will be
executed by a batch operation
2012-12-20 13:42:40 +01:00
Lukas Eder
fddd972465 [#2030] Add reusable wrapper types for JDBC Connection, Statement,
ResultSet, etc.
2012-12-20 13:31:40 +01:00
Lukas Eder
2f427a4520 [#1549] Externalise connection lifecycle through new ConnectionProvider 2012-12-20 13:06:51 +01:00
Lukas Eder
0977fccd6d [#2001] Named Params are treated as null literals on right sides of
comparisons
2012-12-17 20:49:42 +01:00
Lukas Eder
56d1dd1250 [#2021] Add UpdatableRecord.refresh(Field<?>...) to allow for refreshing
a subset of the Record's values
2012-12-15 16:00:38 +01:00
Lukas Eder
88bdc09a8c Removed some redundancy 2012-12-15 13:57:39 +01:00
Lukas Eder
4c5e9efb59 [#2020] Let org.jooq.ExecuteListener extend java.util.EventListener 2012-12-15 13:50:17 +01:00
Lukas Eder
b4178b5dc7 Don't inline constant 2012-12-14 16:02:20 +01:00
Lukas Eder
90e135d013 [#1924] Add support for CUBRID 9.0's ENUM data type 2012-12-14 15:41:37 +01:00
Lukas Eder
a4a8586e06 [#2008] Add elementFormDefault="qualified" to XSD specifications to
allow for XML validation of jOOQ configuration files
2012-12-14 13:55:32 +01:00
Lukas Eder
007755e46e formatting 2012-12-14 13:33:10 +01:00
Lukas Eder
7b295878e1 [#2011] Implement some micro-optimisations in DefaultRenderContext - 3.
Escaping of quoted literals
2012-12-14 13:25:23 +01:00
Lukas Eder
2268afa4ab [#2011] Implement some micro-optimisations in DefaultRenderContext - 2.
Regular expression usage for indentation
2012-12-14 13:10:04 +01:00
Lukas Eder
4fdf22e710 [#2000] Add Record.reset(), reset(Field<?>), reset(int), reset(String)
to restore original values in a record
2012-12-12 22:09:05 +01:00
Lukas Eder
2f63650bb7 [#1999] Add Record.changed(boolean) changed(boolean, Field<?>)
changed(boolean, int) changed(boolean, String) as setters for the
changed flag
2012-12-12 19:35:00 +01:00
Lukas Eder
e4ed930fd7 [#1995] Record.original() values aren't updated after a Record.store()
operation
2012-12-09 22:33:28 +01:00
Lukas Eder
9e9cdf5c8f [#1987] Allow for reading data from Iterables, arrays, Maps through
Record.from() - Added support for loading from arrays
2012-12-02 12:57:40 +01:00
Lukas Eder
b05ae01be9 [#1988] Add Record.fromArray() as the inverse operation of
Record.intoArray()
2012-12-02 12:53:22 +01:00
Lukas Eder
2aa2e69ea2 [#1991] Reflect changed flag in Result.toString() (and thus also
Record.toString())
2012-12-02 12:35:14 +01:00
Lukas Eder
8f2633f5d9 [#1990] Add <T> T Record.original(Field<T>), original(int),
original(String) to get a field's original value
2012-12-02 12:28:01 +01:00
Lukas Eder
c6e3b61aca [#1989] Add Record.changed(Field<?>), changed(int), changed(String) to
check whether a single field's value has changed
2012-12-02 12:16:55 +01:00
Lukas Eder
66e4716794 [#1987] Allow for reading data from Iterables, arrays, Maps through
Record.from() - Enhanced from() to read maps
2012-12-02 12:09:04 +01:00
Lukas Eder
dff2ca12a3 Removed unnecessary warning suppressions 2012-12-02 10:33:20 +01:00
Lukas Eder
1adbf989e1 Ignore new Eclipse warning "potential resource leak". It seems to
enforce a very rigid resource lifecycle handling
2012-12-02 10:29:02 +01:00
Lukas
d82f0455ab Some auto-generated preference / settings changes 2012-12-01 17:01:49 +01:00
Lukas Eder
962a0226c9 [#1982] Change RenderNameStyle.UPPER, LOWER, AS_IS to quote literals if
needed
2012-11-30 13:01:15 +01:00
Lukas Eder
e8b0133cdf [#1986] Add Record.fromMap() as the inverse operation of
Record.intoMap()
2012-11-30 12:01:09 +01:00
Lukas Eder
fb0127bc6f Added missing "final" keyword 2012-11-30 11:51:03 +01:00
Lukas Eder
a209da8676 [#1636] Add jooq-meta support for querying the JDBC DatabaseMetaData API
- Fixed DECIMAL data type handling
2012-11-30 11:34:03 +01:00
Lukas Eder
073f90648f [#1636] Add jooq-meta support for querying the JDBC DatabaseMetaData API 2012-11-30 11:25:26 +01:00
Lukas Eder
46f5d7c0e6 [#1983] Improve the Javadoc on Table.as() and Field.as() to hint at
case-sensitivity and RenderNameStyle
2012-11-28 19:57:06 +01:00
Lukas Eder
92d483b83e [#1984] Add ResultQuery.fetchOneInto() 2012-11-28 19:28:04 +01:00
Lukas Eder
3d9dd31058 [#1972] Move MySQLFactory.md5() to Factory and simulate it for Oracle -
Use DBMS_CRYPTO instead of DBMS_OBFUSCATION_TOOLKIT
2012-11-23 15:44:19 +01:00
Lukas Eder
7f45eb66f5 [#1976] Add FieldProvider.getIndex(String) 2012-11-23 13:37:04 +01:00
Lukas Eder
7aa56936f1 [#1972] Move MySQLFactory.md5() to Factory and simulate it for Oracle -
Enhanced Javadoc
2012-11-23 13:16:53 +01:00
Lukas Eder
c6468f6779 [#1972] Move MySQLFactory.md5() to Factory and simulate it for Oracle 2012-11-23 13:11:45 +01:00
Lukas Eder
d7aa549ab1 [#1968] Add org.jooq.Meta returned from Executor.meta() to return a
wrapped JDBC DatabaseMetaData object - Added some Javadocs
2012-11-23 12:57:07 +01:00
Lukas Eder
cde26c3af9 [#1097] Add org.jooq.Catalog, a type modelling an entity combining
several org.jooq.Schema
- Added CatalogImpl
- Added getCatalogs() to Meta
2012-11-23 12:54:57 +01:00
Lukas Eder
764338f03b [#1097] Add org.jooq.Catalog, a type modelling an entity combining
several org.jooq.Schema - Added parts of the API
2012-11-23 12:43:48 +01:00
Lukas Eder
02ccfc766d [#1968] Add org.jooq.Meta returned from Executor.meta() to return a
wrapped JDBC DatabaseMetaData object
2012-11-23 12:41:19 +01:00
Lukas Eder
e1ca385651 [#1975] Add Result.sort{Asc | Desc}(int) and (String) to order by field
index / name Edit
2012-11-23 12:20:15 +01:00
Lukas Eder
3d020492b6 [#1973] Add Executor.fetchOne(ResultSet) 2012-11-23 11:54:25 +01:00
Lukas Eder
c303a019bd [#1967] Document using MySQL's SQL_CALC_FOUND_ROWS as an Oracle hint 2012-11-12 19:54:27 +01:00
Lukas Eder
0789a832c7 [#1919] Support higher degrees of Row[N] and Record[N] types. Match
Scala's max degree of 22
2012-11-11 12:34:43 +01:00
Lukas Eder
83feae654e [#1906] Use Xtend to generate Row[N], Record[N] and other code
artefacts - Added Update / Scala Conversions code generation
2012-11-11 12:20:50 +01:00
Lukas Eder
a96282f0fa [#1906] Use Xtend to generate Row[N], Record[N] and other code artefacts
- Added more Factory generation code
2012-11-11 11:31:48 +01:00
Lukas Eder
8415677d17 [#1906] Use Xtend to generate Row[N], Record[N] and other code artefacts
- Added Factory code generation (code insertion)
2012-11-10 15:40:51 +01:00
Lukas Eder
dd71da7929 [#1906] Use Xtend to generate Row[N], Record[N] and other code artefacts
- Use Xtend to generate RecordImpl
2012-11-10 14:48:58 +01:00
Lukas Eder
a476ac1957 [#1906] Use Xtend to generate Row[N], Record[N] and other code artefacts
- Added generation support for Record[N]
2012-11-10 14:38:36 +01:00
Lukas Eder
16b4c68a0e [#1966] Add a Row[N].equal(Record[N]) and similar convenience methods 2012-11-10 14:24:15 +01:00
Lukas Eder
7f31b11909 [#1966] Add a Row[N].equal(Record[N]) and similar convenience methods -
Implemented this for degree = 1. Need a code generator!
2012-11-10 11:32:09 +01:00
Lukas Eder
d94d8cba3c [#1690] Add UpdatableRecord.key() returning a Record holding PK values 2012-11-10 11:18:07 +01:00
Lukas Eder
eb8e865822 [#1962] Improve formatting of window functions - Allow to override the
formatting flag
2012-11-09 18:52:41 +01:00
Lukas Eder
dc9d3d314f [#1907] Remove FactoryOperations, push its API down to
org.jooq.impl.Executor - Documented DataAccessException
2012-11-09 18:36:19 +01:00
Lukas Eder
8f9359f62e [#1907] Remove FactoryOperations, push its API down to
org.jooq.impl.Executor
2012-11-09 18:30:50 +01:00
Lukas Eder
c28255ef86 [#1904] Add Executor.fetch(ResultQuery) and Executor.execute(Query)
methods
2012-11-09 17:55:16 +01:00
Lukas Eder
77896b0fe1 Improved Javadoc 2012-11-09 17:42:53 +01:00
Lukas Eder
fd8fe4c589 [#1951] Add support for SQL Server WITH (...) table hints 2012-11-09 17:16:48 +01:00
Lukas Eder
7c731f93b3 Added missing final keyword 2012-11-09 16:54:37 +01:00
Lukas Eder
54ed7cac9e [#1954] Bad SQL rendered when combining ORDER BY [ some-function ]
with LIMIT .. OFFSET in DB2, SQL Server
2012-11-09 16:30:30 +01:00
Lukas Eder
01f872f06f [#1958] Bad SQL rendered for OVER (ORDER BY [ some-function ]) for SQL
Server and Sybase
2012-11-09 15:38:37 +01:00
Lukas Eder
81d18ecf06 [#1954] Bad SQL rendered when combining ORDER BY [ some-function ] with
LIMIT .. OFFSET in DB2, SQL Server - Workaround for DB2: Avoid ORDER BY
clause in ROW_NUMBER() ranking function
2012-11-09 13:39:54 +01:00
Lukas Eder
d39a5dcb1c [#1937] Inefficient implementations of AbstractDataType.equals() and
hashCode()
2012-11-06 23:36:50 +01:00
Lukas Eder
a70ba0f67f [#1942] Inefficient call to String.split() in StringUtils.toCamelCase()
leads to non-negligible performance overhead in POJO transformation
calls
2012-11-06 23:24:44 +01:00
Lukas Eder
041407b965 [#1938] Improve AbstractField.hashCode() and AbstractTable.hashCode()
and similar, as these two are called very often
2012-11-06 23:00:01 +01:00
Lukas Eder
78184bef2a Document IndexOutOfBoundsException, IllegalArgumentException,
DataTypeException
2012-11-02 17:48:34 +01:00
Lukas Eder
3ff3995fac [#1927] Problems with escaping backslashes in CSV export/import 2012-11-02 16:09:58 +01:00
Lukas Eder
4752b44741 Added test case for condition construction using
fieldByName(...).in(Set)
2012-11-02 14:48:39 +01:00
Lukas Eder
7302d07341 [#1923] Add Record.intoResultSet() to create a single-record JDBC
ResultSet from a Record
2012-11-02 14:04:33 +01:00
Lukas Eder
27a3073b10 [#1917] Add support for CUBRID 9.0's new features - Added and documented
support for CUBRID MERGE statement (Oracle syntax extensions)
2012-11-02 13:31:41 +01:00
Lukas Eder
4aa381f842 [#1917] Add support for CUBRID 9.0's new features - Added support and
documentation for CUBRID's MERGE support
2012-11-02 13:17:09 +01:00
Lukas Eder
eec85836c5 [#1917] Add support for CUBRID 9.0's new features - Added and documented
support for CUBRID window functions
2012-11-02 13:05:33 +01:00
Lukas Eder
b32cf31f5b [#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
2012-10-31 21:58:00 +01:00
Lukas Eder
5e9e00a973 [#1918] Let generated Records implement Record1, Record2, ...,
Record[N] if applicable
2012-10-31 21:14:23 +01:00
Lukas Eder
3c25759f62 Removed unneeded InOperator (which is redundant with SubqueryOperator) 2012-10-29 21:36:45 +01:00
Lukas Eder
6543cb0f42 [#1583] Add support for row expressions in UPDATE statements: UPDATE ..
SET (A, B, C) = (SELECT X, Y, Z)
2012-10-29 21:23:01 +01:00
Lukas Eder
67a2c5f6ee [#1905] Add Row[N].equal(Select<? extends Record[N]>) and similar
methods
2012-10-28 22:16:07 +01:00
Lukas Eder
345db92b31 [#1875] Add generic <R extends Record> type to SelectXXXStep DSL
type hierarchy for increased tuple type-safety
2012-10-28 14:52:53 +01:00
Lukas Eder
ee0a230c7f [#1902] Duplicate SELECT API between Executor and Factory 2012-10-28 10:51:22 +01:00
Lukas Eder
9df9b9a4af Factory internals visual reorganisation 2012-10-28 10:10:26 +01:00
Lukas Eder
12b913a2d9 [#1374] Review usage of generics. Is <? extends T> really justified? 2012-10-27 23:28:57 +02:00
Lukas Eder
cfec453d50 [#1038] Introduce new type GroupField for cube(), rollup() and
groupingSets() functions. Accept only Field... and GroupField... in
groupBy() clauses
2012-10-27 22:48:55 +02:00
Lukas Eder
9caa7041c2 [#1887] Remove all deprecated code 2012-10-27 22:33:51 +02:00
Lukas Eder
bd7d135140 [#1697] Add Factory.all() and Factory.any() to create quantified
expressions
2012-10-27 22:31:43 +02:00