public void UnknownConversion() { object o = new object(); int targetType = java.sql.Types.BIGINT; try { throw HsqlConvert.UnknownConversion(o, targetType); } catch (HsqlDataSourceException hdse) { Assert.AreEqual(org.hsqldb.Trace.INVALID_CONVERSION, -hdse.ErrorCode); } }
/// <summary> /// For the current row, gets an instance of the provider-specific /// representation of the value of the field with the given column /// ordinal. /// </summary> /// <remarks> /// Because this method does not check if this reader /// is open or if row data is available, it should be invoked /// *only* when it is already known that this reader is open and /// row data is available. /// </remarks> /// <param name="ordinal">The column ordinal.</param> /// <returns>The provider-specific value representation.</returns> internal object GetProviderSpecificValueInternal(int ordinal) { object value = m_currentRecord.data[ordinal]; if (value == null) { return(null); } int type = m_metaData.colTypes[ordinal]; switch (type) { case (int)HsqlProviderType.Array: { return(value); } case (int)HsqlProviderType.BigInt: { return(value); } case (int)HsqlProviderType.Binary: { return(((org.hsqldb.types.Binary)value).getClonedBytes()); } case (int)HsqlProviderType.Blob: { return(value); } case (int)HsqlProviderType.Boolean: { return(value); } case (int)HsqlProviderType.Char: { return(value); } case (int)HsqlProviderType.Clob: { return(value); } case (int)HsqlProviderType.DataLink: { return(value); } case (int)HsqlProviderType.Date: { return((java.sql.Date)((java.sql.Date)value).clone()); } case (int)HsqlProviderType.Decimal: { return(value); } case (int)HsqlProviderType.Distinct: { return(value); } case (int)HsqlProviderType.Double: { return(value); } case (int)HsqlProviderType.Float: { return(value); } case (int)HsqlProviderType.Integer: { return(value); } case (int)HsqlProviderType.JavaObject: { return(value); } case (int)HsqlProviderType.LongVarBinary: { return(((org.hsqldb.types.Binary)value).getClonedBytes()); } case (int)HsqlProviderType.LongVarChar: { return(value); } case (int)HsqlProviderType.Null: { return(null); } case (int)HsqlProviderType.Numeric: { return(value); } case (int)HsqlProviderType.Object: { byte[] bytes = ((org.hsqldb.types.JavaObject)value).getBytes(); bool isJavaObject; return(SqlObject.Deserialize(bytes, out isJavaObject)); } case (int)HsqlProviderType.Real: { return(value); } case (int)HsqlProviderType.Ref: { return(value); } case (int)HsqlProviderType.SmallInt: { return(value); } case (int)HsqlProviderType.Struct: { return(value); } case (int)HsqlProviderType.Time: { return((java.sql.Time)((java.sql.Time)value).clone()); } case (int)HsqlProviderType.TimeStamp: { return((java.sql.Timestamp)((java.sql.Timestamp)value).clone()); } case (int)HsqlProviderType.TinyInt: { return(value); } case (int)HsqlProviderType.VarBinary: { byte[] bytes = ((org.hsqldb.types.Binary)value).getClonedBytes(); return(new org.hsqldb.types.Binary(bytes, false)); } case (int)HsqlProviderType.VarChar: { return(value); } case (int)HsqlProviderType.Xml: { return(value); } default: { throw HsqlConvert.UnknownConversion(value, type); } } }