final boolean isUserDefined = columnDataType.isUserDefined(); final String typeName = columnDataType.getFullName(); final String dataType = (isUserDefined? "user defined ": "") + "column data-type"; final String nullable = (columnDataType.isNullable()? "": "not ") + "nullable"; final String autoIncrementable = (columnDataType .isAutoIncrementable()? "": "not ") + "auto-incrementable"; final String createParameters = columnDataType.getCreateParameters(); final String definedWith = "defined with " + (isBlank(createParameters)? "no parameters" : createParameters); final String literalPrefix = columnDataType.getLiteralPrefix(); final String literalPrefixText = isBlank(literalPrefix)? "no literal prefix" : "literal prefix " + literalPrefix; final String literalSuffix = columnDataType.getLiteralSuffix(); final String literalSuffixText = isBlank(literalSuffix)? "no literal suffix" : "literal suffix " + columnDataType.getJavaSqlType().getName(); final String precision = "precision " + columnDataType.getPrecision(); final String minimumScale = "minimum scale " + columnDataType.getMinimumScale(); final String maximumScale = "maximum scale "
if (options.isShowStandardColumnTypeNames()) columnTypeName = column.getColumnDataType().getJavaSqlType().getName(); .getDatabaseSpecificTypeName();
if (options.isShowUnqualifiedNames()) databaseSpecificTypeName = columnDataType.getName(); databaseSpecificTypeName = columnDataType.getFullName(); jsonColumnDataType .put("basedOn", columnDataType.getBaseType() == null? "": columnDataType .getBaseType().getName()); jsonColumnDataType.put("userDefined", columnDataType.isUserDefined()); jsonColumnDataType.put("createParameters", columnDataType.getCreateParameters()); jsonColumnDataType.put("nullable", columnDataType.isNullable()); jsonColumnDataType.put("autoIncrementable", columnDataType.isAutoIncrementable()); jsonColumnDataType.put("searchable", columnDataType.getSearchable().toString());
/** * {@inheritDoc} */ @Override public void handle(final ColumnDataType columnDataType) throws SchemaCrawlerException { if (printVerboseDatabaseInfo && isVerbose) { final String databaseSpecificTypeName; if (options.isShowUnqualifiedNames()) { databaseSpecificTypeName = columnDataType.getName(); } else { databaseSpecificTypeName = columnDataType.getFullName(); } formattingHelper.writeNameRow(databaseSpecificTypeName, "[data type]"); } }
if (options.isShowUnqualifiedNames()) databaseSpecificTypeName = columnDataType.getName(); databaseSpecificTypeName = columnDataType.getFullName(); final String typeName = columnDataType.getJavaSqlType() .getJavaSqlTypeName(); final String userDefined = negate(columnDataType.isUserDefined(), "user defined"); final String nullable = negate(columnDataType.isNullable(), "nullable"); final String autoIncrementable = negate(columnDataType.isAutoIncrementable(), "auto-incrementable"); String definedWith = "defined with "; if (columnDataType.getCreateParameters() == null) definedWith = definedWith + columnDataType.getCreateParameters(); out.println(formattingHelper.createDescriptionRow(autoIncrementable)); out.println(formattingHelper.createDescriptionRow(columnDataType .getSearchable().toString()));
private static String getColumnsListAsString(final List<Column> columns, final boolean omitLargeObjectColumns, final Identifiers identifiers) { final List<String> columnsList = new ArrayList<>(); for (int i = 0; i < columns.size(); i++) { final Column column = columns.get(i); final JavaSqlTypeGroup javaSqlTypeGroup = column.getColumnDataType() .getJavaSqlType().getJavaSqlTypeGroup(); if (!(omitLargeObjectColumns && (javaSqlTypeGroup == JavaSqlTypeGroup.large_object || javaSqlTypeGroup == JavaSqlTypeGroup.object))) { columnsList.add(identifiers.quoteName(column.getName())); } } return String.join(", ", columnsList); }
@Override public String getName() { return columnDataType.getName(); }
private static String getColumnsListAsString(final List<Column> columns, final boolean omitLargeObjectColumns, final Identifiers identifiers) { final List<String> columnsList = new ArrayList<>(); for (int i = 0; i < columns.size(); i++) { final Column column = columns.get(i); final JavaSqlTypeGroup javaSqlTypeGroup = column.getColumnDataType() .getJavaSqlType().getJavaSqlTypeGroup(); if (!(omitLargeObjectColumns && (javaSqlTypeGroup == JavaSqlTypeGroup.large_object || javaSqlTypeGroup == JavaSqlTypeGroup.object))) { columnsList.add(identifiers.quoteName(column.getName())); } } return String.join(", ", columnsList); }
/** * {@inheritDoc} */ @Override public void handle(final ColumnDataType columnDataType) throws SchemaCrawlerException { if (printVerboseDatabaseInfo && isVerbose) { final String databaseSpecificTypeName; if (options.isShowUnqualifiedNames()) { databaseSpecificTypeName = columnDataType.getName(); } else { databaseSpecificTypeName = columnDataType.getFullName(); } formattingHelper.writeNameRow(databaseSpecificTypeName, "[data type]"); } }
protected JdbcType getJdbcTypeForUnknownJavaSqlType(Column column) { /* * unknown type */ if (column.getColumnDataType().getName().contains("TIMESTAMP")) { return JdbcType.TIMESTAMP; } return null; }
final boolean isUserDefined = columnDataType.isUserDefined(); final String dataType = String.format("[%sdata type]", isUserDefined? "user defined ": ""); typeName = columnDataType.getName(); typeName = columnDataType.getFullName(); final String nullable = negate(columnDataType.isNullable(), "nullable"); .isAutoIncrementable(), "auto-incrementable"); final String createParameters = columnDataType.getCreateParameters(); final String definedWith = "defined with " + (isBlank(createParameters)? "no parameters" formattingHelper.writeDescriptionRow(autoIncrementable); formattingHelper .writeDescriptionRow(columnDataType.getSearchable().toString()); if (isUserDefined) final ColumnDataType baseColumnDataType = columnDataType.getBaseType(); if (baseColumnDataType == null) baseTypeName = baseColumnDataType.getName(); baseTypeName = baseColumnDataType.getFullName(); final String remarks = columnDataType.getRemarks();
private JSONObject handleRoutineColumn(final RoutineColumn<?> column) { final JSONObject jsonColumn = new JSONObject(); try { jsonColumn.put("name", column.getName()); jsonColumn.put("dataType", column.getColumnDataType().getJavaSqlType().getName()); jsonColumn.put("databaseSpecificType", column.getColumnDataType().getDatabaseSpecificTypeName()); jsonColumn.put("width", column.getWidth()); jsonColumn.put("type", column.getColumnType().toString()); if (options.isShowOrdinalNumbers()) { jsonColumn.put("ordinal", column.getOrdinalPosition() + 1); } } catch (final JSONException e) { LOGGER.log(Level.FINER, new StringFormat("Error outputting routine column: %s", e.getMessage()), e); } return jsonColumn; }
.getJavaSqlType().getVendorTypeNumber(); Object columnData; if (javaSqlType == Types.CLOB)
/** * {@inheritDoc} */ @Override public void handle(final ColumnDataType columnDataType) throws SchemaCrawlerException { if (printVerboseDatabaseInfo && isVerbose) { final String databaseSpecificTypeName; if (options.isShowUnqualifiedNames()) { databaseSpecificTypeName = columnDataType.getName(); } else { databaseSpecificTypeName = columnDataType.getFullName(); } formattingHelper.writeNameRow(databaseSpecificTypeName, "[data type]"); } }
if (options.isShowUnqualifiedNames()) databaseSpecificTypeName = columnDataType.getName(); databaseSpecificTypeName = columnDataType.getFullName(); .put("basedOn", columnDataType.getBaseType() == null? "" : columnDataType .getBaseType() .getName()); jsonColumnDataType.put("userDefined", columnDataType.isUserDefined()); jsonColumnDataType.put("createParameters", columnDataType.getCreateParameters()); jsonColumnDataType.put("nullable", columnDataType.isNullable()); jsonColumnDataType.put("autoIncrementable", columnDataType.isAutoIncrementable()); jsonColumnDataType.put("searchable", columnDataType.getSearchable() .toString());
if (options.isShowStandardColumnTypeNames()) columnTypeName = column.getColumnDataType().getJavaSqlType() .getName(); .getDatabaseSpecificTypeName();
public boolean isValid() { final Column primaryKeyColumn = getPrimaryKeyColumn(); final Column foreignKeyColumn = getForeignKeyColumn(); final Table pkTable = primaryKeyColumn.getParent(); final Table fkTable = foreignKeyColumn.getParent(); if ((foreignKeyColumn.isPartOfPrimaryKey() || foreignKeyColumn.isPartOfUniqueIndex()) && pkTable.compareTo(fkTable) > 0) { return false; } final ColumnDataType fkColumnType = foreignKeyColumn.getColumnDataType(); final ColumnDataType pkColumnType = primaryKeyColumn.getColumnDataType(); final boolean isValid = fkColumnType.getJavaSqlType().getName() .equals(pkColumnType.getJavaSqlType().getName()); return isValid; }
if (options.isShowUnqualifiedNames()) databaseSpecificTypeName = columnDataType.getName(); databaseSpecificTypeName = columnDataType.getFullName(); jsonColumnDataType .put("basedOn", columnDataType.getBaseType() == null? "": columnDataType .getBaseType().getName()); jsonColumnDataType.put("userDefined", columnDataType.isUserDefined()); jsonColumnDataType.put("createParameters", columnDataType.getCreateParameters()); jsonColumnDataType.put("nullable", columnDataType.isNullable()); jsonColumnDataType.put("autoIncrementable", columnDataType.isAutoIncrementable()); jsonColumnDataType.put("searchable", columnDataType.getSearchable().toString());
out.println("column: " + column.getFullName()); out.println(" database type: " + column.getColumnDataType() .getDatabaseSpecificTypeName()); out.println(" type: " + column.getColumnDataType().getJavaSqlType().getName());
private static String getColumnsListAsString(final List<Column> columns, boolean omitLargeObjectColumns) { final StringBuilder buffer = new StringBuilder(); for (int i = 0; i < columns.size(); i++) { final Column column = columns.get(i); final JavaSqlTypeGroup javaSqlTypeGroup = column.getColumnDataType() .getJavaSqlType().getJavaSqlTypeGroup(); if (!(omitLargeObjectColumns && javaSqlTypeGroup == JavaSqlTypeGroup.large_object)) { if (i > 0) { buffer.append(", "); } buffer.append(column.getName()); } } return buffer.toString(); }