/** * Return the declaration SQL for the given column. This method is used * for each column from within {@link #getCreateTableSQL} and * {@link #getAddColumnSQL}. */ protected String getDeclareColumnSQL(Column col, boolean alter) { StringBuffer buf = new StringBuffer(); buf.append(col).append(" "); buf.append(getTypeName(col)); // can't add constraints to a column we're adding after table // creation, cause some data might already be inserted if (!alter) { if (col.getDefaultString() != null && !col.isAutoAssigned()) buf.append(" DEFAULT ").append(col.getDefaultString()); if (col.isNotNull()) buf.append(" NOT NULL"); } if (col.isAutoAssigned()) { if (!supportsAutoAssign) log.warn(_loc.get("invalid-autoassign", platform, col)); else if (autoAssignClause != null) buf.append(" ").append(autoAssignClause); } return buf.toString(); }
/** * Return the declaration SQL for the given column. This method is used * for each column from within {@link #getCreateTableSQL} and * {@link #getAddColumnSQL}. */ protected String getDeclareColumnSQL(Column col, boolean alter) { StringBuilder buf = new StringBuilder(); String columnName = checkNameLength(toDBName(col.getIdentifier()), maxColumnNameLength, "long-column-name"); buf.append(columnName).append(" "); buf.append(getTypeName(col)); // can't add constraints to a column we're adding after table // creation, cause some data might already be inserted if (!alter) { if (col.getDefaultString() != null && !col.isAutoAssigned()) buf.append(" DEFAULT ").append(col.getDefaultString()); if (col.isNotNull() || (!supportsNullUniqueColumn && col.hasConstraint(Unique.class))) buf.append(" NOT NULL"); } if (col.isAutoAssigned()) { if (!supportsAutoAssign) log.warn(_loc.get("invalid-autoassign", platform, col)); else if (autoAssignClause != null) buf.append(" ").append(autoAssignClause); } return buf.toString(); }
/** * Return the declaration SQL for the given column. This method is used * for each column from within {@link #getCreateTableSQL} and * {@link #getAddColumnSQL}. */ protected String getDeclareColumnSQL(Column col, boolean alter) { StringBuilder buf = new StringBuilder(); String columnName = checkNameLength(toDBName(col.getIdentifier()), maxColumnNameLength, "long-column-name"); buf.append(columnName).append(" "); buf.append(getTypeName(col)); // can't add constraints to a column we're adding after table // creation, cause some data might already be inserted if (!alter) { if (col.getDefaultString() != null && !col.isAutoAssigned()) buf.append(" DEFAULT ").append(col.getDefaultString()); if (col.isNotNull() || (!supportsNullUniqueColumn && col.hasConstraint(Unique.class))) buf.append(" NOT NULL"); } if (col.isAutoAssigned()) { if (!supportsAutoAssign) log.warn(_loc.get("invalid-autoassign", platform, col)); else if (autoAssignClause != null) buf.append(" ").append(autoAssignClause); } return buf.toString(); }
/** * Return the declaration SQL for the given column. This method is used * for each column from within {@link #getCreateTableSQL} and * {@link #getAddColumnSQL}. */ protected String getDeclareColumnSQL(Column col, boolean alter) { StringBuilder buf = new StringBuilder(); String columnName = checkNameLength(toDBName(col.getIdentifier()), maxColumnNameLength, "long-column-name"); buf.append(columnName).append(" "); buf.append(getTypeName(col)); // can't add constraints to a column we're adding after table // creation, cause some data might already be inserted if (!alter) { if (col.getDefaultString() != null && !col.isAutoAssigned()) buf.append(" DEFAULT ").append(col.getDefaultString()); if (col.isNotNull() || (!supportsNullUniqueColumn && col.hasConstraint(Unique.class))) buf.append(" NOT NULL"); } if (col.isAutoAssigned()) { if (!supportsAutoAssign) log.warn(_loc.get("invalid-autoassign", platform, col)); else if (autoAssignClause != null) buf.append(" ").append(autoAssignClause); } return buf.toString(); }
/** * Return the declaration SQL for the given column. This method is used * for each column from within {@link #getCreateTableSQL} and * {@link #getAddColumnSQL}. */ protected String getDeclareColumnSQL(Column col, boolean alter) { StringBuilder buf = new StringBuilder(); String columnName = checkNameLength(toDBName(col.getIdentifier()), maxColumnNameLength, "long-column-name"); buf.append(columnName).append(" "); buf.append(getTypeName(col)); // can't add constraints to a column we're adding after table // creation, cause some data might already be inserted if (!alter) { if (col.getDefaultString() != null && !col.isAutoAssigned()) buf.append(" DEFAULT ").append(col.getDefaultString()); if (col.isNotNull() || (!supportsNullUniqueColumn && col.hasConstraint(Unique.class))) buf.append(" NOT NULL"); } if (col.isAutoAssigned()) { if (!supportsAutoAssign) log.warn(_loc.get("invalid-autoassign", platform, col)); else if (autoAssignClause != null) buf.append(" ").append(autoAssignClause); } return buf.toString(); }
/** * Return the preferred database type name for the given column's type * from {@link Types}. */ public String getTypeName(Column col) { if (!StringUtils.isEmpty(col.getTypeName())) return appendSize(col, col.getTypeName()); if (col.isAutoAssigned() && autoAssignTypeName != null) return appendSize(col, autoAssignTypeName); return appendSize(col, getTypeName(col.getType())); }
/** * Tests compatibility. */ public boolean equalsColumn(DBDictionary dict, Column col) { if (col == this) return true; if (col == null) return false; if (!getQualifiedPath().equals(col.getQualifiedPath())) return false; if (!isCompatible(col.getType(), col.getTypeIdentifier().getName(), col.getSize(), col.getDecimalDigits())) { // do an additional lookup in case the java.sql.Types are different but // they map to the same representation in the DB if (dict.getTypeName(this).equals(dict.getTypeName(col))) { return true; } return false; } if (getType() == Types.VARCHAR && getSize() > 0 && col.getSize() > 0 && getSize() != col.getSize()) return false; return true; }
/** * Tests compatibility. */ public boolean equalsColumn(DBDictionary dict, Column col) { if (col == this) return true; if (col == null) return false; if (!getQualifiedPath().equals(col.getQualifiedPath())) return false; if (!isCompatible(col.getType(), col.getTypeIdentifier().getName(), col.getSize(), col.getDecimalDigits())) { // do an additional lookup in case the java.sql.Types are different but // they map to the same representation in the DB if (dict.getTypeName(this).equals(dict.getTypeName(col))) { return true; } return false; } if (getType() == Types.VARCHAR && getSize() > 0 && col.getSize() > 0 && getSize() != col.getSize()) return false; return true; }
/** * Return the preferred database type name for the given column's type * from {@link Types}. */ public String getTypeName(Column col) { if (!DBIdentifier.isEmpty(col.getTypeIdentifier())) return appendSize(col, toDBName(col.getTypeIdentifier())); if (col.isAutoAssigned() && autoAssignTypeName != null) return appendSize(col, autoAssignTypeName); return appendSize(col, getTypeName(col.getType())); }
/** * Return the preferred database type name for the given column's type * from {@link Types}. */ public String getTypeName(Column col) { if (!DBIdentifier.isEmpty(col.getTypeIdentifier())) return appendSize(col, toDBName(col.getTypeIdentifier())); if (col.isAutoAssigned() && autoAssignTypeName != null) return appendSize(col, autoAssignTypeName); return appendSize(col, getTypeName(col.getType())); }
/** * Return the preferred database type name for the given column's type * from {@link Types}. */ public String getTypeName(Column col) { if (!DBIdentifier.isEmpty(col.getTypeIdentifier())) return appendSize(col, toDBName(col.getTypeIdentifier())); if (col.isAutoAssigned() && autoAssignTypeName != null) return appendSize(col, autoAssignTypeName); return appendSize(col, getTypeName(col.getType())); }
/** * Return the preferred database type name for the given column's type * from {@link Types}. */ public String getTypeName(Column col) { if (!DBIdentifier.isEmpty(col.getTypeIdentifier())) return appendSize(col, toDBName(col.getTypeIdentifier())); if (col.isAutoAssigned() && autoAssignTypeName != null) return appendSize(col, autoAssignTypeName); return appendSize(col, getTypeName(col.getType())); }
/** * OPENJPA-740 Special case for MySql special column types, * like LONGTEXT, LONGBLOG etc.. * @see org.apache.openjpa.jdbc.sql.DBDictionary#getTypeName(org.apache.openjpa.jdbc.schema.Column) */ @Override public String getTypeName(Column col) { // handle blobs differently, if the DBItentifierType is NULL (e.g. no column definition is set). if (col.getType() == Types.BLOB && col.getTypeIdentifier().getType() == DBIdentifierType.NULL) { if (col.getSize() <= 0) // unknown size return blobTypeName; // return old default of 64KB else if (col.getSize() <= 255) return tinyBlobTypeName; else if (col.getSize() <= 65535) return blobTypeName; // old default of 64KB else if (col.getSize() <= 16777215) return mediumBlobTypeName; else return longBlobTypeName; } else { return super.getTypeName(col); } }
/** * OPENJPA-740 Special case for MySql special column types, * like LONGTEXT, LONGBLOG etc.. * @see org.apache.openjpa.jdbc.sql.DBDictionary#getTypeName(org.apache.openjpa.jdbc.schema.Column) */ @Override public String getTypeName(Column col) { // handle blobs differently, if the DBItentifierType is NULL (e.g. no column definition is set). if (col.getType() == Types.BLOB && col.getTypeIdentifier().getType() == DBIdentifierType.NULL) { if (col.getSize() <= 0) // unknown size return blobTypeName; // return old default of 64KB else if (col.getSize() <= 255) return tinyBlobTypeName; else if (col.getSize() <= 65535) return blobTypeName; // old default of 64KB else if (col.getSize() <= 16777215) return mediumBlobTypeName; else return longBlobTypeName; } else { return super.getTypeName(col); } }
/** * OPENJPA-740 Special case for MySql special column types, * like LONGTEXT, LONGBLOG etc.. * @see org.apache.openjpa.jdbc.sql.DBDictionary#getTypeName(org.apache.openjpa.jdbc.schema.Column) */ @Override public String getTypeName(Column col) { // handle blobs differently, if the DBItentifierType is NULL (e.g. no column definition is set). if (col.getType() == Types.BLOB && col.getTypeIdentifier().getType() == DBIdentifierType.NULL) { if (col.getSize() <= 0) // unknown size return blobTypeName; // return old default of 64KB else if (col.getSize() <= 255) return tinyBlobTypeName; else if (col.getSize() <= 65535) return blobTypeName; // old default of 64KB else if (col.getSize() <= 16777215) return mediumBlobTypeName; else return longBlobTypeName; } else { return super.getTypeName(col); } }
/** * OPENJPA-740 Special case for MySql special column types, * like LONGTEXT, LONGBLOG etc.. * @see org.apache.openjpa.jdbc.sql.DBDictionary#getTypeName(org.apache.openjpa.jdbc.schema.Column) */ @Override public String getTypeName(Column col) { // handle blobs differently, if the DBItentifierType is NULL (e.g. no column definition is set). if (col.getType() == Types.BLOB && col.getTypeIdentifier().getType() == DBIdentifierType.NULL) { if (col.getSize() <= 0) // unknown size return blobTypeName; // return old default of 64KB else if (col.getSize() <= 255) return tinyBlobTypeName; else if (col.getSize() <= 65535) return blobTypeName; // old default of 64KB else if (col.getSize() <= 16777215) return mediumBlobTypeName; else return longBlobTypeName; } else { return super.getTypeName(col); } }
/** * OPENJPA-740 Special case for MySql special column types, * like LONGTEXT, LONGBLOG etc.. * @see org.apache.openjpa.jdbc.sql.DBDictionary#getTypeName(org.apache.openjpa.jdbc.schema.Column) */ @Override public String getTypeName(Column col) { // handle blobs differently, if the DBItentifierType is NULL (e.g. no column definition is set). if (col.getType() == Types.BLOB && col.getTypeIdentifier().getType() == DBIdentifierType.NULL) { if (col.getSize() <= 0) // unknown size return blobTypeName; // return old default of 64KB else if (col.getSize() <= 255) return tinyBlobTypeName; else if (col.getSize() <= 65535) return blobTypeName; // old default of 64KB else if (col.getSize() <= 16777215) return mediumBlobTypeName; else return longBlobTypeName; } else { return super.getTypeName(col); } }
/** * OPENJPA-740 Special case for MySql special column types, * like LONGTEXT, LONGBLOG etc.. * @see org.apache.openjpa.jdbc.sql.DBDictionary#getTypeName(org.apache.openjpa.jdbc.schema.Column) */ @Override public String getTypeName(Column col) { // handle blobs differently, if the DBItentifierType is NULL (e.g. no column definition is set). if (col.getType() == Types.BLOB && col.getTypeIdentifier().getType() == DBIdentifierType.NULL) { if (col.getSize() <= 0) // unknown size return blobTypeName; // return old default of 64KB else if (col.getSize() <= 255) return tinyBlobTypeName; else if (col.getSize() <= 65535) return blobTypeName; // old default of 64KB else if (col.getSize() <= 16777215) return mediumBlobTypeName; else return longBlobTypeName; } else { return super.getTypeName(col); } }
/** * OPENJPA-740 Special case for MySql special column types, * like LONGTEXT, LONGBLOG etc.. * @see org.apache.openjpa.jdbc.sql.DBDictionary#getTypeName(org.apache.openjpa.jdbc.schema.Column) */ @Override public String getTypeName(Column col) { // handle blobs differently, if the DBItentifierType is NULL (e.g. no column definition is set). if (col.getType() == Types.BLOB && col.getTypeIdentifier().getType() == DBIdentifierType.NULL) { if (col.getSize() <= 0) // unknown size return blobTypeName; // return old default of 64KB else if (col.getSize() <= 255) return tinyBlobTypeName; else if (col.getSize() <= 65535) return blobTypeName; // old default of 64KB else if (col.getSize() <= 16777215) return mediumBlobTypeName; else return longBlobTypeName; } else { return super.getTypeName(col); } }
/** * OPENJPA-740 Special case for MySql special column types, * like LONGTEXT, LONGBLOG etc.. * @see org.apache.openjpa.jdbc.sql.DBDictionary#getTypeName(org.apache.openjpa.jdbc.schema.Column) */ @Override public String getTypeName(Column col) { // handle blobs differently, if the DBItentifierType is NULL (e.g. no column definition is set). if (col.getType() == Types.BLOB && col.getTypeIdentifier().getType() == DBIdentifierType.NULL) { if (col.getSize() <= 0) // unknown size return blobTypeName; // return old default of 64KB else if (col.getSize() <= 255) return tinyBlobTypeName; else if (col.getSize() <= 65535) return blobTypeName; // old default of 64KB else if (col.getSize() <= 16777215) return mediumBlobTypeName; else return longBlobTypeName; } else { return super.getTypeName(col); } }