From:
<car...@te...> - 2003-11-11 18:48:14
|
Hello: The beta 4 is the last beta release before start the RC stage, i'm starting to think in the needs we are going to have after 1.5 release, i think we have two mayor needs for the future: 1. ADO.NET 2.0 compatibility. I'm thinking on this for version 2.0 of the Firbeird .NET Data Provider. I'm reviwing the alpha docs of ADO.NET 2.0 and there are a lot of internal changes that are going to be needed for match with the new architecture of ADO.NET (Documentation of ADO.NET is fairly incomplete but it's not bad to be reviewing it yet ;)). All the actual ADO.NET classes needs changes for match new class hierarchy, for example in ADO.NET 2.0: - SqlConnection inherits from: DbConnectionBase, ICloneable, ISqlConnection, IDbConnection, IDisposable - SqlCommand inherits from: DbCommandBase, ICloneable, IDbAsyncCommand, ISqlCommand, IDbCommand, IDisposable - SqlCommandBuilder inherits from: DbCommandBuilder - SqlDataReader inhertits from: DbDataReaderBase, IDataReader, IDataRecord, ISqlReader, IDisposable, ISqlRecord, ISqlGetTypedData, IGetTypedData - SqlTransaction inherits from: DbTransaction, ISqlTransaction, IDbTransaction, IDisposable - SqlParameter inherits from: DbParameterBase, ICloneable, ISqlParameter, IDbDataParameter, IDataParameter - SqlParameterCollection inherits from: DbParameterCollectionBase, ISqlParameterCollection, IDataParameterCollection, IList, ICollection, IEnumerable There are some new classes in the SqlClient of ADO.NET 2.0, some of them will be needed of implement in the Firebird .NET Data Provider, until now i have found this: - ResultSetEnumerator - SqlBulkCopyColumnAssociator - SqlBulkCopyColumnAssociatorCollection - SqlClientFactory (*) - SqlDataTable (*) - SqlDependency (*) - SqlResultSet (*) - SqlRecord (**) - SqlUpdatableRecord (***) (*) I think they are needed for implement in the Firebird .NET Data Provider as public classes. (**) I think they are needed for implement in the Firebird .NET Data Provider as internal classes. (***) Has no documentation yet, nut probably will be needed to implement. There are too some new features, for example SqlConnection has a GetSchema ( we have it yet in 1.5 as GetDbSchema but it's a little different and it's going to need changes ), SqlCommand has async methods for execution. I will try to continue to review the ADO.NET 2.0 docs. 2. Embbeded server support. For this we have to write a Firebird Client Wrapper, if i'm not wrong there two ways for do this: 1. Using PInvoke. 2. Using a C++ managed dll. I see both ways are no easy ;). I'm thinking on implement this for version 2.0 of the Firebird Provider ( if i can .. hehe ... i have basic knowledge of C++ and i'm not sure is PInvoke is a real option for this ;) ), i want to see a way for abstract GDS implementation and Firebird client wrapper for allow to use only one set of ADO.NET classes, now the .net provider ships with a single assembly and for make this the best way, in first place, will be to use custom assemblys for GDS implementations. Another question i'm thinking on is that more than probably version 2.0 of the Firebird provider will ship with documentation only for non standard ADO.NET classes ( for these classes the documentation of SqlClient or other Microsoft provider will be more than good :) ). Before the 2.0 release there will one or more releases with little enhacements and bug fixes if needed. -- Best regards Carlso Guzmán Álvarez Vigo-Spain P.S: Sorry for the poor english, this is the nig email i have written ever in English :) |