diff --git a/jOOQ-test/src/org/jooq/test/MySQLTest.java b/jOOQ-test/src/org/jooq/test/MySQLTest.java index fb5e99dbde..05b9ac026d 100644 --- a/jOOQ-test/src/org/jooq/test/MySQLTest.java +++ b/jOOQ-test/src/org/jooq/test/MySQLTest.java @@ -98,6 +98,7 @@ import org.jooq.test.mysql.generatedclasses.tables.TBook; import org.jooq.test.mysql.generatedclasses.tables.TBookStore; import org.jooq.test.mysql.generatedclasses.tables.TBookToBookStore; import org.jooq.test.mysql.generatedclasses.tables.TBooleans; +import org.jooq.test.mysql.generatedclasses.tables.TDates; import org.jooq.test.mysql.generatedclasses.tables.TExoticTypes; import org.jooq.test.mysql.generatedclasses.tables.TIdentityPk; import org.jooq.test.mysql.generatedclasses.tables.TTriggers; @@ -850,4 +851,33 @@ public class MySQLTest extends jOOQAbstractTest< assertEquals(TBookStatus.ON_STOCK, MySQLDSL.enumType(TBookStatus.class, 3)); assertNull(MySQLDSL.enumType(TBookStatus.class, 4)); } + + @Test + public void testMySQLYearType() throws Exception { + jOOQAbstractTest.reset = false; + + Date d1 = Date.valueOf("2012-01-01"); + Date d2 = Date.valueOf("1999-01-01"); + + assertEquals(2, + create().insertInto(T_DATES, + TDates.ID, + TDates.Y2, + TDates.Y4) + .values(1, d1, d1) + .values(2, d2, d2) + .execute()); + + Result dates = + create().select(TDates.Y2, TDates.Y4) + .from(T_DATES) + .orderBy(TDates.ID) + .fetch(); + + assertEquals(2, dates.size()); + assertEquals(d1, dates.getValue(0, 0)); + assertEquals(d1, dates.getValue(0, 1)); + assertEquals(d2, dates.getValue(1, 0)); + assertEquals(d2, dates.getValue(1, 1)); + } } diff --git a/jOOQ-test/src/org/jooq/test/mysql/create.sql b/jOOQ-test/src/org/jooq/test/mysql/create.sql index eaa6c4a9bf..f2dc2f3eda 100644 --- a/jOOQ-test/src/org/jooq/test/mysql/create.sql +++ b/jOOQ-test/src/org/jooq/test/mysql/create.sql @@ -58,6 +58,8 @@ CREATE TABLE t_dates ( ts datetime, d_int int, ts_bigint bigint, + y2 year(2), + y4 year(4), CONSTRAINT pk_t_dates PRIMARY KEY (id) ) diff --git a/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/TDates.java b/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/TDates.java index 47f6e8c013..08d3892325 100644 --- a/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/TDates.java +++ b/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/TDates.java @@ -9,7 +9,7 @@ package org.jooq.test.mysql.generatedclasses.tables; @java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class TDates extends org.jooq.impl.TableImpl { - private static final long serialVersionUID = 1552584156; + private static final long serialVersionUID = -2028153294; /** * The singleton instance of test.t_dates @@ -54,6 +54,16 @@ public class TDates extends org.jooq.impl.TableImpl TS_BIGINT = createField("ts_bigint", org.jooq.impl.SQLDataType.BIGINT, T_DATES); + /** + * The column test.t_dates.y2. + */ + public static final org.jooq.TableField Y2 = createField("y2", org.jooq.impl.SQLDataType.DATE, T_DATES); + + /** + * The column test.t_dates.y4. + */ + public static final org.jooq.TableField Y4 = createField("y4", org.jooq.impl.SQLDataType.DATE, T_DATES); + /** * No further instances allowed */ diff --git a/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/daos/TDatesDao.java b/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/daos/TDatesDao.java index 648f9343d5..734ffe48d1 100644 --- a/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/daos/TDatesDao.java +++ b/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/daos/TDatesDao.java @@ -79,4 +79,18 @@ public class TDatesDao extends org.jooq.impl.DAOImpl fetchByTsBigint(java.lang.Long... values) { return fetch(org.jooq.test.mysql.generatedclasses.tables.TDates.TS_BIGINT, values); } + + /** + * Fetch records that have y2 IN (values) + */ + public java.util.List fetchByY2(java.sql.Date... values) { + return fetch(org.jooq.test.mysql.generatedclasses.tables.TDates.Y2, values); + } + + /** + * Fetch records that have y4 IN (values) + */ + public java.util.List fetchByY4(java.sql.Date... values) { + return fetch(org.jooq.test.mysql.generatedclasses.tables.TDates.Y4, values); + } } diff --git a/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/pojos/TDates.java b/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/pojos/TDates.java index 26a2cf2cf9..696f15172e 100644 --- a/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/pojos/TDates.java +++ b/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/pojos/TDates.java @@ -9,7 +9,7 @@ package org.jooq.test.mysql.generatedclasses.tables.pojos; @java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class TDates implements java.io.Serializable { - private static final long serialVersionUID = 1631068874; + private static final long serialVersionUID = 1324210540; private final java.lang.Integer id; private final java.sql.Date d; @@ -17,6 +17,8 @@ public class TDates implements java.io.Serializable { private final java.sql.Timestamp ts; private final java.lang.Integer dInt; private final java.lang.Long tsBigint; + private final java.sql.Date y2; + private final java.sql.Date y4; public TDates( java.lang.Integer id, @@ -24,7 +26,9 @@ public class TDates implements java.io.Serializable { java.sql.Time t, java.sql.Timestamp ts, java.lang.Integer dInt, - java.lang.Long tsBigint + java.lang.Long tsBigint, + java.sql.Date y2, + java.sql.Date y4 ) { this.id = id; this.d = d; @@ -32,6 +36,8 @@ public class TDates implements java.io.Serializable { this.ts = ts; this.dInt = dInt; this.tsBigint = tsBigint; + this.y2 = y2; + this.y4 = y4; } public java.lang.Integer getId() { @@ -57,4 +63,12 @@ public class TDates implements java.io.Serializable { public java.lang.Long getTsBigint() { return this.tsBigint; } + + public java.sql.Date getY2() { + return this.y2; + } + + public java.sql.Date getY4() { + return this.y4; + } } diff --git a/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/records/TDatesRecord.java b/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/records/TDatesRecord.java index dfb83e98a6..bab39d34cc 100644 --- a/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/records/TDatesRecord.java +++ b/jOOQ-test/src/org/jooq/test/mysql/generatedclasses/tables/records/TDatesRecord.java @@ -7,9 +7,9 @@ package org.jooq.test.mysql.generatedclasses.tables.records; * This class is generated by jOOQ. */ @java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) -public class TDatesRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record6 { +public class TDatesRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record8 { - private static final long serialVersionUID = 2068625224; + private static final long serialVersionUID = 1193743222; /** * Setter for test.t_dates.id. @@ -95,6 +95,34 @@ public class TDatesRecord extends org.jooq.impl.UpdatableRecordImpltest.t_dates.y2. + */ + public void setY2(java.sql.Date value) { + setValue(6, value); + } + + /** + * Getter for test.t_dates.y2. + */ + public java.sql.Date getY2() { + return (java.sql.Date) getValue(6); + } + + /** + * Setter for test.t_dates.y4. + */ + public void setY4(java.sql.Date value) { + setValue(7, value); + } + + /** + * Getter for test.t_dates.y4. + */ + public java.sql.Date getY4() { + return (java.sql.Date) getValue(7); + } + // ------------------------------------------------------------------------- // Primary key information // ------------------------------------------------------------------------- @@ -108,23 +136,23 @@ public class TDatesRecord extends org.jooq.impl.UpdatableRecordImpl fieldsRow() { - return (org.jooq.Row6) super.fieldsRow(); + public org.jooq.Row8 fieldsRow() { + return (org.jooq.Row8) super.fieldsRow(); } /** * {@inheritDoc} */ @Override - public org.jooq.Row6 valuesRow() { - return (org.jooq.Row6) super.valuesRow(); + public org.jooq.Row8 valuesRow() { + return (org.jooq.Row8) super.valuesRow(); } /** @@ -175,6 +203,22 @@ public class TDatesRecord extends org.jooq.impl.UpdatableRecordImpl field7() { + return org.jooq.test.mysql.generatedclasses.tables.TDates.Y2; + } + + /** + * {@inheritDoc} + */ + @Override + public org.jooq.Field field8() { + return org.jooq.test.mysql.generatedclasses.tables.TDates.Y4; + } + /** * {@inheritDoc} */ @@ -223,6 +267,22 @@ public class TDatesRecord extends org.jooq.impl.UpdatableRecordImpl