From: Tomasz B. <t.b...@cb...> - 2003-12-22 10:02:04
|
Hi, I found a bug in Provider 1.5 RC1 version. I seems to affect only queries to system tables. The following code: <code> using System; using System.Data; //Provider 1.1 build: 1.0.1241.28320 - ok //Provider 1.5 RC1 build: 1.5.1437.22333 - bug using FirebirdSql.Data.Firebird; namespace BugInProvider { class Class1 { static void Main(string[] args) { string ConnectionString = "connectionstring" //query taken from DbSchemaFactory string strSql = "SELECT rdb$relation_name AS TABLE_NAME, rdb$view_blr AS TABLE_TYPE, rdb$system_flag AS SYSTEM_TABLE, rdb$owner_name AS OWNER_NAME, rdb$description AS DESCRIPTION FROM rdb$relations ORDER BY rdb$system_flag, rdb$owner_name, rdb$relation_name"; FbConnection cn = new FbConnection(ConnectionString); cn.Open(); FbCommand cmd = new FbCommand(strSql,cn,cn.BeginTransaction()); FbDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { System.Console.WriteLine("Table_name: {0}",rdr.GetValue(0)); } rdr.Close(); cmd.Transaction.Rollback(); cn.Close(); System.Console.ReadLine(); } } } </code> Produces output like this: Table_name: RDB$FILTER Table_name: RDB$FORMAT Table_name: RDB$FUNCTI Table_name: RDB$FUNCTI Table_name: RDB$GENERA Table_name: RDB$INDEX_ Table_name: RDB$INDICE The size is trimmed to 10 chars With a Provider 1.1 build: 1.0.1241.28320 the results are ok: Table_name: RDB$FILTERS Table_name: RDB$FORMATS Table_name: RDB$FUNCTIONS Table_name: RDB$FUNCTION_ARGUMENTS Table_name: RDB$GENERATORS Table_name: RDB$INDEX_SEGMENTS Table_name: RDB$INDICES btw. How to use restrictions in FbConnection.GetDbSchemaTable? Best regards PS. Sorry for English. -- Tomasz (Tom) Bogucki Fundacja CBOS Warsaw,Poland |