internal static string ResultMetaDataToString(ResultMetaData rmd) { StringBuilder sb = new StringBuilder(); int columnCount = rmd.colTypes.Length; for (int i = 0; i < columnCount; i++) { if (i > 0) { sb.AppendLine(","); } sb.AppendFormat("{0}: ", i); ColumnMetaData cmd = new ColumnMetaData(); int type = rmd.colTypes[i]; cmd.catalogName = (rmd.catalogNames[i] == null) ? "" : rmd.catalogNames[i]; cmd.schemaName = (rmd.schemaNames[i] == null) ? "" : rmd.schemaNames[i]; cmd.tableName = rmd.tableNames[i] == null ? "" : rmd.tableNames[i]; cmd.columnName = rmd.colNames[i] == null ? "" : rmd.colNames[i]; cmd.columnLabel = rmd.colLabels[i] == null ? "" : rmd.colLabels[i]; cmd.columnType = type; cmd.columnTypeName = HsqlTypes.getTypeString(type); cmd.isWritable = rmd.isWritable[i]; cmd.isReadOnly = !cmd.isWritable; cmd.isAutoIncrement = rmd.isIdentity[i]; cmd.isNullable = rmd.colNullable[i]; cmd.columnClassName = rmd.classNames[i]; if (string.IsNullOrEmpty(cmd.columnClassName)) { cmd.columnClassName = HsqlTypes.getColStClsName(type); } if (HsqlTypes.acceptsPrecisionCreateParam(type)) { if (rmd.colSizes[i] == 0) { cmd.columnDisplaySize = HsqlTypes.getMaxDisplaySize(type); } else { cmd.columnDisplaySize = rmd.colSizes[i]; if (HsqlTypes.acceptsScaleCreateParam(type)) { if (rmd.colScales[i] != 0) { cmd.columnDisplaySize += (1 + rmd.colScales[i]); } } } } else { cmd.columnDisplaySize = HsqlTypes.getMaxDisplaySize(type); } if (HsqlTypes.isNumberType(type) && HsqlTypes.acceptsPrecisionCreateParam(type)) { cmd.precision = rmd.colSizes[i]; if (cmd.precision == 0) { cmd.precision = HsqlTypes.getPrecision(type); } } else { cmd.precision = HsqlTypes.getPrecision(type); } if (HsqlTypes.acceptsScaleCreateParam(type)) { cmd.scale = rmd.colScales[i]; } JavaBoolean iua = HsqlTypes.isUnsignedAttribute(type); cmd.isSigned = ((iua != null) && !iua.booleanValue()); JavaBoolean ics = HsqlTypes.isCaseSensitive(type); cmd.isCaseSensitive = ((ics != null) && ics.booleanValue()); cmd.isSearchable = HsqlTypes.isSearchable(type); sb.Append(cmd.toString()); } return sb.ToString(); }
internal static string ResultMetaDataToString(ResultMetaData rmd) { StringBuilder sb = new StringBuilder(); int columnCount = rmd.colTypes.Length; for (int i = 0; i < columnCount; i++) { if (i > 0) { sb.AppendLine(","); } sb.AppendFormat("{0}: ", i); ColumnMetaData cmd = new ColumnMetaData(); int type = rmd.colTypes[i]; cmd.catalogName = (rmd.catalogNames[i] == null) ? "" : rmd.catalogNames[i]; cmd.schemaName = (rmd.schemaNames[i] == null) ? "" : rmd.schemaNames[i]; cmd.tableName = rmd.tableNames[i] == null ? "" : rmd.tableNames[i]; cmd.columnName = rmd.colNames[i] == null ? "" : rmd.colNames[i]; cmd.columnLabel = rmd.colLabels[i] == null ? "" : rmd.colLabels[i]; cmd.columnType = type; cmd.columnTypeName = HsqlTypes.getTypeString(type); cmd.isWritable = rmd.isWritable[i]; cmd.isReadOnly = !cmd.isWritable; cmd.isAutoIncrement = rmd.isIdentity[i]; cmd.isNullable = rmd.colNullable[i]; cmd.columnClassName = rmd.classNames[i]; if (string.IsNullOrEmpty(cmd.columnClassName)) { cmd.columnClassName = HsqlTypes.getColStClsName(type); } if (HsqlTypes.acceptsPrecisionCreateParam(type)) { if (rmd.colSizes[i] == 0) { cmd.columnDisplaySize = HsqlTypes.getMaxDisplaySize(type); } else { cmd.columnDisplaySize = rmd.colSizes[i]; if (HsqlTypes.acceptsScaleCreateParam(type)) { if (rmd.colScales[i] != 0) { cmd.columnDisplaySize += (1 + rmd.colScales[i]); } } } } else { cmd.columnDisplaySize = HsqlTypes.getMaxDisplaySize(type); } if (HsqlTypes.isNumberType(type) && HsqlTypes.acceptsPrecisionCreateParam(type)) { cmd.precision = rmd.colSizes[i]; if (cmd.precision == 0) { cmd.precision = HsqlTypes.getPrecision(type); } } else { cmd.precision = HsqlTypes.getPrecision(type); } if (HsqlTypes.acceptsScaleCreateParam(type)) { cmd.scale = rmd.colScales[i]; } JavaBoolean iua = HsqlTypes.isUnsignedAttribute(type); cmd.isSigned = ((iua != null) && !iua.booleanValue()); JavaBoolean ics = HsqlTypes.isCaseSensitive(type); cmd.isCaseSensitive = ((ics != null) && ics.booleanValue()); cmd.isSearchable = HsqlTypes.isSearchable(type); sb.Append(cmd.toString()); } return(sb.ToString()); }