Examples of TClass


Examples of com.foundationdb.server.types.TClass

        return super.jdbcClass(type);
    }

    @Override
    public boolean isTypeSigned(TInstance type) {
        TClass tclass = TInstance.tClass(type);
        return ((tclass == MNumeric.TINYINT) ||
                (tclass == MNumeric.SMALLINT) ||
                (tclass == MNumeric.MEDIUMINT) ||
                (tclass == MNumeric.INT) ||
                (tclass == MNumeric.BIGINT) ||
View Full Code Here

Examples of com.foundationdb.server.types.TClass

        return MDateAndTime.TIMESTAMP;
    }

    @Override
    public long getTimestampMillisValue(ValueSource value) {
        TClass tclass = TInstance.tClass(value.getType());
        long[] ymdhms = null;
        if (tclass == MDateAndTime.DATE) {
            ymdhms = MDateAndTime.decodeDate(value.getInt32());
        }
        else if (tclass == MDateAndTime.TIME) {
View Full Code Here

Examples of com.foundationdb.server.types.TClass

        }
    }

    @Override
    public void setTimestampMillisValue(ValueTarget value, long millis, int nanos) {
        TClass tclass = TInstance.tClass(value.getType());
        if (tclass == MDateAndTime.DATE) {
            value.putInt32(MDateAndTime.encodeDate(millis, DateTimeZone.getDefault().getID()));
        }
        else if (tclass == MDateAndTime.TIME) {
            value.putInt32(MDateAndTime.encodeTime(millis, DateTimeZone.getDefault().getID()));
View Full Code Here

Examples of com.foundationdb.server.types.TClass

{
    private Encoders() {
    }

    public static Encoding encodingFor(TInstance type) {
        TClass tclass = TInstance.tClass(type);
        if (tclass == null)
            return null;
        int jdbcType = tclass.jdbcType();
        switch (jdbcType) {
        case Types.DECIMAL:
        case Types.NUMERIC:
            return DecimalEncoder.INSTANCE;

        case Types.BIGINT:
            if (tclass.isUnsigned())
                return UBigIntEncoder.INSTANCE;
            /* else falls through */
        case Types.TINYINT:
        case Types.SMALLINT:
        case Types.INTEGER:
View Full Code Here

Examples of com.foundationdb.server.types.TClass

     * it. Otherwise, must resort to string, either because the
     * internal value isn't friendly (<code>Date</code> is a <code>Long</code>)
     * or isn't standard (<code>Decimal</code> turns into <code>!!float</code>).
     */
    protected static boolean convertToType(TInstance type) {
        TClass tclass = TInstance.tClass(type);
        return ((tclass.getClass() == MNumeric.class) ||
                (tclass == AkBool.INSTANCE));
    }
View Full Code Here

Examples of com.foundationdb.server.types.TClass

            throw new IllegalArgumentException(
                    "row type " + rowType + " requires " + rowType.nFields() + " fields, but "
                            + values.length + " values given: " + Arrays.asList(values));
        }
        for (int i = 0, max = values.length; i < max; ++i) {
            TClass requiredType = rowType.typeAt(i).typeClass();
            TClass actualType = TInstance.tClass(values[i].getType());
            if (requiredType != actualType)
                throw new IllegalArgumentException("value " + i + " should be " + requiredType
                        + " but was " + actualType);
        }
    }
View Full Code Here

Examples of com.foundationdb.server.types.TClass

        maxStorageSize = null;
        prefixSize = null;
    }

    public boolean fixedSize() {
        TClass tclass = TInstance.tClass(type);
        return tclass.hasFixedSerializationSize(type);
    }
View Full Code Here

Examples of com.foundationdb.server.types.TClass

    // cap is imposed by the constructor of a Column object.
    //
    public final static int MAX_STORAGE_SIZE_CAP = 1024 * 1024 - 1024;

    public long computeStorageSize(boolean average) {
        TClass tclass = TInstance.tClass(type);
        if (tclass.hasFixedSerializationSize(type)) {
            return tclass.fixedSerializationSize(type);
        }
        else {
            long maxBytes = tclass.variableSerializationSize(type, average);
            return Math.min(MAX_STORAGE_SIZE_CAP, maxBytes) + prefixSize(maxBytes);
        }
    }
View Full Code Here

Examples of com.foundationdb.server.types.TClass

            return Math.min(MAX_STORAGE_SIZE_CAP, maxBytes) + prefixSize(maxBytes);
        }
    }

    public int computePrefixSize() {
        TClass tclass = TInstance.tClass(type);
        if (tclass.hasFixedSerializationSize(type)) {
            return 0;
        }
        else {
            long maxBytes = tclass.variableSerializationSize(type, false);
            return prefixSize(maxBytes);
        }
    }
View Full Code Here

Examples of com.foundationdb.server.types.TClass

    public static PostgresType fromAIS(Parameter aisParameter) {
        return fromTInstance(aisParameter.getType());
    }
       
    public static PostgresType fromTInstance(TInstance type)  {
        TClass tClass = TInstance.tClass(type);
       
        TypeOid oid;
        switch (tClass.jdbcType()) {
        case Types.CHAR:
        case Types.NCHAR:
            /* TODO: Should be:
            oid = TypeOid.CHAR_TYPE_OID;
            break;
            */
        case Types.NVARCHAR:
        case Types.VARCHAR:
            oid = TypeOid.VARCHAR_TYPE_OID;
            break;
        case Types.BOOLEAN:
            oid = TypeOid.BOOL_TYPE_OID;
            break;
        case Types.TINYINT:
            oid = TypeOid.INT2_TYPE_OID; // No INT1
            break;
        case Types.SMALLINT:
            if (tClass.isUnsigned())
                oid = TypeOid.INT4_TYPE_OID;
            else
                oid = TypeOid.INT2_TYPE_OID;
            break;
        case Types.INTEGER:
            if (tClass.isUnsigned())
                oid = TypeOid.INT8_TYPE_OID;
            else
                oid = TypeOid.INT4_TYPE_OID;
            break;
        case Types.BIGINT:
            if (tClass.isUnsigned())
                // Closest exact numeric type capable of holding 64-bit unsigned is DEC(20).
                return new PostgresType(TypeOid.NUMERIC_TYPE_OID, (short)8, (20 << 16) + 4,
                        type);
            else
                oid = TypeOid.INT8_TYPE_OID;
            break;
        case Types.DECIMAL:
        case Types.NUMERIC:
            oid = TypeOid.NUMERIC_TYPE_OID;
            break;
        case Types.FLOAT:
        case Types.REAL:
            oid = TypeOid.FLOAT4_TYPE_OID;
            break;
        case Types.DOUBLE:
            oid = TypeOid.FLOAT8_TYPE_OID;
            break;
        case Types.DATE:
            oid = TypeOid.DATE_TYPE_OID;
            break;
        case Types.TIME:
            oid = TypeOid.TIME_TYPE_OID;
            break;
        case Types.TIMESTAMP:
            oid = TypeOid.TIMESTAMP_TYPE_OID;
            break;
        case Types.BINARY:
        case Types.BIT:
        case Types.LONGVARBINARY:
        case Types.VARBINARY:
        case Types.BLOB:
            oid = TypeOid.BYTEA_TYPE_OID;
            break;
        case Types.LONGNVARCHAR:
        case Types.LONGVARCHAR:
        case Types.CLOB:
            oid = TypeOid.TEXT_TYPE_OID;
            break;
        case Types.OTHER:
            if (tClass == AkGUID.INSTANCE){
                oid = TypeOid.UUID_TYPE_OID;
                break;
            }
            default:
            // Tell Postgres layer to just parse / format a string.
            oid = TypeOid.VARCHAR_TYPE_OID;
            break;
        }
       
        short length = -1;
        int modifier = -1;

        if (tClass.hasFixedSerializationSize())
            length = (short)tClass.fixedSerializationSize();

        if (type.hasAttributes(StringAttribute.class)) {
            // VARCHAR(n).
            modifier = type.attribute(StringAttribute.MAX_LENGTH) + 4;
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.