public PostgreSQLDataProvider(string name, PostgreSQLVersion version = PostgreSQLVersion.v92) : base( name, GetMappingSchema(version, NpgsqlProviderAdapter.GetInstance().MappingSchema), NpgsqlProviderAdapter.GetInstance()) { Version = version; SqlProviderFlags.IsApplyJoinSupported = version != PostgreSQLVersion.v92; SqlProviderFlags.IsInsertOrUpdateSupported = version == PostgreSQLVersion.v95; SqlProviderFlags.IsUpdateSetTableAliasSupported = false; SqlProviderFlags.IsCommonTableExpressionsSupported = true; SqlProviderFlags.IsDistinctOrderBySupported = false; SqlProviderFlags.IsSubQueryOrderBySupported = true; SqlProviderFlags.IsAllSetOperationsSupported = true; SqlProviderFlags.IsGroupByExpressionSupported = false; SetCharFieldToType <char>("bpchar", DataTools.GetCharExpression); SetCharFieldToType <char>("character", DataTools.GetCharExpression); SetCharField("bpchar", (r, i) => r.GetString(i).TrimEnd(' ')); SetCharField("character", (r, i) => r.GetString(i).TrimEnd(' ')); _sqlOptimizer = new PostgreSQLSqlOptimizer(SqlProviderFlags); ConfigureTypes(); }
protected PostgreSQLDataProvider(string name, PostgreSQLVersion version) : base(name, GetMappingSchema(version), NpgsqlProviderAdapter.GetInstance()) { Version = version; SqlProviderFlags.IsApplyJoinSupported = version != PostgreSQLVersion.v92; SqlProviderFlags.IsInsertOrUpdateSupported = version == PostgreSQLVersion.v95; SqlProviderFlags.IsUpdateSetTableAliasSupported = false; SqlProviderFlags.IsCommonTableExpressionsSupported = true; SqlProviderFlags.IsDistinctOrderBySupported = false; SqlProviderFlags.IsSubQueryOrderBySupported = true; SqlProviderFlags.IsAllSetOperationsSupported = true; SqlProviderFlags.RowConstructorSupport = RowFeature.Equality | RowFeature.Comparisons | RowFeature.CompareToSelect | RowFeature.In | RowFeature.IsNull | RowFeature.Update | RowFeature.UpdateLiteral | RowFeature.Overlaps | RowFeature.Between; SetCharFieldToType <char>("bpchar", DataTools.GetCharExpression); SetCharFieldToType <char>("character", DataTools.GetCharExpression); SetCharField("bpchar", (r, i) => r.GetString(i).TrimEnd(' ')); SetCharField("character", (r, i) => r.GetString(i).TrimEnd(' ')); _sqlOptimizer = new PostgreSQLSqlOptimizer(SqlProviderFlags); ConfigureTypes(); }
protected PostgreSQLDataProvider(string name, MappingSchema mappingSchema) : base(name, mappingSchema) { SqlProviderFlags.IsInsertOrUpdateSupported = false; SetCharField("bpchar", (r, i) => r.GetString(i).TrimEnd()); _sqlOptimizer = new PostgreSQLSqlOptimizer(SqlProviderFlags); }
protected PostgreSQLDataProvider(string name, MappingSchema mappingSchema, PostgreSQLVersion version = PostgreSQLVersion.v92) : base(name, mappingSchema) { Version = version; SqlProviderFlags.IsApplyJoinSupported = version != PostgreSQLVersion.v92; SqlProviderFlags.IsInsertOrUpdateSupported = version == PostgreSQLVersion.v95; SqlProviderFlags.IsUpdateSetTableAliasSupported = false; SqlProviderFlags.IsCommonTableExpressionsSupported = true; SetCharFieldToType <char>("bpchar", (r, i) => DataTools.GetChar(r, i)); SetCharField("bpchar", (r, i) => r.GetString(i).TrimEnd(' ')); _sqlOptimizer = new PostgreSQLSqlOptimizer(SqlProviderFlags); }
protected PostgreSQLDataProvider(string name, MappingSchema mappingSchema, PostgreSQLVersion version = PostgreSQLVersion.v92) : base(name, mappingSchema) { Version = version; if (version == PostgreSQLVersion.v93) { SqlProviderFlags.IsApplyJoinSupported = true; } SqlProviderFlags.IsInsertOrUpdateSupported = false; SqlProviderFlags.IsUpdateSetTableAliasSupported = false; SetCharField("bpchar", (r, i) => r.GetString(i).TrimEnd()); _sqlOptimizer = new PostgreSQLSqlOptimizer(SqlProviderFlags); }