[#1906] Use Xtend to generate Row[N], Record[N] and other code
artefacts - Added Update / Scala Conversions code generation
This commit is contained in:
parent
a96282f0fa
commit
83feae654e
@ -306,6 +306,11 @@ object Conversions {
|
||||
case _ => new AnyFieldWrapper(f)
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// Conversions from jOOQ Record[N] types to Scala Tuple[N] types
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// [jooq-tools] START [tuples]
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record1} with the {@link Tuple1} case class
|
||||
*/
|
||||
@ -369,4 +374,7 @@ object Conversions {
|
||||
case null => null
|
||||
case _ => Tuple8(r.value1, r.value2, r.value3, r.value4, r.value5, r.value6, r.value7, r.value8)
|
||||
}
|
||||
|
||||
// [jooq-tools] END [tuples]
|
||||
|
||||
}
|
||||
|
||||
68
jOOQ-tools/src/org/jooq/xtend/Conversions.xtend
Normal file
68
jOOQ-tools/src/org/jooq/xtend/Conversions.xtend
Normal file
@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Copyright (c) 2009-2012, Lukas Eder, lukas.eder@gmail.com
|
||||
* All rights reserved.
|
||||
*
|
||||
* This software is licensed to you under the Apache License, Version 2.0
|
||||
* (the "License"); You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name "jOOQ" nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.jooq.xtend
|
||||
|
||||
import org.jooq.Constants
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
class Conversions extends Generators {
|
||||
|
||||
def static void main(String[] args) {
|
||||
val conversions = new Conversions();
|
||||
conversions.generateConversions();
|
||||
}
|
||||
|
||||
def generateConversions() {
|
||||
val out = new StringBuilder();
|
||||
|
||||
out.append('''
|
||||
«FOR degree : (1..Constants::MAX_ROW_DEGREE)»
|
||||
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record«degree»} with the {@link Tuple«degree»} case class
|
||||
*/
|
||||
implicit def asTuple«degree»[«TN(degree)»](r : Record«degree»[«TN(degree)»]): Tuple«degree»[«TN(degree)»] = r match {
|
||||
case null => null
|
||||
case _ => Tuple«degree»(«FOR d : (1..degree) SEPARATOR ', '»r.value«d»«ENDFOR»)
|
||||
}
|
||||
«ENDFOR»
|
||||
''');
|
||||
|
||||
insert("org.jooq.scala.Conversions", out, "tuples");
|
||||
}
|
||||
}
|
||||
11
jOOQ-tools/src/org/jooq/xtend/GenerateAll.xtend
Normal file
11
jOOQ-tools/src/org/jooq/xtend/GenerateAll.xtend
Normal file
@ -0,0 +1,11 @@
|
||||
package org.jooq.xtend
|
||||
|
||||
class GenerateAll {
|
||||
def static void main(String[] args) {
|
||||
Conversions::main(args);
|
||||
Factory::main(args);
|
||||
Records::main(args);
|
||||
Rows::main(args);
|
||||
Update::main(args);
|
||||
}
|
||||
}
|
||||
@ -45,8 +45,17 @@ import java.io.RandomAccessFile
|
||||
*/
|
||||
abstract class Generators {
|
||||
|
||||
def file(String className) {
|
||||
if (className.contains("scala")) {
|
||||
return new File("./../jOOQ-scala/src/main/scala/" + className.replace(".", "/") + ".scala");
|
||||
}
|
||||
else {
|
||||
return new File("./../jOOQ/src/main/java/" + className.replace(".", "/") + ".java");
|
||||
}
|
||||
}
|
||||
|
||||
def read(String className) {
|
||||
val file = new File("./../jOOQ/src/main/java/" + className.replace(".", "/") + ".java");
|
||||
val file = file(className)
|
||||
|
||||
try {
|
||||
val f = new RandomAccessFile(file, "r");
|
||||
@ -74,7 +83,7 @@ abstract class Generators {
|
||||
}
|
||||
|
||||
def write(String className, CharSequence contents) {
|
||||
val file = new File("./../jOOQ/src/main/java/" + className.replace(".", "/") + ".java");
|
||||
val file = file(className);
|
||||
file.getParentFile().mkdirs();
|
||||
|
||||
try {
|
||||
|
||||
190
jOOQ-tools/src/org/jooq/xtend/Update.xtend
Normal file
190
jOOQ-tools/src/org/jooq/xtend/Update.xtend
Normal file
@ -0,0 +1,190 @@
|
||||
/**
|
||||
* Copyright (c) 2009-2012, Lukas Eder, lukas.eder@gmail.com
|
||||
* All rights reserved.
|
||||
*
|
||||
* This software is licensed to you under the Apache License, Version 2.0
|
||||
* (the "License"); You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name "jOOQ" nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.jooq.xtend
|
||||
|
||||
import org.jooq.Constants
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
class Update extends Generators {
|
||||
|
||||
def static void main(String[] args) {
|
||||
val update = new Update();
|
||||
update.generateUpdateQuery();
|
||||
update.generateUpdateQueryImpl();
|
||||
update.generateUpdateSetFirstStep();
|
||||
update.generateUpdateImpl();
|
||||
}
|
||||
|
||||
def generateUpdateQuery() {
|
||||
val out = new StringBuilder();
|
||||
|
||||
out.append('''
|
||||
«FOR degree : (1..Constants::MAX_ROW_DEGREE)»
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
«generatedMethod»
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<«TN(degree)»> void addValues(Row«degree»<«TN(degree)»> row, Row«degree»<«TN(degree)»> value);
|
||||
«ENDFOR»
|
||||
«FOR degree : (1..Constants::MAX_ROW_DEGREE)»
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
«generatedMethod»
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<«TN(degree)»> void addValues(Row«degree»<«TN(degree)»> row, Select<? extends Record«degree»<«TN(degree)»>> select);
|
||||
«ENDFOR»
|
||||
''');
|
||||
|
||||
insert("org.jooq.UpdateQuery", out, "addValues");
|
||||
}
|
||||
|
||||
def generateUpdateQueryImpl() {
|
||||
val out = new StringBuilder();
|
||||
|
||||
out.append('''
|
||||
«FOR degree : (1..Constants::MAX_ROW_DEGREE)»
|
||||
|
||||
«generatedMethod»
|
||||
@Override
|
||||
public final <«TN(degree)»> void addValues(Row«degree»<«TN(degree)»> row, Row«degree»<«TN(degree)»> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
«ENDFOR»
|
||||
«FOR degree : (1..Constants::MAX_ROW_DEGREE)»
|
||||
|
||||
«generatedMethod»
|
||||
@Override
|
||||
public final <«TN(degree)»> void addValues(Row«degree»<«TN(degree)»> row, Select<? extends Record«degree»<«TN(degree)»>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
«ENDFOR»
|
||||
''');
|
||||
|
||||
insert("org.jooq.impl.UpdateQueryImpl", out, "addValues");
|
||||
}
|
||||
|
||||
def generateUpdateSetFirstStep() {
|
||||
val out = new StringBuilder();
|
||||
|
||||
out.append('''
|
||||
«classHeader»
|
||||
package org.jooq;
|
||||
|
||||
import static org.jooq.SQLDialect.DB2;
|
||||
import static org.jooq.SQLDialect.H2;
|
||||
import static org.jooq.SQLDialect.HSQLDB;
|
||||
import static org.jooq.SQLDialect.INGRES;
|
||||
import static org.jooq.SQLDialect.ORACLE;
|
||||
import static org.jooq.SQLDialect.POSTGRES;
|
||||
|
||||
import javax.annotation.Generated;
|
||||
|
||||
/**
|
||||
* This type is used for the {@link Update}'s DSL API.
|
||||
* <p>
|
||||
* Example: <code><pre>
|
||||
* Executor create = new Executor(connection, dialect);
|
||||
*
|
||||
* create.update(table)
|
||||
* .set(field1, value1)
|
||||
* .set(field2, value2)
|
||||
* .where(field1.greaterThan(100))
|
||||
* .execute();
|
||||
* </pre></code>
|
||||
*
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
«generatedAnnotation»
|
||||
public interface UpdateSetFirstStep<R extends Record> extends UpdateSetStep<R> {
|
||||
«FOR degree : (1..Constants::MAX_ROW_DEGREE)»
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
* <p>
|
||||
* This is simulated using a subquery for the <code>value</code>, where row
|
||||
* value expressions aren't supported.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<«TN(degree)»> UpdateWhereStep<R> set(Row«degree»<«TN(degree)»> row, Row«degree»<«TN(degree)»> value);
|
||||
«ENDFOR»
|
||||
«FOR degree : (1..Constants::MAX_ROW_DEGREE)»
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<«TN(degree)»> UpdateWhereStep<R> set(Row«degree»<«TN(degree)»> row, Select<? extends Record«degree»<«TN(degree)»>> select);
|
||||
«ENDFOR»
|
||||
|
||||
}
|
||||
''');
|
||||
|
||||
write("org.jooq.UpdateSetFirstStep", out);
|
||||
}
|
||||
|
||||
def generateUpdateImpl() {
|
||||
val out = new StringBuilder();
|
||||
|
||||
out.append('''
|
||||
«FOR degree : (1..Constants::MAX_ROW_DEGREE)»
|
||||
|
||||
«generatedMethod»
|
||||
@Override
|
||||
public final <«TN(degree)»> UpdateWhereStep<R> set(Row«degree»<«TN(degree)»> row, Row«degree»<«TN(degree)»> value) {
|
||||
getDelegate().addValues(row, value);
|
||||
return this;
|
||||
}
|
||||
«ENDFOR»
|
||||
«FOR degree : (1..Constants::MAX_ROW_DEGREE)»
|
||||
|
||||
«generatedMethod»
|
||||
@Override
|
||||
public final <«TN(degree)»> UpdateWhereStep<R> set(Row«degree»<«TN(degree)»> row, Select<? extends Record«degree»<«TN(degree)»>> select) {
|
||||
getDelegate().addValues(row, select);
|
||||
return this;
|
||||
}
|
||||
«ENDFOR»
|
||||
''');
|
||||
|
||||
insert("org.jooq.impl.UpdateImpl", out, "set");
|
||||
}
|
||||
}
|
||||
@ -45,6 +45,8 @@ import static org.jooq.SQLDialect.POSTGRES;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import javax.annotation.Generated;
|
||||
|
||||
/**
|
||||
* A query for data updating
|
||||
*
|
||||
@ -54,101 +56,121 @@ import java.util.Collection;
|
||||
@SuppressWarnings("deprecation")
|
||||
public interface UpdateQuery<R extends Record> extends StoreQuery<R>, ConditionProvider, Update<R> {
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1> void addValues(Row1<T1> row, Row1<T1> value);
|
||||
// [jooq-tools] START [addValues]
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1> void addValues(Row1<T1> row, Row1<T1> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2> void addValues(Row2<T1, T2> row, Row2<T1, T2> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3> void addValues(Row3<T1, T2, T3> row, Row3<T1, T2, T3> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4> void addValues(Row4<T1, T2, T3, T4> row, Row4<T1, T2, T3, T4> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4, T5> void addValues(Row5<T1, T2, T3, T4, T5> row, Row5<T1, T2, T3, T4, T5> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4, T5, T6> void addValues(Row6<T1, T2, T3, T4, T5, T6> row, Row6<T1, T2, T3, T4, T5, T6> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4, T5, T6, T7> void addValues(Row7<T1, T2, T3, T4, T5, T6, T7> row, Row7<T1, T2, T3, T4, T5, T6, T7> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4, T5, T6, T7, T8> void addValues(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Row8<T1, T2, T3, T4, T5, T6, T7, T8> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1> void addValues(Row1<T1> row, Select<? extends Record1<T1>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2> void addValues(Row2<T1, T2> row, Select<? extends Record2<T1, T2>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3> void addValues(Row3<T1, T2, T3> row, Select<? extends Record3<T1, T2, T3>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4> void addValues(Row4<T1, T2, T3, T4> row, Select<? extends Record4<T1, T2, T3, T4>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4, T5> void addValues(Row5<T1, T2, T3, T4, T5> row, Select<? extends Record5<T1, T2, T3, T4, T5>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4, T5, T6> void addValues(Row6<T1, T2, T3, T4, T5, T6> row, Select<? extends Record6<T1, T2, T3, T4, T5, T6>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4, T5, T6, T7> void addValues(Row7<T1, T2, T3, T4, T5, T6, T7> row, Select<? extends Record7<T1, T2, T3, T4, T5, T6, T7>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4, T5, T6, T7, T8> void addValues(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Select<? extends Record8<T1, T2, T3, T4, T5, T6, T7, T8>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2> void addValues(Row2<T1, T2> row, Row2<T1, T2> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3> void addValues(Row3<T1, T2, T3> row, Row3<T1, T2, T3> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4> void addValues(Row4<T1, T2, T3, T4> row, Row4<T1, T2, T3, T4> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4, T5> void addValues(Row5<T1, T2, T3, T4, T5> row, Row5<T1, T2, T3, T4, T5> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4, T5, T6> void addValues(Row6<T1, T2, T3, T4, T5, T6> row, Row6<T1, T2, T3, T4, T5, T6> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4, T5, T6, T7> void addValues(Row7<T1, T2, T3, T4, T5, T6, T7> row, Row7<T1, T2, T3, T4, T5, T6, T7> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE, POSTGRES })
|
||||
<T1, T2, T3, T4, T5, T6, T7, T8> void addValues(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Row8<T1, T2, T3, T4, T5, T6, T7, T8> value);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1> void addValues(Row1<T1> row, Select<? extends Record1<T1>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2> void addValues(Row2<T1, T2> row, Select<? extends Record2<T1, T2>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3> void addValues(Row3<T1, T2, T3> row, Select<? extends Record3<T1, T2, T3>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4> void addValues(Row4<T1, T2, T3, T4> row, Select<? extends Record4<T1, T2, T3, T4>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4, T5> void addValues(Row5<T1, T2, T3, T4, T5> row, Select<? extends Record5<T1, T2, T3, T4, T5>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4, T5, T6> void addValues(Row6<T1, T2, T3, T4, T5, T6> row, Select<? extends Record6<T1, T2, T3, T4, T5, T6>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4, T5, T6, T7> void addValues(Row7<T1, T2, T3, T4, T5, T6, T7> row, Select<? extends Record7<T1, T2, T3, T4, T5, T6, T7>> select);
|
||||
|
||||
/**
|
||||
* Specify a multi-column set clause for the <code>UPDATE</code> statement.
|
||||
*/
|
||||
@Support({ DB2, H2, HSQLDB, INGRES, ORACLE })
|
||||
<T1, T2, T3, T4, T5, T6, T7, T8> void addValues(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Select<? extends Record8<T1, T2, T3, T4, T5, T6, T7, T8>> select);
|
||||
// [jooq-tools] END [addValues]
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Methods from ConditionProvider
|
||||
|
||||
@ -42,11 +42,13 @@ import static org.jooq.SQLDialect.INGRES;
|
||||
import static org.jooq.SQLDialect.ORACLE;
|
||||
import static org.jooq.SQLDialect.POSTGRES;
|
||||
|
||||
import javax.annotation.Generated;
|
||||
|
||||
/**
|
||||
* This type is used for the {@link Update}'s DSL API.
|
||||
* <p>
|
||||
* Example: <code><pre>
|
||||
* Factory create = new Factory();
|
||||
* Executor create = new Executor(connection, dialect);
|
||||
*
|
||||
* create.update(table)
|
||||
* .set(field1, value1)
|
||||
@ -57,6 +59,7 @@ import static org.jooq.SQLDialect.POSTGRES;
|
||||
*
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
@Generated("This class was generated using jOOQ-tools")
|
||||
public interface UpdateSetFirstStep<R extends Record> extends UpdateSetStep<R> {
|
||||
|
||||
/**
|
||||
|
||||
@ -42,6 +42,8 @@ import static org.jooq.impl.Factory.notExists;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Generated;
|
||||
|
||||
import org.jooq.Condition;
|
||||
import org.jooq.Configuration;
|
||||
import org.jooq.Field;
|
||||
@ -113,101 +115,120 @@ final class UpdateImpl<R extends Record>
|
||||
return this;
|
||||
}
|
||||
|
||||
// [jooq-tools] START [set]
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1> UpdateWhereStep<R> set(Row1<T1> row, Row1<T1> value) {
|
||||
getDelegate().addValues(row, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2> UpdateWhereStep<R> set(Row2<T1, T2> row, Row2<T1, T2> value) {
|
||||
getDelegate().addValues(row, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3> UpdateWhereStep<R> set(Row3<T1, T2, T3> row, Row3<T1, T2, T3> value) {
|
||||
getDelegate().addValues(row, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4> UpdateWhereStep<R> set(Row4<T1, T2, T3, T4> row, Row4<T1, T2, T3, T4> value) {
|
||||
getDelegate().addValues(row, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5> UpdateWhereStep<R> set(Row5<T1, T2, T3, T4, T5> row, Row5<T1, T2, T3, T4, T5> value) {
|
||||
getDelegate().addValues(row, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6> UpdateWhereStep<R> set(Row6<T1, T2, T3, T4, T5, T6> row, Row6<T1, T2, T3, T4, T5, T6> value) {
|
||||
getDelegate().addValues(row, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7> UpdateWhereStep<R> set(Row7<T1, T2, T3, T4, T5, T6, T7> row, Row7<T1, T2, T3, T4, T5, T6, T7> value) {
|
||||
getDelegate().addValues(row, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7, T8> UpdateWhereStep<R> set(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Row8<T1, T2, T3, T4, T5, T6, T7, T8> value) {
|
||||
getDelegate().addValues(row, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1> UpdateWhereStep<R> set(Row1<T1> row, Select<? extends Record1<T1>> select) {
|
||||
getDelegate().addValues(row, select);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2> UpdateWhereStep<R> set(Row2<T1, T2> row, Select<? extends Record2<T1, T2>> select) {
|
||||
getDelegate().addValues(row, select);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3> UpdateWhereStep<R> set(Row3<T1, T2, T3> row, Select<? extends Record3<T1, T2, T3>> select) {
|
||||
getDelegate().addValues(row, select);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4> UpdateWhereStep<R> set(Row4<T1, T2, T3, T4> row, Select<? extends Record4<T1, T2, T3, T4>> select) {
|
||||
getDelegate().addValues(row, select);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5> UpdateWhereStep<R> set(Row5<T1, T2, T3, T4, T5> row, Select<? extends Record5<T1, T2, T3, T4, T5>> select) {
|
||||
getDelegate().addValues(row, select);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6> UpdateWhereStep<R> set(Row6<T1, T2, T3, T4, T5, T6> row, Select<? extends Record6<T1, T2, T3, T4, T5, T6>> select) {
|
||||
getDelegate().addValues(row, select);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7> UpdateWhereStep<R> set(Row7<T1, T2, T3, T4, T5, T6, T7> row, Select<? extends Record7<T1, T2, T3, T4, T5, T6, T7>> select) {
|
||||
getDelegate().addValues(row, select);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7, T8> UpdateWhereStep<R> set(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Select<? extends Record8<T1, T2, T3, T4, T5, T6, T7, T8>> select) {
|
||||
getDelegate().addValues(row, select);
|
||||
return this;
|
||||
}
|
||||
|
||||
// [jooq-tools] END [set]
|
||||
|
||||
@Override
|
||||
public final UpdateImpl<R> where(Condition... conditions) {
|
||||
|
||||
@ -44,6 +44,8 @@ import static org.jooq.impl.Factory.select;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Generated;
|
||||
|
||||
import org.jooq.BindContext;
|
||||
import org.jooq.Condition;
|
||||
import org.jooq.Configuration;
|
||||
@ -106,91 +108,111 @@ class UpdateQueryImpl<R extends Record> extends AbstractStoreQuery<R> implements
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1> void addValues(Row1<T1> row, Row1<T1> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
// [jooq-tools] START [addValues]
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1> void addValues(Row1<T1> row, Row1<T1> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2> void addValues(Row2<T1, T2> row, Row2<T1, T2> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3> void addValues(Row3<T1, T2, T3> row, Row3<T1, T2, T3> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4> void addValues(Row4<T1, T2, T3, T4> row, Row4<T1, T2, T3, T4> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5> void addValues(Row5<T1, T2, T3, T4, T5> row, Row5<T1, T2, T3, T4, T5> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6> void addValues(Row6<T1, T2, T3, T4, T5, T6> row, Row6<T1, T2, T3, T4, T5, T6> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7> void addValues(Row7<T1, T2, T3, T4, T5, T6, T7> row, Row7<T1, T2, T3, T4, T5, T6, T7> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7, T8> void addValues(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Row8<T1, T2, T3, T4, T5, T6, T7, T8> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1> void addValues(Row1<T1> row, Select<? extends Record1<T1>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2> void addValues(Row2<T1, T2> row, Select<? extends Record2<T1, T2>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3> void addValues(Row3<T1, T2, T3> row, Select<? extends Record3<T1, T2, T3>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4> void addValues(Row4<T1, T2, T3, T4> row, Select<? extends Record4<T1, T2, T3, T4>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5> void addValues(Row5<T1, T2, T3, T4, T5> row, Select<? extends Record5<T1, T2, T3, T4, T5>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6> void addValues(Row6<T1, T2, T3, T4, T5, T6> row, Select<? extends Record6<T1, T2, T3, T4, T5, T6>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7> void addValues(Row7<T1, T2, T3, T4, T5, T6, T7> row, Select<? extends Record7<T1, T2, T3, T4, T5, T6, T7>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Generated("This method was generated using jOOQ-tools")
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7, T8> void addValues(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Select<? extends Record8<T1, T2, T3, T4, T5, T6, T7, T8>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2> void addValues(Row2<T1, T2> row, Row2<T1, T2> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3> void addValues(Row3<T1, T2, T3> row, Row3<T1, T2, T3> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4> void addValues(Row4<T1, T2, T3, T4> row, Row4<T1, T2, T3, T4> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5> void addValues(Row5<T1, T2, T3, T4, T5> row, Row5<T1, T2, T3, T4, T5> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6> void addValues(Row6<T1, T2, T3, T4, T5, T6> row, Row6<T1, T2, T3, T4, T5, T6> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7> void addValues(Row7<T1, T2, T3, T4, T5, T6, T7> row, Row7<T1, T2, T3, T4, T5, T6, T7> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7, T8> void addValues(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Row8<T1, T2, T3, T4, T5, T6, T7, T8> value) {
|
||||
addValues0(row, value);
|
||||
}
|
||||
// [jooq-tools] END [addValues]
|
||||
|
||||
private final void addValues0(Row row, Row value) {
|
||||
multiRow = row;
|
||||
multiValue = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1> void addValues(Row1<T1> row, Select<? extends Record1<T1>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2> void addValues(Row2<T1, T2> row, Select<? extends Record2<T1, T2>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3> void addValues(Row3<T1, T2, T3> row, Select<? extends Record3<T1, T2, T3>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4> void addValues(Row4<T1, T2, T3, T4> row, Select<? extends Record4<T1, T2, T3, T4>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5> void addValues(Row5<T1, T2, T3, T4, T5> row, Select<? extends Record5<T1, T2, T3, T4, T5>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6> void addValues(Row6<T1, T2, T3, T4, T5, T6> row, Select<? extends Record6<T1, T2, T3, T4, T5, T6>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7> void addValues(Row7<T1, T2, T3, T4, T5, T6, T7> row, Select<? extends Record7<T1, T2, T3, T4, T5, T6, T7>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T1, T2, T3, T4, T5, T6, T7, T8> void addValues(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row, Select<? extends Record8<T1, T2, T3, T4, T5, T6, T7, T8>> select) {
|
||||
addValues0(row, select);
|
||||
}
|
||||
|
||||
private final void addValues0(Row row, Select<?> select) {
|
||||
multiRow = row;
|
||||
multiSelect = select;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user