Index: Doc/Extra/Provider/version.html
==================================================================
--- Doc/Extra/Provider/version.html
+++ Doc/Extra/Provider/version.html
@@ -44,11 +44,13 @@
Version History
1.0.97.0 - May XX, 2015 (release scheduled)
- Updated to Entity Framework 6.1.3.
+ - Prevent the IDataReader.GetDataTypeName method from throwing "No current row" exceptions. Fix for [94252b9059].
- When BinaryGUID handling is off, transform the LINQ parameter types as well. Fix for [a4d9c7ee94]. ** Potentially Incompatible Change **
+ - The IDataReader.GetDataTypeName method should always return the declared type name. ** Potentially Incompatible Change **
1.0.96.0 - March 5, 2015
- Prevent the IDataReader.GetOrdinal method from throwing "No current row" exceptions. Fix for [2be4298631], [abad7c577d], and [c28d7fe915].
- When counting the number of tables in the GetSchemaTable method, do not include those that have a null or empty name. Fix for [92dbf1229a].
Index: System.Data.SQLite/SQLiteDataReader.cs
==================================================================
--- System.Data.SQLite/SQLiteDataReader.cs
+++ System.Data.SQLite/SQLiteDataReader.cs
@@ -534,18 +534,16 @@
/// The index of the column to retrieve
/// string
public override string GetDataTypeName(int i)
{
CheckDisposed();
- VerifyForGet();
if (i >= PrivateVisibleFieldCount && _keyInfo != null)
return _keyInfo.GetDataTypeName(i - PrivateVisibleFieldCount);
- SQLiteType typ = GetSQLiteType(_flags, i);
- if (typ.Type == DbType.Object) return SQLiteConvert.SQLiteTypeToType(typ).Name;
- return _activeStatement._sql.ColumnType(_activeStatement, i, ref typ.Affinity);
+ TypeAffinity affin = TypeAffinity.Uninitialized;
+ return _activeStatement._sql.ColumnType(_activeStatement, i, ref affin);
}
///
/// Retrieve the column as a date/time value
///
ADDED Tests/tkt-94252b9059.eagle
Index: Tests/tkt-94252b9059.eagle
==================================================================
--- /dev/null
+++ Tests/tkt-94252b9059.eagle
@@ -0,0 +1,49 @@
+###############################################################################
+#
+# tkt-94252b9059.eagle --
+#
+# Written by Joe Mistachkin.
+# Released to the public domain, use at your own risk!
+#
+###############################################################################
+
+package require Eagle
+package require Eagle.Library
+package require Eagle.Test
+
+runTestPrologue
+
+###############################################################################
+
+package require System.Data.SQLite.Test
+runSQLiteTestPrologue
+
+###############################################################################
+
+runTest {test tkt-94252b9059-1.1 {GetDataTypeName with no current row} -setup {
+ setupDb [set fileName tkt-94252b9059-1.1.db]
+} -body {
+ sql execute $db {
+ CREATE TABLE t1(x SOMETYPE, y INTEGER, z);
+ }
+
+ set dataReader [sql execute -execute reader -format datareader \
+ -alias $db "SELECT x, y, z FROM t1;"]
+
+ list [$dataReader GetDataTypeName 0] [$dataReader GetDataTypeName 1] \
+ [$dataReader GetDataTypeName 2] [$dataReader GetFieldType 0] \
+ [$dataReader GetFieldType 1] [$dataReader GetFieldType 2]
+} -cleanup {
+ unset -nocomplain dataReader
+
+ cleanupDb $fileName
+
+ unset -nocomplain db fileName
+} -constraints \
+{eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \
+{SOMETYPE INTEGER {} System.Object System.Int64 System.Object}}
+
+###############################################################################
+
+runSQLiteTestEpilogue
+runTestEpilogue
Index: readme.htm
==================================================================
--- readme.htm
+++ readme.htm
@@ -211,11 +211,13 @@
1.0.97.0 - May XX, 2015 (release scheduled)
- Updated to Entity Framework 6.1.3.
+ - Prevent the IDataReader.GetDataTypeName method from throwing "No current row" exceptions. Fix for [94252b9059].
- When BinaryGUID handling is off, transform the LINQ parameter types as well. Fix for [a4d9c7ee94]. ** Potentially Incompatible Change **
+ - The IDataReader.GetDataTypeName method should always return the declared type name. ** Potentially Incompatible Change **
1.0.96.0 - March 5, 2015
Index: www/news.wiki
==================================================================
--- www/news.wiki
+++ www/news.wiki
@@ -5,11 +5,13 @@
1.0.97.0 - May XX, 2015 (release scheduled)
- Updated to [https://www.nuget.org/packages/EntityFramework/6.1.3|Entity Framework 6.1.3].
+ - Prevent the IDataReader.GetDataTypeName method from throwing "No current row" exceptions. Fix for [94252b9059].
- When BinaryGUID handling is off, transform the LINQ parameter types as well. Fix for [a4d9c7ee94]. ** Potentially Incompatible Change **
+ - The IDataReader.GetDataTypeName method should always return the declared type name. ** Potentially Incompatible Change **
1.0.96.0 - March 5, 2015