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

namespace DataHelpers.SQL {

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

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

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

/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static string? _STR( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.STR( PropertyNameN( propertyNameN ) );
/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static string? _NS( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.NS( PropertyNameN( propertyNameN ) );

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

/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static int? _INT( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.INT( PropertyNameN( propertyNameN ) );
/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static long? _BIGINT( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.BIGINT( PropertyNameN( propertyNameN ) );

/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static double? _FP( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.FP( PropertyNameN( propertyNameN ) );

/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static decimal? _DEC( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.DEC( PropertyNameN( propertyNameN ) );

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

/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static bool? _BOOL( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.BOOL( PropertyNameN( propertyNameN ) );

/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static DateTime? _DT( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.DT( PropertyNameN( propertyNameN ) );
/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static DateTime? _UTC( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.UTC( PropertyNameN( propertyNameN ) );

/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static Guid? _GUID( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.GUID( PropertyNameN( propertyNameN ) );

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

/// <exception cref="ArgumentException" />
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local][u.strict_result]
protected static byte[]? _BINARY( [CallerMemberName] string propertyNameN="" ) =>
   HResultSetReader.BINARY( PropertyNameN( propertyNameN ) );

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

} // DataHelpers.SQL
