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();
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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);
        }
Beispiel #5
0
        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);
        }