protected FirebirdDataProvider(string name, MappingSchema mappingSchema)
            : base(name, mappingSchema)
        {
            SqlProviderFlags.IsIdentityParameterRequired = true;

            SetCharField("CHAR", (r, i) => r.GetString(i).TrimEnd());

            SetProviderField <IDataReader, TimeSpan, DateTime>((r, i) => r.GetDateTime(i) - new DateTime(1970, 1, 1));
            SetProviderField <IDataReader, DateTime, DateTime>((r, i) => GetDateTime(r, i));

            _sqlOptimizer = new FirebirdSqlOptimizer(SqlProviderFlags);
        }
        protected FirebirdDataProvider(string name, MappingSchema mappingSchema)
            : base(name, mappingSchema)
        {
            SqlProviderFlags.IsIdentityParameterRequired       = true;
            SqlProviderFlags.IsCommonTableExpressionsSupported = true;

            SetCharField("CHAR", (r, i) => r.GetString(i).TrimEnd(' '));
            SetCharFieldToType <char>("CHAR", (r, i) => DataTools.GetChar(r, i));

            SetProviderField <IDataReader, TimeSpan, DateTime>((r, i) => r.GetDateTime(i) - new DateTime(1970, 1, 1));
            SetProviderField <IDataReader, DateTime, DateTime>((r, i) => GetDateTime(r, i));

            _sqlOptimizer = new FirebirdSqlOptimizer(SqlProviderFlags);
        }