private OResultInternal getPropertyAsDocument(final OClass clazz, final OProperty prop) {
database.activateOnCurrentThread();
final OType type = prop.getType();
OResultInternal res = new OResultInternal();
res.setProperty("TABLE_CAT", database.getName());
res.setProperty("TABLE_SCHEM", database.getName());
res.setProperty("TABLE_NAME", clazz.getName());
res.setProperty("COLUMN_NAME", prop.getName());
res.setProperty("DATA_TYPE", OrientJdbcResultSetMetaData.getSqlType(type));
res.setProperty("TYPE_NAME", type.name());
res.setProperty("COLUMN_SIZE", 1);
res.setProperty("BUFFER_LENGTH", null);
res.setProperty("DECIMAL_DIGITS", null);
res.setProperty("NUM_PREC_RADIX", 10);
res.setProperty("NULLABLE", !prop.isNotNull() ? columnNoNulls : columnNullable);
res.setProperty("REMARKS", prop.getDescription());
res.setProperty("COLUMN_DEF", prop.getDefaultValue());
res.setProperty("SQL_DATA_TYPE", null);
res.setProperty("SQL_DATETIME_SUB", null);
res.setProperty("CHAR_OCTET_LENGTH", null);
res.setProperty("ORDINAL_POSITION", prop.getId());
res.setProperty("IS_NULLABLE", prop.isNotNull() ? "NO" : "YES");
return res;
}