Switched unit tests from Oracle to MySQL dialect

This commit is contained in:
Lukas Eder 2013-09-16 17:43:39 +02:00
parent c3930a7d11
commit ca1a8b149c
8 changed files with 676 additions and 674 deletions

View File

@ -53,30 +53,30 @@
*/
package org.jooq.test;
import static org.jooq.conf.ParamType.INLINED;
import static org.jooq.conf.ParamType.NAMED;
import static org.jooq.test.data.Table1.FIELD_ID1;
import static org.jooq.test.data.Table1.FIELD_NAME1;
import static org.jooq.test.data.Table1.TABLE1;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.Time;
import java.sql.Timestamp;
import org.jooq.BindContext;
import org.jooq.DSLContext;
import org.jooq.RenderContext;
import org.jooq.Result;
import org.jooq.SQLDialect;
import org.jooq.impl.DSL;
import org.jooq.test.data.Table1Record;
import org.jooq.util.oracle.OracleDataType;
import org.jmock.Mockery;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import static org.jooq.conf.ParamType.INLINED;
import static org.jooq.conf.ParamType.NAMED;
import static org.jooq.test.data.Table1.FIELD_ID1;
import static org.jooq.test.data.Table1.FIELD_NAME1;
import static org.jooq.test.data.Table1.TABLE1;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.Time;
import java.sql.Timestamp;
import org.jooq.BindContext;
import org.jooq.DSLContext;
import org.jooq.RenderContext;
import org.jooq.Result;
import org.jooq.SQLDialect;
import org.jooq.impl.DSL;
import org.jooq.test.data.Table1Record;
import org.jooq.util.oracle.OracleDataType;
import org.jmock.Mockery;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
/**
* A base class for unit tests
@ -104,7 +104,7 @@ public abstract class AbstractTest {
public void setUp() throws Exception {
context = new Mockery();
statement = context.mock(PreparedStatement.class);
create = DSL.using(SQLDialect.ORACLE);
create = DSL.using(SQLDialect.MYSQL);
resultEmpty = create.newResult(TABLE1);

File diff suppressed because it is too large Load Diff

View File

@ -53,12 +53,12 @@
*/
package org.jooq.test;
import static org.jooq.test.data.Table1.FIELD_ID1;
import static org.junit.Assert.assertEquals;
import org.jooq.impl.SQLDataType;
import org.junit.Test;
import static org.jooq.test.data.Table1.FIELD_ID1;
import static org.junit.Assert.assertEquals;
import org.jooq.impl.SQLDataType;
import org.junit.Test;
/**
@ -70,8 +70,8 @@ public class CastTest extends AbstractTest {
@Test
public void testCastDecimal() {
assertEquals("cast(\"TABLE1\".\"ID1\" as decimal)", create.render(FIELD_ID1.cast(SQLDataType.DECIMAL)));
assertEquals("cast(\"TABLE1\".\"ID1\" as decimal(2))", create.render(FIELD_ID1.cast(SQLDataType.DECIMAL.precision(2))));
assertEquals("cast(\"TABLE1\".\"ID1\" as decimal(2, 1))", create.render(FIELD_ID1.cast(SQLDataType.DECIMAL.precision(2, 1))));
assertEquals("cast(`TABLE1`.`ID1` as decimal)", create.render(FIELD_ID1.cast(SQLDataType.DECIMAL)));
assertEquals("cast(`TABLE1`.`ID1` as decimal(2))", create.render(FIELD_ID1.cast(SQLDataType.DECIMAL.precision(2))));
assertEquals("cast(`TABLE1`.`ID1` as decimal(2, 1))", create.render(FIELD_ID1.cast(SQLDataType.DECIMAL.precision(2, 1))));
}
}

View File

@ -54,22 +54,22 @@
package org.jooq.test;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
import static org.jooq.impl.DSL.fieldByName;
import static org.jooq.impl.DSL.val;
import java.sql.Timestamp;
import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.test.data.Table1;
import org.jooq.types.DayToSecond;
import org.jooq.types.Interval;
import org.jooq.types.YearToMonth;
import org.jmock.Expectations;
import org.junit.Test;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
import static org.jooq.impl.DSL.fieldByName;
import static org.jooq.impl.DSL.val;
import java.sql.Timestamp;
import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.test.data.Table1;
import org.jooq.types.DayToSecond;
import org.jooq.types.Interval;
import org.jooq.types.YearToMonth;
import org.jmock.Expectations;
import org.junit.Test;
/**
@ -93,7 +93,7 @@ public class DataTypeTest extends AbstractTest {
// ---------------------------------------------
{
Condition int_int = integer.eq(1);
assertEquals("\"TABLE1\".\"ID1\" = 1", r_refI().render(int_int));
assertEquals("`TABLE1`.`ID1` = 1", r_refI().render(int_int));
context.checking(new Expectations() {{
oneOf(statement).setInt(1, 1);
}});
@ -104,7 +104,7 @@ public class DataTypeTest extends AbstractTest {
{
Condition string_string = string.eq("1");
assertEquals("\"TABLE1\".\"NAME1\" = '1'", r_refI().render(string_string));
assertEquals("`TABLE1`.`NAME1` = '1'", r_refI().render(string_string));
context.checking(new Expectations() {{
oneOf(statement).setString(1, "1");
}});
@ -117,7 +117,7 @@ public class DataTypeTest extends AbstractTest {
// -------------------------------------------------
{
Condition int_string = integer.eq("1");
assertEquals("\"TABLE1\".\"ID1\" = 1", r_refI().render(int_string));
assertEquals("`TABLE1`.`ID1` = 1", r_refI().render(int_string));
context.checking(new Expectations() {{
oneOf(statement).setInt(1, 1);
}});
@ -126,7 +126,7 @@ public class DataTypeTest extends AbstractTest {
context.assertIsSatisfied();
Condition string_int = string.eq(1);
assertEquals("\"TABLE1\".\"NAME1\" = '1'", r_refI().render(string_int));
assertEquals("`TABLE1`.`NAME1` = '1'", r_refI().render(string_int));
context.checking(new Expectations() {{
oneOf(statement).setString(1, "1");
}});
@ -139,7 +139,7 @@ public class DataTypeTest extends AbstractTest {
// ------------
{
Condition object_int = object.eq(1);
assertEquals("\"ANY\" = 1", r_refI().render(object_int));
assertEquals("`ANY` = 1", r_refI().render(object_int));
context.checking(new Expectations() {{
oneOf(statement).setInt(1, 1);
}});
@ -150,7 +150,7 @@ public class DataTypeTest extends AbstractTest {
{
Condition object_string = object.eq("1");
assertEquals("\"ANY\" = '1'", r_refI().render(object_string));
assertEquals("`ANY` = '1'", r_refI().render(object_string));
context.checking(new Expectations() {{
oneOf(statement).setString(1, "1");
}});
@ -161,7 +161,7 @@ public class DataTypeTest extends AbstractTest {
{
Condition object_date = object.eq(Timestamp.valueOf("2012-12-21 15:30:00.0"));
assertEquals("\"ANY\" = timestamp '2012-12-21 15:30:00.0'", r_refI().render(object_date));
assertEquals("`ANY` = timestamp '2012-12-21 15:30:00.0'", r_refI().render(object_date));
context.checking(new Expectations() {{
oneOf(statement).setTimestamp(1, Timestamp.valueOf("2012-12-21 15:30:00.0"));
}});
@ -185,7 +185,7 @@ public class DataTypeTest extends AbstractTest {
// ---------------------------------------------
{
Condition int_int = integer.in(1);
assertEquals("\"TABLE1\".\"ID1\" in (1)", r_refI().render(int_int));
assertEquals("`TABLE1`.`ID1` in (1)", r_refI().render(int_int));
context.checking(new Expectations() {{
oneOf(statement).setInt(1, 1);
}});
@ -196,7 +196,7 @@ public class DataTypeTest extends AbstractTest {
{
Condition string_string = string.in("1");
assertEquals("\"TABLE1\".\"NAME1\" in ('1')", r_refI().render(string_string));
assertEquals("`TABLE1`.`NAME1` in ('1')", r_refI().render(string_string));
context.checking(new Expectations() {{
oneOf(statement).setString(1, "1");
}});
@ -209,7 +209,7 @@ public class DataTypeTest extends AbstractTest {
// -------------------------------------------------
{
Condition int_string = integer.in("1");
assertEquals("\"TABLE1\".\"ID1\" in (1)", r_refI().render(int_string));
assertEquals("`TABLE1`.`ID1` in (1)", r_refI().render(int_string));
context.checking(new Expectations() {{
oneOf(statement).setInt(1, 1);
}});
@ -218,7 +218,7 @@ public class DataTypeTest extends AbstractTest {
context.assertIsSatisfied();
Condition string_int = string.in(1);
assertEquals("\"TABLE1\".\"NAME1\" in ('1')", r_refI().render(string_int));
assertEquals("`TABLE1`.`NAME1` in ('1')", r_refI().render(string_int));
context.checking(new Expectations() {{
oneOf(statement).setString(1, "1");
}});
@ -231,7 +231,7 @@ public class DataTypeTest extends AbstractTest {
// ------------
{
Condition object_int = object.in(1);
assertEquals("\"ANY\" in (1)", r_refI().render(object_int));
assertEquals("`ANY` in (1)", r_refI().render(object_int));
context.checking(new Expectations() {{
oneOf(statement).setInt(1, 1);
}});
@ -242,7 +242,7 @@ public class DataTypeTest extends AbstractTest {
{
Condition object_string = object.in("1");
assertEquals("\"ANY\" in ('1')", r_refI().render(object_string));
assertEquals("`ANY` in ('1')", r_refI().render(object_string));
context.checking(new Expectations() {{
oneOf(statement).setString(1, "1");
}});

View File

@ -53,42 +53,42 @@
*/
package org.jooq.test;
import static java.util.Arrays.asList;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNull;
import static junit.framework.Assert.fail;
import static org.jooq.impl.DSL.val;
import static org.jooq.test.data.Table1.FIELD_ID1;
import static org.jooq.test.data.Table1.FIELD_NAME1;
import static org.jooq.test.data.Table1.TABLE1;
import static org.jooq.test.data.Table2.FIELD_ID2;
import static org.jooq.test.data.Table2.FIELD_NAME2;
import static org.jooq.test.data.Table2.TABLE2;
import java.io.File;
import java.sql.SQLException;
import java.util.List;
import org.jooq.DSLContext;
import org.jooq.InsertResultStep;
import org.jooq.Query;
import org.jooq.Record;
import org.jooq.Record1;
import org.jooq.Record2;
import org.jooq.Result;
import org.jooq.SQLDialect;
import org.jooq.exception.DataAccessException;
import org.jooq.impl.DSL;
import org.jooq.test.data.Table1;
import org.jooq.test.data.Table1Record;
import org.jooq.tools.jdbc.MockConnection;
import org.jooq.tools.jdbc.MockDataProvider;
import org.jooq.tools.jdbc.MockExecuteContext;
import org.jooq.tools.jdbc.MockFileDatabase;
import org.jooq.tools.jdbc.MockResult;
import org.junit.BeforeClass;
import org.junit.Test;
import static java.util.Arrays.asList;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNull;
import static junit.framework.Assert.fail;
import static org.jooq.impl.DSL.val;
import static org.jooq.test.data.Table1.FIELD_ID1;
import static org.jooq.test.data.Table1.FIELD_NAME1;
import static org.jooq.test.data.Table1.TABLE1;
import static org.jooq.test.data.Table2.FIELD_ID2;
import static org.jooq.test.data.Table2.FIELD_NAME2;
import static org.jooq.test.data.Table2.TABLE2;
import java.io.File;
import java.sql.SQLException;
import java.util.List;
import org.jooq.DSLContext;
import org.jooq.InsertResultStep;
import org.jooq.Query;
import org.jooq.Record;
import org.jooq.Record1;
import org.jooq.Record2;
import org.jooq.Result;
import org.jooq.SQLDialect;
import org.jooq.exception.DataAccessException;
import org.jooq.impl.DSL;
import org.jooq.test.data.Table1;
import org.jooq.test.data.Table1Record;
import org.jooq.tools.jdbc.MockConnection;
import org.jooq.tools.jdbc.MockDataProvider;
import org.jooq.tools.jdbc.MockExecuteContext;
import org.jooq.tools.jdbc.MockFileDatabase;
import org.jooq.tools.jdbc.MockResult;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* This test suite contains tests for the JDBC mock implementations.
@ -102,7 +102,7 @@ public class MockTest extends AbstractTest {
@BeforeClass
public static void before() throws Exception {
File file = new File(MockTest.class.getResource("/org/jooq/test/data/db.txt").toURI());
MOCK = DSL.using(new MockConnection(new MockFileDatabase(file)), SQLDialect.ORACLE);
MOCK = DSL.using(new MockConnection(new MockFileDatabase(file)), SQLDialect.POSTGRES);
}
@Test
@ -309,7 +309,7 @@ public class MockTest extends AbstractTest {
public void testInsertReturning() {
// Note: INSERT .. RETURNING is hard to mock for all dialects...
DSLContext e = DSL.using(new MockConnection(new InsertReturning()), SQLDialect.ORACLE);
DSLContext e = DSL.using(new MockConnection(new InsertReturning()), SQLDialect.POSTGRES);
InsertResultStep<Table1Record> query = e
.insertInto(TABLE1, FIELD_ID1)
@ -340,8 +340,8 @@ public class MockTest extends AbstractTest {
@Test
public void testFileDatabase_SELECT_A_FROM_DUAL() throws Exception {
Result<Record> r1 = MOCK.fetch("select 'A' from dual");
Result<Record> r2 = MOCK.fetch("select ? from dual", "A");
Result<Record> r1 = MOCK.fetch("select 'A'");
Result<Record> r2 = MOCK.fetch("select ?", "A");
Result<Record1<String>> r3 = MOCK.select(val("A")).fetch();
assertEquals(1, r1.size());

View File

@ -53,27 +53,27 @@
*/
package org.jooq.test;
import static org.jooq.test.data.Table1.TABLE1;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.jooq.DSLContext;
import org.jooq.Record;
import org.jooq.SQLDialect;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.conf.MappedSchema;
import org.jooq.conf.MappedTable;
import org.jooq.conf.RenderMapping;
import org.jooq.conf.Settings;
import org.jooq.conf.SettingsTools;
import org.jooq.impl.DSL;
import org.jooq.impl.SchemaImpl;
import org.jooq.impl.TableImpl;
import org.junit.Before;
import org.junit.Test;
import static org.jooq.test.data.Table1.TABLE1;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.jooq.DSLContext;
import org.jooq.Record;
import org.jooq.SQLDialect;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.conf.MappedSchema;
import org.jooq.conf.MappedTable;
import org.jooq.conf.RenderMapping;
import org.jooq.conf.Settings;
import org.jooq.conf.SettingsTools;
import org.jooq.impl.DSL;
import org.jooq.impl.SchemaImpl;
import org.jooq.impl.TableImpl;
import org.junit.Before;
import org.junit.Test;
/**
* Some common tests related to {@link Settings}
@ -106,23 +106,23 @@ public class SettingsTest {
Schema schema = new SchemaImpl("S");
Table<?> table = new TableImpl<Record>("T", schema);
DSLContext create0 = DSL.using(SQLDialect.ORACLE);
DSLContext create0 = DSL.using(SQLDialect.POSTGRES);
assertEquals("\"S\".\"T\"", create0.render(table));
DSLContext create1 = DSL.using(SQLDialect.ORACLE, new Settings().withRenderSchema(false));
DSLContext create1 = DSL.using(SQLDialect.POSTGRES, new Settings().withRenderSchema(false));
assertEquals("\"T\"", create1.render(table));
DSLContext create2 = DSL.using(SQLDialect.ORACLE);
DSLContext create2 = DSL.using(SQLDialect.POSTGRES);
create2.configuration().settings().setRenderSchema(false);
assertEquals("\"T\"", create2.render(table));
}
@Test
public void testRenderMapping() {
DSLContext create1 = DSL.using(SQLDialect.ORACLE, new Settings().withRenderMapping(mapping()));
DSLContext create1 = DSL.using(SQLDialect.POSTGRES, new Settings().withRenderMapping(mapping()));
assertEquals("\"TABLEX\"", create1.render(TABLE1));
DSLContext create2 = DSL.using(SQLDialect.ORACLE);
DSLContext create2 = DSL.using(SQLDialect.POSTGRES);
create2.configuration().settings().setRenderMapping(mapping());
assertEquals("\"TABLEX\"", create2.render(TABLE1));
}

View File

@ -53,110 +53,111 @@
*/
package org.jooq.test;
import static java.util.Arrays.asList;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.fail;
import static org.jooq.Clause.CONDITION;
import static org.jooq.Clause.CONDITION_AND;
import static org.jooq.Clause.CONDITION_BETWEEN;
import static org.jooq.Clause.CONDITION_BETWEEN_SYMMETRIC;
import static org.jooq.Clause.CONDITION_COMPARISON;
import static org.jooq.Clause.CONDITION_EXISTS;
import static org.jooq.Clause.CONDITION_IN;
import static org.jooq.Clause.CONDITION_IS_NOT_NULL;
import static org.jooq.Clause.CONDITION_IS_NULL;
import static org.jooq.Clause.CONDITION_NOT;
import static org.jooq.Clause.CONDITION_NOT_BETWEEN;
import static org.jooq.Clause.CONDITION_NOT_BETWEEN_SYMMETRIC;
import static org.jooq.Clause.CONDITION_NOT_EXISTS;
import static org.jooq.Clause.CONDITION_NOT_IN;
import static org.jooq.Clause.CONDITION_OR;
import static org.jooq.Clause.DELETE;
import static org.jooq.Clause.DELETE_DELETE;
import static org.jooq.Clause.DELETE_WHERE;
import static org.jooq.Clause.FIELD;
import static org.jooq.Clause.FIELD_ALIAS;
import static org.jooq.Clause.FIELD_REFERENCE;
import static org.jooq.Clause.FIELD_ROW;
import static org.jooq.Clause.FIELD_VALUE;
import static org.jooq.Clause.INSERT;
import static org.jooq.Clause.INSERT_INSERT_INTO;
import static org.jooq.Clause.INSERT_ON_DUPLICATE_KEY_UPDATE;
import static org.jooq.Clause.INSERT_ON_DUPLICATE_KEY_UPDATE_ASSIGNMENT;
import static org.jooq.Clause.INSERT_RETURNING;
import static org.jooq.Clause.INSERT_SELECT;
import static org.jooq.Clause.INSERT_VALUES;
import static org.jooq.Clause.MERGE;
import static org.jooq.Clause.MERGE_DELETE_WHERE;
import static org.jooq.Clause.MERGE_MERGE_INTO;
import static org.jooq.Clause.MERGE_ON;
import static org.jooq.Clause.MERGE_SET;
import static org.jooq.Clause.MERGE_SET_ASSIGNMENT;
import static org.jooq.Clause.MERGE_USING;
import static org.jooq.Clause.MERGE_VALUES;
import static org.jooq.Clause.MERGE_WHEN_MATCHED_THEN_UPDATE;
import static org.jooq.Clause.MERGE_WHEN_NOT_MATCHED_THEN_INSERT;
import static org.jooq.Clause.MERGE_WHERE;
import static org.jooq.Clause.SELECT;
import static org.jooq.Clause.SELECT_CONNECT_BY;
import static org.jooq.Clause.SELECT_FROM;
import static org.jooq.Clause.SELECT_GROUP_BY;
import static org.jooq.Clause.SELECT_HAVING;
import static org.jooq.Clause.SELECT_ORDER_BY;
import static org.jooq.Clause.SELECT_SELECT;
import static org.jooq.Clause.SELECT_START_WITH;
import static org.jooq.Clause.SELECT_UNION_ALL;
import static org.jooq.Clause.SELECT_WHERE;
import static org.jooq.Clause.TABLE;
import static org.jooq.Clause.TABLE_ALIAS;
import static org.jooq.Clause.TABLE_REFERENCE;
import static org.jooq.Clause.TABLE_VALUES;
import static org.jooq.Clause.TRUNCATE;
import static org.jooq.Clause.TRUNCATE_TRUNCATE;
import static org.jooq.Clause.UPDATE;
import static org.jooq.Clause.UPDATE_RETURNING;
import static org.jooq.Clause.UPDATE_SET;
import static org.jooq.Clause.UPDATE_SET_ASSIGNMENT;
import static org.jooq.Clause.UPDATE_UPDATE;
import static org.jooq.Clause.UPDATE_WHERE;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.POSTGRES;
import static org.jooq.impl.DSL.exists;
import static org.jooq.impl.DSL.notExists;
import static org.jooq.impl.DSL.row;
import static org.jooq.impl.DSL.select;
import static org.jooq.impl.DSL.selectOne;
import static org.jooq.impl.DSL.val;
import static org.jooq.impl.DSL.values;
import static org.jooq.impl.DefaultVisitListenerProvider.providers;
import static org.jooq.test.data.Table1.FIELD_DATE1;
import static org.jooq.test.data.Table1.FIELD_ID1;
import static org.jooq.test.data.Table1.FIELD_NAME1;
import static org.jooq.test.data.Table1.TABLE1;
import static org.jooq.test.data.Table2.FIELD_ID2;
import static org.jooq.test.data.Table2.TABLE2;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.jooq.BindContext;
import org.jooq.Clause;
import org.jooq.DSLContext;
import org.jooq.QueryPart;
import org.jooq.RenderContext;
import org.jooq.VisitContext;
import org.jooq.VisitListener;
import org.jooq.impl.DSL;
import org.jooq.tools.jdbc.MockConnection;
import org.jooq.tools.jdbc.MockDataProvider;
import org.jooq.tools.jdbc.MockExecuteContext;
import org.jooq.tools.jdbc.MockResult;
import org.jooq.tools.jdbc.MockStatement;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static java.util.Arrays.asList;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.fail;
import static org.jooq.Clause.CONDITION;
import static org.jooq.Clause.CONDITION_AND;
import static org.jooq.Clause.CONDITION_BETWEEN;
import static org.jooq.Clause.CONDITION_BETWEEN_SYMMETRIC;
import static org.jooq.Clause.CONDITION_COMPARISON;
import static org.jooq.Clause.CONDITION_EXISTS;
import static org.jooq.Clause.CONDITION_IN;
import static org.jooq.Clause.CONDITION_IS_NOT_NULL;
import static org.jooq.Clause.CONDITION_IS_NULL;
import static org.jooq.Clause.CONDITION_NOT;
import static org.jooq.Clause.CONDITION_NOT_BETWEEN;
import static org.jooq.Clause.CONDITION_NOT_BETWEEN_SYMMETRIC;
import static org.jooq.Clause.CONDITION_NOT_EXISTS;
import static org.jooq.Clause.CONDITION_NOT_IN;
import static org.jooq.Clause.CONDITION_OR;
import static org.jooq.Clause.DELETE;
import static org.jooq.Clause.DELETE_DELETE;
import static org.jooq.Clause.DELETE_WHERE;
import static org.jooq.Clause.FIELD;
import static org.jooq.Clause.FIELD_ALIAS;
import static org.jooq.Clause.FIELD_REFERENCE;
import static org.jooq.Clause.FIELD_ROW;
import static org.jooq.Clause.FIELD_VALUE;
import static org.jooq.Clause.INSERT;
import static org.jooq.Clause.INSERT_INSERT_INTO;
import static org.jooq.Clause.INSERT_ON_DUPLICATE_KEY_UPDATE;
import static org.jooq.Clause.INSERT_ON_DUPLICATE_KEY_UPDATE_ASSIGNMENT;
import static org.jooq.Clause.INSERT_RETURNING;
import static org.jooq.Clause.INSERT_SELECT;
import static org.jooq.Clause.INSERT_VALUES;
import static org.jooq.Clause.MERGE;
import static org.jooq.Clause.MERGE_DELETE_WHERE;
import static org.jooq.Clause.MERGE_MERGE_INTO;
import static org.jooq.Clause.MERGE_ON;
import static org.jooq.Clause.MERGE_SET;
import static org.jooq.Clause.MERGE_SET_ASSIGNMENT;
import static org.jooq.Clause.MERGE_USING;
import static org.jooq.Clause.MERGE_VALUES;
import static org.jooq.Clause.MERGE_WHEN_MATCHED_THEN_UPDATE;
import static org.jooq.Clause.MERGE_WHEN_NOT_MATCHED_THEN_INSERT;
import static org.jooq.Clause.MERGE_WHERE;
import static org.jooq.Clause.SELECT;
import static org.jooq.Clause.SELECT_CONNECT_BY;
import static org.jooq.Clause.SELECT_FROM;
import static org.jooq.Clause.SELECT_GROUP_BY;
import static org.jooq.Clause.SELECT_HAVING;
import static org.jooq.Clause.SELECT_ORDER_BY;
import static org.jooq.Clause.SELECT_SELECT;
import static org.jooq.Clause.SELECT_START_WITH;
import static org.jooq.Clause.SELECT_UNION_ALL;
import static org.jooq.Clause.SELECT_WHERE;
import static org.jooq.Clause.TABLE;
import static org.jooq.Clause.TABLE_ALIAS;
import static org.jooq.Clause.TABLE_REFERENCE;
import static org.jooq.Clause.TABLE_VALUES;
import static org.jooq.Clause.TRUNCATE;
import static org.jooq.Clause.TRUNCATE_TRUNCATE;
import static org.jooq.Clause.UPDATE;
import static org.jooq.Clause.UPDATE_RETURNING;
import static org.jooq.Clause.UPDATE_SET;
import static org.jooq.Clause.UPDATE_SET_ASSIGNMENT;
import static org.jooq.Clause.UPDATE_UPDATE;
import static org.jooq.Clause.UPDATE_WHERE;
import static org.jooq.SQLDialect.FIREBIRD;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.POSTGRES;
import static org.jooq.impl.DSL.exists;
import static org.jooq.impl.DSL.notExists;
import static org.jooq.impl.DSL.row;
import static org.jooq.impl.DSL.select;
import static org.jooq.impl.DSL.selectOne;
import static org.jooq.impl.DSL.val;
import static org.jooq.impl.DSL.values;
import static org.jooq.impl.DefaultVisitListenerProvider.providers;
import static org.jooq.test.data.Table1.FIELD_DATE1;
import static org.jooq.test.data.Table1.FIELD_ID1;
import static org.jooq.test.data.Table1.FIELD_NAME1;
import static org.jooq.test.data.Table1.TABLE1;
import static org.jooq.test.data.Table2.FIELD_ID2;
import static org.jooq.test.data.Table2.TABLE2;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.jooq.BindContext;
import org.jooq.Clause;
import org.jooq.DSLContext;
import org.jooq.QueryPart;
import org.jooq.RenderContext;
import org.jooq.VisitContext;
import org.jooq.VisitListener;
import org.jooq.impl.DSL;
import org.jooq.tools.jdbc.MockConnection;
import org.jooq.tools.jdbc.MockDataProvider;
import org.jooq.tools.jdbc.MockExecuteContext;
import org.jooq.tools.jdbc.MockResult;
import org.jooq.tools.jdbc.MockStatement;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* Some common tests related to {@link VisitContext}
@ -404,7 +405,8 @@ public class VisitContextTest extends AbstractTest {
@Test
public void test_INSERT_VALUES_multiple_emulated() {
// Oracle emulates multi-record inserts through INSERT .. SELECT
// Firebird emulates multi-record inserts through INSERT .. SELECT
ctx.configuration().set(FIREBIRD);
assertEvents(asList(
asList(INSERT),

View File

@ -1,12 +1,12 @@
# This is a sample test database for MockFileDatabase
# Its syntax is inspired from H2's test script files
select 'A' from dual;
select 'A';
> A
> -
> A
@ rows: 1
select 'A', 'B' from dual;
select 'A', 'B';
> A B
> - -
> A B