Class SQLVarbit

    • Constructor Detail

      • SQLVarbit

        public SQLVarbit()
      • SQLVarbit

        public SQLVarbit​(byte[] val)
    • Method Detail

      • getMaxMemoryUsage

        int getMaxMemoryUsage()
        Return max memory usage for a SQL Varbit
        Overrides:
        getMaxMemoryUsage in class SQLBit
      • normalize

        public void normalize​(DataTypeDescriptor desiredType,
                              DataValueDescriptor source)
                       throws StandardException
        Normalization method - this method may be called when putting a value into a SQLBit, for example, when inserting into a SQLBit column. See NormalizeResultSet in execution.
        Specified by:
        normalize in interface DataValueDescriptor
        Overrides:
        normalize in class SQLBit
        Parameters:
        desiredType - The type to normalize the source column to
        source - The value to normalize
        Throws:
        StandardException - Thrown for null into non-nullable column, and for truncation error
      • setWidth

        public void setWidth​(int desiredWidth,
                             int desiredScale,
                             boolean errorOnTrunc)
                      throws StandardException
        Set the width of the to the desired value. Used when CASTing. Ideally we'd recycle normalize(), but the behavior is different (we issue a warning instead of an error, and we aren't interested in nullability).
        Specified by:
        setWidth in interface VariableSizeDataValue
        Overrides:
        setWidth in class SQLBit
        Parameters:
        desiredWidth - the desired length
        desiredScale - the desired scale (ignored)
        errorOnTrunc - throw error on truncation
        Throws:
        StandardException - Thrown on non-zero truncation if errorOnTrunc is true
      • typePrecedence

        public int typePrecedence()
        Description copied from class: DataType
        Each built-in type in JSQL has a precedence. This precedence determines how to do type promotion when using binary operators. For example, float has a higher precedence than int, so when adding an int to a float, the result type is float. The precedence for some types is arbitrary. For example, it doesn't matter what the precedence of the boolean type is, since it can't be mixed with other types. But the precedence for the number types is critical. The SQL standard requires that exact numeric types be promoted to approximate numeric when one operator uses both. Also, the precedence is arranged so that one will not lose precision when promoting a type.
        Specified by:
        typePrecedence in interface DataValueDescriptor
        Overrides:
        typePrecedence in class SQLBit
        Returns:
        The precedence of this type.
        See Also:
        DataValueDescriptor.typePrecedence()