Skip to content

Commit

Permalink
[jOOQ#1308] Oracle's DataTypeDefinition reports the length of a BLOB …
Browse files Browse the repository at this point in the history
…/ CLOB

data type to be 4000
  • Loading branch information
lukaseder committed Apr 22, 2012
1 parent 9881bb3 commit 0af1f64
Show file tree
Hide file tree
Showing 23 changed files with 203 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@

package org.jooq.util.oracle;

import static org.jooq.impl.Factory.decode;
import static org.jooq.impl.Factory.zero;
import static org.jooq.util.oracle.sys.Tables.ALL_COL_COMMENTS;
import static org.jooq.util.oracle.sys.Tables.ALL_TAB_COLS;

Expand Down Expand Up @@ -66,7 +68,10 @@ public List<ColumnDefinition> getElements0() throws SQLException {

for (Record record : create().select(
ALL_TAB_COLS.DATA_TYPE,
ALL_TAB_COLS.DATA_LENGTH,
decode(ALL_TAB_COLS.DATA_TYPE.upper(),
"CLOB", zero(),
"BLOB", zero(),
ALL_TAB_COLS.DATA_LENGTH).as("data_length"),
ALL_TAB_COLS.DATA_PRECISION,
ALL_TAB_COLS.DATA_SCALE,
ALL_TAB_COLS.NULLABLE,
Expand All @@ -87,7 +92,7 @@ public List<ColumnDefinition> getElements0() throws SQLException {
getDatabase(),
getSchema(),
record.getValue(ALL_TAB_COLS.DATA_TYPE),
record.getValueAsInteger(ALL_TAB_COLS.DATA_LENGTH, 0),
record.getValueAsInteger("data_length", 0),
record.getValueAsInteger(ALL_TAB_COLS.DATA_PRECISION, 0),
record.getValueAsInteger(ALL_TAB_COLS.DATA_SCALE, 0));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@javax.persistence.Table(name = "T_BOOK", schema = "MULTI_SCHEMA")
public class TBook implements java.io.Serializable {

private static final long serialVersionUID = -564243036;
private static final long serialVersionUID = -447879144;

private java.lang.Integer id;
private java.lang.Integer authorId;
Expand Down Expand Up @@ -86,7 +86,7 @@ public void setLanguageId(org.jooq.test.oracle.generatedclasses.test.enums.TLang
this.languageId = languageId;
}

@javax.persistence.Column(name = "CONTENT_TEXT", length = 4000)
@javax.persistence.Column(name = "CONTENT_TEXT")
public java.lang.String getContentText() {
return this.contentText;
}
Expand All @@ -95,7 +95,7 @@ public void setContentText(java.lang.String contentText) {
this.contentText = contentText;
}

@javax.persistence.Column(name = "CONTENT_PDF", length = 4000)
@javax.persistence.Column(name = "CONTENT_PDF")
public byte[] getContentPdf() {
return this.contentPdf;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@javax.persistence.Table(name = "T_BOOK", schema = "MULTI_SCHEMA")
public class TBookRecord extends org.jooq.impl.UpdatableRecordImpl<org.jooq.test.oracle.generatedclasses.multi_schema.tables.records.TBookRecord> {

private static final long serialVersionUID = 679491786;
private static final long serialVersionUID = -785867012;

/**
* An uncommented item
Expand Down Expand Up @@ -200,7 +200,7 @@ public void setContentText(java.lang.String value) {
/**
* An uncommented item
*/
@javax.persistence.Column(name = "CONTENT_TEXT", length = 4000)
@javax.persistence.Column(name = "CONTENT_TEXT")
public java.lang.String getContentText() {
return getValue(org.jooq.test.oracle.generatedclasses.multi_schema.tables.TBook.T_BOOK.CONTENT_TEXT);
}
Expand All @@ -215,7 +215,7 @@ public void setContentPdf(byte[] value) {
/**
* An uncommented item
*/
@javax.persistence.Column(name = "CONTENT_PDF", length = 4000)
@javax.persistence.Column(name = "CONTENT_PDF")
public byte[] getContentPdf() {
return getValue(org.jooq.test.oracle.generatedclasses.multi_schema.tables.TBook.T_BOOK.CONTENT_PDF);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
@javax.persistence.Table(name = "T_BOOK", schema = "TEST")
public class TBook implements java.io.Serializable {

private static final long serialVersionUID = 1863594769;
private static final long serialVersionUID = 1547571781;

private java.lang.Integer id;
private java.lang.Integer authorId;
Expand Down Expand Up @@ -88,7 +88,7 @@ public void setLanguageId(org.jooq.test.oracle.generatedclasses.test.enums.TLang
this.languageId = languageId;
}

@javax.persistence.Column(name = "CONTENT_TEXT", length = 4000)
@javax.persistence.Column(name = "CONTENT_TEXT")
public java.lang.String getContentText() {
return this.contentText;
}
Expand All @@ -97,7 +97,7 @@ public void setContentText(java.lang.String contentText) {
this.contentText = contentText;
}

@javax.persistence.Column(name = "CONTENT_PDF", length = 4000)
@javax.persistence.Column(name = "CONTENT_PDF")
public byte[] getContentPdf() {
return this.contentPdf;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@javax.persistence.Table(name = "T_725_LOB_TEST", schema = "TEST")
public class T_725LobTest implements java.io.Serializable {

private static final long serialVersionUID = 1913886008;
private static final long serialVersionUID = 940269919;

private java.lang.Integer id;
private byte[] lob;
Expand All @@ -25,7 +25,7 @@ public void setId(java.lang.Integer id) {
this.id = id;
}

@javax.persistence.Column(name = "LOB", length = 4000)
@javax.persistence.Column(name = "LOB")
public byte[] getLob() {
return this.lob;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@javax.persistence.Table(name = "V_AUTHOR", schema = "TEST")
public class VAuthor implements java.io.Serializable {

private static final long serialVersionUID = 1980522144;
private static final long serialVersionUID = -1538266874;

private java.lang.Integer id;
private java.lang.String firstName;
Expand Down Expand Up @@ -64,7 +64,7 @@ public void setYearOfBirth(java.lang.Integer yearOfBirth) {
this.yearOfBirth = yearOfBirth;
}

@javax.persistence.Column(name = "ADDRESS", length = 448)
@javax.persistence.Column(name = "ADDRESS", length = 40)
public org.jooq.test.oracle.generatedclasses.test.udt.records.UAddressTypeRecord getAddress() {
return this.address;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@javax.persistence.Table(name = "V_BOOK", schema = "TEST")
public class VBook implements java.io.Serializable {

private static final long serialVersionUID = 727181009;
private static final long serialVersionUID = -261958139;

private java.lang.Integer id;
private java.lang.Integer authorId;
Expand Down Expand Up @@ -85,7 +85,7 @@ public void setLanguageId(java.lang.Integer languageId) {
this.languageId = languageId;
}

@javax.persistence.Column(name = "CONTENT_TEXT", length = 4000)
@javax.persistence.Column(name = "CONTENT_TEXT")
public java.lang.String getContentText() {
return this.contentText;
}
Expand All @@ -94,7 +94,7 @@ public void setContentText(java.lang.String contentText) {
this.contentText = contentText;
}

@javax.persistence.Column(name = "CONTENT_PDF", length = 4000)
@javax.persistence.Column(name = "CONTENT_PDF")
public byte[] getContentPdf() {
return this.contentPdf;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
@javax.persistence.Table(name = "T_BOOK", schema = "TEST")
public class TBookRecord extends org.jooq.impl.UpdatableRecordImpl<org.jooq.test.oracle.generatedclasses.test.tables.records.TBookRecord> {

private static final long serialVersionUID = 777547931;
private static final long serialVersionUID = -1497888887;

/**
* The book ID
Expand Down Expand Up @@ -214,7 +214,7 @@ public void setContentText(java.lang.String value) {
/**
* Some textual content of the book
*/
@javax.persistence.Column(name = "CONTENT_TEXT", length = 4000)
@javax.persistence.Column(name = "CONTENT_TEXT")
public java.lang.String getContentText() {
return getValue(org.jooq.test.oracle.generatedclasses.test.tables.TBook.T_BOOK.CONTENT_TEXT);
}
Expand All @@ -229,7 +229,7 @@ public void setContentPdf(byte[] value) {
/**
* Some binary content of the book
*/
@javax.persistence.Column(name = "CONTENT_PDF", length = 4000)
@javax.persistence.Column(name = "CONTENT_PDF")
public byte[] getContentPdf() {
return getValue(org.jooq.test.oracle.generatedclasses.test.tables.TBook.T_BOOK.CONTENT_PDF);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@javax.persistence.Table(name = "T_725_LOB_TEST", schema = "TEST")
public class T_725LobTestRecord extends org.jooq.impl.UpdatableRecordImpl<org.jooq.test.oracle.generatedclasses.test.tables.records.T_725LobTestRecord> {

private static final long serialVersionUID = -1886427352;
private static final long serialVersionUID = 1892541915;

/**
* An uncommented item
Expand Down Expand Up @@ -42,7 +42,7 @@ public void setLob(byte[] value) {
/**
* An uncommented item
*/
@javax.persistence.Column(name = "LOB", length = 4000)
@javax.persistence.Column(name = "LOB")
public byte[] getLob() {
return getValue(org.jooq.test.oracle.generatedclasses.test.tables.T_725LobTest.T_725_LOB_TEST.LOB);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@javax.persistence.Table(name = "V_AUTHOR", schema = "TEST")
public class VAuthorRecord extends org.jooq.impl.TableRecordImpl<org.jooq.test.oracle.generatedclasses.test.tables.records.VAuthorRecord> {

private static final long serialVersionUID = 1073715627;
private static final long serialVersionUID = 1750224359;

/**
* An uncommented item
Expand Down Expand Up @@ -97,7 +97,7 @@ public void setAddress(org.jooq.test.oracle.generatedclasses.test.udt.records.UA
/**
* An uncommented item
*/
@javax.persistence.Column(name = "ADDRESS", length = 448)
@javax.persistence.Column(name = "ADDRESS", length = 40)
public org.jooq.test.oracle.generatedclasses.test.udt.records.UAddressTypeRecord getAddress() {
return getValue(org.jooq.test.oracle.generatedclasses.test.tables.VAuthor.V_AUTHOR.ADDRESS);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@javax.persistence.Table(name = "V_BOOK", schema = "TEST")
public class VBookRecord extends org.jooq.impl.TableRecordImpl<org.jooq.test.oracle.generatedclasses.test.tables.records.VBookRecord> {

private static final long serialVersionUID = 1646329168;
private static final long serialVersionUID = -430542554;

/**
* An uncommented item
Expand Down Expand Up @@ -127,7 +127,7 @@ public void setContentText(java.lang.String value) {
/**
* An uncommented item
*/
@javax.persistence.Column(name = "CONTENT_TEXT", length = 4000)
@javax.persistence.Column(name = "CONTENT_TEXT")
public java.lang.String getContentText() {
return getValue(org.jooq.test.oracle.generatedclasses.test.tables.VBook.V_BOOK.CONTENT_TEXT);
}
Expand All @@ -142,7 +142,7 @@ public void setContentPdf(byte[] value) {
/**
* An uncommented item
*/
@javax.persistence.Column(name = "CONTENT_PDF", length = 4000)
@javax.persistence.Column(name = "CONTENT_PDF")
public byte[] getContentPdf() {
return getValue(org.jooq.test.oracle.generatedclasses.test.tables.VBook.V_BOOK.CONTENT_PDF);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*/
public class UAddressType extends org.jooq.impl.UDTImpl<org.jooq.test.oracle.generatedclasses.test.udt.records.UAddressTypeRecord> {

private static final long serialVersionUID = 781413964;
private static final long serialVersionUID = -849475538;

/**
* The singleton instance of TEST.U_ADDRESS_TYPE
Expand Down Expand Up @@ -58,6 +58,16 @@ public java.lang.Class<org.jooq.test.oracle.generatedclasses.test.udt.records.UA
*/
public static final org.jooq.UDTField<org.jooq.test.oracle.generatedclasses.test.udt.records.UAddressTypeRecord, java.lang.Integer> CODE = createField("CODE", org.jooq.impl.SQLDataType.INTEGER, U_ADDRESS_TYPE);

/**
* An uncommented item
*/
public static final org.jooq.UDTField<org.jooq.test.oracle.generatedclasses.test.udt.records.UAddressTypeRecord, byte[]> F_1323 = createField("F_1323", org.jooq.impl.SQLDataType.BLOB, U_ADDRESS_TYPE);

/**
* An uncommented item
*/
public static final org.jooq.UDTField<org.jooq.test.oracle.generatedclasses.test.udt.records.UAddressTypeRecord, java.lang.String> F_1326 = createField("F_1326", org.jooq.impl.SQLDataType.CLOB, U_ADDRESS_TYPE);

/**
* No further instances allowed
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*/
public class UStreetType extends org.jooq.impl.UDTImpl<org.jooq.test.oracle.generatedclasses.test.udt.records.UStreetTypeRecord> {

private static final long serialVersionUID = -1903797174;
private static final long serialVersionUID = -948161688;

/**
* The singleton instance of TEST.U_STREET_TYPE
Expand Down Expand Up @@ -43,6 +43,16 @@ public java.lang.Class<org.jooq.test.oracle.generatedclasses.test.udt.records.US
*/
public static final org.jooq.UDTField<org.jooq.test.oracle.generatedclasses.test.udt.records.UStreetTypeRecord, org.jooq.test.oracle.generatedclasses.test.udt.records.UNumberArrayRecord> FLOORS = createField("FLOORS", org.jooq.impl.SQLDataType.INTEGER.asArrayDataType(org.jooq.test.oracle.generatedclasses.test.udt.records.UNumberArrayRecord.class), U_STREET_TYPE);

/**
* An uncommented item
*/
public static final org.jooq.UDTField<org.jooq.test.oracle.generatedclasses.test.udt.records.UStreetTypeRecord, byte[]> F_1323 = createField("F_1323", org.jooq.impl.SQLDataType.BLOB, U_STREET_TYPE);

/**
* An uncommented item
*/
public static final org.jooq.UDTField<org.jooq.test.oracle.generatedclasses.test.udt.records.UStreetTypeRecord, java.lang.String> F_1326 = createField("F_1326", org.jooq.impl.SQLDataType.CLOB, U_STREET_TYPE);

/**
* No further instances allowed
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*/
public class UAddressTypeRecord extends org.jooq.impl.UDTRecordImpl<org.jooq.test.oracle.generatedclasses.test.udt.records.UAddressTypeRecord> {

private static final long serialVersionUID = 159216626;
private static final long serialVersionUID = -784892408;


/**
Expand Down Expand Up @@ -95,6 +95,34 @@ public java.lang.Integer getCode() {
return getValue(org.jooq.test.oracle.generatedclasses.test.udt.UAddressType.CODE);
}

/**
* An uncommented item
*/
public void setF_1323(byte[] value) {
setValue(org.jooq.test.oracle.generatedclasses.test.udt.UAddressType.F_1323, value);
}

/**
* An uncommented item
*/
public byte[] getF_1323() {
return getValue(org.jooq.test.oracle.generatedclasses.test.udt.UAddressType.F_1323);
}

/**
* An uncommented item
*/
public void setF_1326(java.lang.String value) {
setValue(org.jooq.test.oracle.generatedclasses.test.udt.UAddressType.F_1326, value);
}

/**
* An uncommented item
*/
public java.lang.String getF_1326() {
return getValue(org.jooq.test.oracle.generatedclasses.test.udt.UAddressType.F_1326);
}

public UAddressTypeRecord() {
super(org.jooq.test.oracle.generatedclasses.test.udt.UAddressType.U_ADDRESS_TYPE);
}
Expand Down
Loading

0 comments on commit 0af1f64

Please sign in to comment.