forked from nhibernate/nhibernate-core
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
nhibernateGH-3530: Add a class for wrapping a DbDataReader.
- Loading branch information
David Ellingsworth
authored and
David Ellingsworth
committed
Jun 11, 2024
1 parent
445d5a9
commit fa84e8a
Showing
2 changed files
with
198 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
using System; | ||
using System.Collections; | ||
using System.Data.Common; | ||
|
||
namespace NHibernate.AdoNet | ||
{ | ||
public abstract partial class DbDataReaderWrapper : DbDataReader | ||
{ | ||
protected DbDataReader DataReader { get; private set; } | ||
|
||
public override int Depth => DataReader.Depth; | ||
|
||
public override int FieldCount => DataReader.FieldCount; | ||
|
||
public override bool HasRows => DataReader.HasRows; | ||
|
||
public override bool IsClosed => DataReader.IsClosed; | ||
|
||
public override int RecordsAffected => DataReader.RecordsAffected; | ||
|
||
public override object this[string name] => DataReader[name]; | ||
|
||
public override object this[int ordinal] => DataReader[ordinal]; | ||
|
||
public DbDataReaderWrapper(DbDataReader dbDataReader) | ||
{ | ||
DataReader = dbDataReader; | ||
} | ||
|
||
public override bool GetBoolean(int ordinal) | ||
{ | ||
return DataReader.GetBoolean(ordinal); | ||
} | ||
|
||
public override byte GetByte(int ordinal) | ||
{ | ||
return DataReader.GetByte(ordinal); | ||
} | ||
|
||
public override long GetBytes(int ordinal, long dataOffset, byte[] buffer, int bufferOffset, int length) | ||
{ | ||
return DataReader.GetBytes(ordinal, dataOffset, buffer, bufferOffset, length); | ||
} | ||
|
||
public override char GetChar(int ordinal) | ||
{ | ||
return DataReader.GetChar(ordinal); | ||
} | ||
|
||
public override long GetChars(int ordinal, long dataOffset, char[] buffer, int bufferOffset, int length) | ||
{ | ||
return DataReader.GetChars(ordinal, dataOffset, buffer, bufferOffset, length); | ||
} | ||
|
||
public override string GetDataTypeName(int ordinal) | ||
{ | ||
return DataReader.GetDataTypeName(ordinal); | ||
} | ||
|
||
public override DateTime GetDateTime(int ordinal) | ||
{ | ||
return DataReader.GetDateTime(ordinal); | ||
} | ||
|
||
public override decimal GetDecimal(int ordinal) | ||
{ | ||
return DataReader.GetDecimal(ordinal); | ||
} | ||
|
||
public override double GetDouble(int ordinal) | ||
{ | ||
return DataReader.GetDouble(ordinal); | ||
} | ||
|
||
public override IEnumerator GetEnumerator() | ||
{ | ||
while (Read()) | ||
{ | ||
yield return this; | ||
} | ||
} | ||
|
||
public override System.Type GetFieldType(int ordinal) | ||
{ | ||
return DataReader.GetFieldType(ordinal); | ||
} | ||
|
||
public override float GetFloat(int ordinal) | ||
{ | ||
return DataReader.GetFloat(ordinal); | ||
} | ||
|
||
public override Guid GetGuid(int ordinal) | ||
{ | ||
return DataReader.GetGuid(ordinal); | ||
} | ||
|
||
public override short GetInt16(int ordinal) | ||
{ | ||
return DataReader.GetInt16(ordinal); | ||
} | ||
|
||
public override int GetInt32(int ordinal) | ||
{ | ||
return DataReader.GetInt32(ordinal); | ||
} | ||
|
||
public override long GetInt64(int ordinal) | ||
{ | ||
return DataReader.GetInt64(ordinal); | ||
} | ||
|
||
public override string GetName(int ordinal) | ||
{ | ||
return DataReader.GetName(ordinal); | ||
} | ||
|
||
public override int GetOrdinal(string name) | ||
{ | ||
return DataReader.GetOrdinal(name); | ||
} | ||
|
||
public override string GetString(int ordinal) | ||
{ | ||
return DataReader.GetString(ordinal); | ||
} | ||
|
||
public override object GetValue(int ordinal) | ||
{ | ||
return DataReader.GetValue(ordinal); | ||
} | ||
|
||
public override int GetValues(object[] values) | ||
{ | ||
return DataReader.GetValues(values); | ||
} | ||
|
||
public override bool IsDBNull(int ordinal) | ||
{ | ||
return DataReader.IsDBNull(ordinal); | ||
} | ||
|
||
public override bool NextResult() | ||
{ | ||
return DataReader.NextResult(); | ||
} | ||
|
||
public override bool Read() | ||
{ | ||
return DataReader.Read(); | ||
} | ||
|
||
public override void Close() | ||
{ | ||
DataReader.Close(); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
//------------------------------------------------------------------------------ | ||
// <auto-generated> | ||
// This code was generated by AsyncGenerator. | ||
// | ||
// Changes to this file may cause incorrect behavior and will be lost if | ||
// the code is regenerated. | ||
// </auto-generated> | ||
//------------------------------------------------------------------------------ | ||
|
||
|
||
using System; | ||
using System.Collections; | ||
using System.Data.Common; | ||
|
||
namespace NHibernate.AdoNet | ||
{ | ||
using System.Threading.Tasks; | ||
using System.Threading; | ||
public abstract partial class DbDataReaderWrapper : DbDataReader | ||
{ | ||
|
||
public override Task<bool> NextResultAsync(CancellationToken cancellationToken) | ||
{ | ||
if (cancellationToken.IsCancellationRequested) | ||
{ | ||
return Task.FromCanceled<bool>(cancellationToken); | ||
} | ||
return DataReader.NextResultAsync(cancellationToken); | ||
} | ||
|
||
public override Task<bool> ReadAsync(CancellationToken cancellationToken) | ||
{ | ||
if (cancellationToken.IsCancellationRequested) | ||
{ | ||
return Task.FromCanceled<bool>(cancellationToken); | ||
} | ||
return DataReader.ReadAsync(cancellationToken); | ||
} | ||
} | ||
} |