Exemplo n.º 1
0
        //private static bool HasPrecision(int type)
        //{
        //    return Types.acceptsPrecisionCreateParam(type);
        //}
        #endregion

        #region HasScale(int)
        //private static bool HasScale(int type)
        //{
        //    return Types.acceptsScaleCreateParam(type);
        //}
        #endregion

        #region ToDefaultDisplaySize(int)
        private static int ToDefaultDisplaySize(int type)
        {
            return(HsqlTypes.getMaxDisplaySize(type));
        }
Exemplo n.º 2
0
        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());
        }