//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// DataHelpers.SQL satellite library | Author: Sergei Y.Kitáev
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;
using u = user_rtx;

namespace DataHelpers.SQL {

partial class HResultSetItemBase {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static T? _VAL_<T>( string columnName )
where T: struct =>
   HResultSetReader.VAL<T>( columnName );

//==================================================================================================

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static string? _STR_( string columnName ) =>
   HResultSetReader.STR( columnName );
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static string? _NS_( string columnName ) =>
   HResultSetReader.NS( columnName );

//--------------------------------------------------------------------------------------------------

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static int? _INT_( string columnName ) =>
   HResultSetReader.INT( columnName );
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static long? _BIGINT_( string columnName ) =>
   HResultSetReader.BIGINT( columnName );

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static double? _FP_( string columnName ) =>
   HResultSetReader.FP( columnName );

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static decimal? _DEC_( string columnName ) =>
   HResultSetReader.DEC( columnName );

//--------------------------------------------------------------------------------------------------

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static bool? _BOOL_( string columnName ) =>
   HResultSetReader.BOOL( columnName );

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static DateTime? _DT_( string columnName ) =>
   HResultSetReader.DT( columnName );
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static DateTime? _UTC_( string columnName ) =>
   HResultSetReader.UTC( columnName );

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static Guid? _GUID_( string columnName ) =>
   HResultSetReader.GUID( columnName );

//--------------------------------------------------------------------------------------------------

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static byte[]? _BINARY_( string columnName ) =>
   HResultSetReader.BINARY( columnName );

//--------------------------------------------------------------------------------------------------
/*
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static ...? _..._( string columnName ) =>
   HResultSetReader....( columnName );
*/
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // HResultSetItemBase

} // DataHelpers.SQL
