From d20cafa6bffb17493148e7760ae12bcdaacb58fc Mon Sep 17 00:00:00 2001 From: Christopher Jolly Date: Wed, 26 Jun 2024 17:58:32 +0800 Subject: [PATCH] Cleanup unneeded code (#246) * remove some unnecessary stuff --- .../Extensions/JetModelExtensions.cs | 90 ----- .../Extensions/JetPropertyExtensions.cs | 172 ---------- .../JetValueGenerationStrategyConvention.cs | 13 - .../Internal/JetByteArrayMethodTranslator.cs | 2 +- .../Internal/JetStringMethodTranslator.cs | 29 +- .../Storage/Internal/JetTypeMappingSource.cs | 8 - .../BuiltInDataTypesJetTest.cs | 307 +++++------------- .../GreenTests/ace_2010_odbc_x86.txt | 36 ++ .../GreenTests/ace_2010_oledb_x86.txt | 36 ++ 9 files changed, 165 insertions(+), 528 deletions(-) diff --git a/src/EFCore.Jet/Extensions/JetModelExtensions.cs b/src/EFCore.Jet/Extensions/JetModelExtensions.cs index 5bf60d5b..4fd6ef6e 100644 --- a/src/EFCore.Jet/Extensions/JetModelExtensions.cs +++ b/src/EFCore.Jet/Extensions/JetModelExtensions.cs @@ -126,95 +126,5 @@ public static void SetValueGenerationStrategy([NotNull] this IMutableModel model /// The for the default . public static ConfigurationSource? GetJetValueGenerationStrategyConfigurationSource([NotNull] this IConventionModel model) => model.FindAnnotation(JetAnnotationNames.ValueGenerationStrategy)?.GetConfigurationSource(); - - /// - /// Returns the suffix to append to the name of automatically created sequences. - /// - /// The model. - /// The name to use for the default key value generation sequence. - public static string GetJetSequenceNameSuffix(this IReadOnlyModel model) - => (string?)model[JetAnnotationNames.SequenceNameSuffix] - ?? DefaultSequenceNameSuffix; - - /// - /// Sets the suffix to append to the name of automatically created sequences. - /// - /// The model. - /// The value to set. - public static void SetJetSequenceNameSuffix(this IMutableModel model, string? name) - { - Check.NullButNotEmpty(name, nameof(name)); - - model.SetOrRemoveAnnotation(JetAnnotationNames.SequenceNameSuffix, name); - } - - /// - /// Sets the suffix to append to the name of automatically created sequences. - /// - /// The model. - /// The value to set. - /// Indicates whether the configuration was specified using a data annotation. - /// The configured value. - public static string? SetJetSequenceNameSuffix( - this IConventionModel model, - string? name, - bool fromDataAnnotation = false) - => (string?)model.SetOrRemoveAnnotation( - JetAnnotationNames.SequenceNameSuffix, - Check.NullButNotEmpty(name, nameof(name)), - fromDataAnnotation)?.Value; - - /// - /// Returns the for the default value generation sequence name suffix. - /// - /// The model. - /// The for the default key value generation sequence name. - public static ConfigurationSource? GetJetSequenceNameSuffixConfigurationSource(this IConventionModel model) - => model.FindAnnotation(JetAnnotationNames.SequenceNameSuffix)?.GetConfigurationSource(); - - /// - /// Returns the schema to use for the default value generation sequence. - /// - /// - /// The model. - /// The schema to use for the default key value generation sequence. - public static string? GetJetSequenceSchema(this IReadOnlyModel model) - => (string?)model[JetAnnotationNames.SequenceSchema]; - - /// - /// Sets the schema to use for the default key value generation sequence. - /// - /// The model. - /// The value to set. - public static void SetJetSequenceSchema(this IMutableModel model, string? value) - { - Check.NullButNotEmpty(value, nameof(value)); - - model.SetOrRemoveAnnotation(JetAnnotationNames.SequenceSchema, value); - } - - /// - /// Sets the schema to use for the default key value generation sequence. - /// - /// The model. - /// The value to set. - /// Indicates whether the configuration was specified using a data annotation. - /// The configured value. - public static string? SetJetSequenceSchema( - this IConventionModel model, - string? value, - bool fromDataAnnotation = false) - => (string?)model.SetOrRemoveAnnotation( - JetAnnotationNames.SequenceSchema, - Check.NullButNotEmpty(value, nameof(value)), - fromDataAnnotation)?.Value; - - /// - /// Returns the for the default key value generation sequence schema. - /// - /// The model. - /// The for the default key value generation sequence schema. - public static ConfigurationSource? GetJetSequenceSchemaConfigurationSource(this IConventionModel model) - => model.FindAnnotation(JetAnnotationNames.SequenceSchema)?.GetConfigurationSource(); } } \ No newline at end of file diff --git a/src/EFCore.Jet/Extensions/JetPropertyExtensions.cs b/src/EFCore.Jet/Extensions/JetPropertyExtensions.cs index 0412edb7..36f46d2e 100644 --- a/src/EFCore.Jet/Extensions/JetPropertyExtensions.cs +++ b/src/EFCore.Jet/Extensions/JetPropertyExtensions.cs @@ -376,177 +376,5 @@ public static bool IsCompatibleWithValueGeneration([NotNull] IReadOnlyProperty p return (type.IsInteger() || type == typeof(decimal)); } - - /// - /// Returns the name to use for the key value generation sequence. - /// - /// The property. - /// The name to use for the key value generation sequence. - public static string? GetJetSequenceName(this IReadOnlyProperty property) - => (string?)property[JetAnnotationNames.SequenceName]; - - /// - /// Returns the name to use for the key value generation sequence. - /// - /// The property. - /// The identifier of the store object. - /// The name to use for the key value generation sequence. - public static string? GetJetSequenceName(this IReadOnlyProperty property, in StoreObjectIdentifier storeObject) - { - var annotation = property.FindAnnotation(JetAnnotationNames.SequenceName); - if (annotation != null) - { - return (string?)annotation.Value; - } - - return property.FindSharedStoreObjectRootProperty(storeObject)?.GetJetSequenceName(storeObject); - } - - /// - /// Sets the name to use for the key value generation sequence. - /// - /// The property. - /// The sequence name to use. - public static void SetJetSequenceName(this IMutableProperty property, string? name) - => property.SetOrRemoveAnnotation( - JetAnnotationNames.SequenceName, - Check.NullButNotEmpty(name, nameof(name))); - - /// - /// Sets the name to use for the key value generation sequence. - /// - /// The property. - /// The sequence name to use. - /// Indicates whether the configuration was specified using a data annotation. - /// The configured value. - public static string? SetJetSequenceName( - this IConventionProperty property, - string? name, - bool fromDataAnnotation = false) - => (string?)property.SetOrRemoveAnnotation( - JetAnnotationNames.SequenceName, - Check.NullButNotEmpty(name, nameof(name)), - fromDataAnnotation)?.Value; - - /// - /// Returns the for the key value generation sequence name. - /// - /// The property. - /// The for the key value generation sequence name. - public static ConfigurationSource? GetJetSequenceNameConfigurationSource(this IConventionProperty property) - => property.FindAnnotation(JetAnnotationNames.SequenceName)?.GetConfigurationSource(); - - /// - /// Returns the schema to use for the key value generation sequence. - /// - /// The property. - /// The schema to use for the key value generation sequence. - public static string? GetJetSequenceSchema(this IReadOnlyProperty property) - => (string?)property[JetAnnotationNames.SequenceSchema]; - - /// - /// Returns the schema to use for the key value generation sequence. - /// - /// The property. - /// The identifier of the store object. - /// The schema to use for the key value generation sequence. - public static string? GetJetSequenceSchema(this IReadOnlyProperty property, in StoreObjectIdentifier storeObject) - { - var annotation = property.FindAnnotation(JetAnnotationNames.SequenceSchema); - if (annotation != null) - { - return (string?)annotation.Value; - } - - return property.FindSharedStoreObjectRootProperty(storeObject)?.GetJetSequenceSchema(storeObject); - } - - /// - /// Sets the schema to use for the key value generation sequence. - /// - /// The property. - /// The schema to use. - public static void SetJetSequenceSchema(this IMutableProperty property, string? schema) - => property.SetOrRemoveAnnotation( - JetAnnotationNames.SequenceSchema, - Check.NullButNotEmpty(schema, nameof(schema))); - - /// - /// Sets the schema to use for the key value generation sequence. - /// - /// The property. - /// The schema to use. - /// Indicates whether the configuration was specified using a data annotation. - /// The configured value. - public static string? SetJetSequenceSchema( - this IConventionProperty property, - string? schema, - bool fromDataAnnotation = false) - => (string?)property.SetOrRemoveAnnotation( - JetAnnotationNames.SequenceSchema, - Check.NullButNotEmpty(schema, nameof(schema)), - fromDataAnnotation)?.Value; - - /// - /// Returns the for the key value generation sequence schema. - /// - /// The property. - /// The for the key value generation sequence schema. - public static ConfigurationSource? GetGetSequenceSchemaConfigurationSource(this IConventionProperty property) - => property.FindAnnotation(JetAnnotationNames.SequenceSchema)?.GetConfigurationSource(); - - /// - /// Finds the in the model to use for the key value generation pattern. - /// - /// The property. - /// The sequence to use, or if no sequence exists in the model. - public static IReadOnlySequence? FindJetSequence(this IReadOnlyProperty property) - { - var model = property.DeclaringType.Model; - - var sequenceName = property.GetJetSequenceName() - ?? model.GetJetSequenceNameSuffix(); - - var sequenceSchema = property.GetJetSequenceSchema() - ?? model.GetJetSequenceSchema(); - - return model.FindSequence(sequenceName, sequenceSchema); - } - - /// - /// Finds the in the model to use for the key value generation pattern. - /// - /// The property. - /// The identifier of the store object. - /// The sequence to use, or if no sequence exists in the model. - public static IReadOnlySequence? FindJetSequence(this IReadOnlyProperty property, in StoreObjectIdentifier storeObject) - { - var model = property.DeclaringType.Model; - - var sequenceName = property.GetJetSequenceName(storeObject) - ?? model.GetJetSequenceNameSuffix(); - - var sequenceSchema = property.GetJetSequenceSchema(storeObject) - ?? model.GetJetSequenceSchema(); - - return model.FindSequence(sequenceName, sequenceSchema); - } - - /// - /// Finds the in the model to use for the key value generation pattern. - /// - /// The property. - /// The sequence to use, or if no sequence exists in the model. - public static ISequence? FindJetSequence(this IProperty property) - => (ISequence?)((IReadOnlyProperty)property).FindJetSequence(); - - /// - /// Finds the in the model to use for the key value generation pattern. - /// - /// The property. - /// The identifier of the store object. - /// The sequence to use, or if no sequence exists in the model. - public static ISequence? FindJetSequence(this IProperty property, in StoreObjectIdentifier storeObject) - => (ISequence?)((IReadOnlyProperty)property).FindJetSequence(storeObject); } } \ No newline at end of file diff --git a/src/EFCore.Jet/Metadata/Conventions/JetValueGenerationStrategyConvention.cs b/src/EFCore.Jet/Metadata/Conventions/JetValueGenerationStrategyConvention.cs index 85296e23..dbff1a80 100644 --- a/src/EFCore.Jet/Metadata/Conventions/JetValueGenerationStrategyConvention.cs +++ b/src/EFCore.Jet/Metadata/Conventions/JetValueGenerationStrategyConvention.cs @@ -84,19 +84,6 @@ public class JetValueGenerationStrategyConvention : IModelInitializedConvention, && declaringTable.Name != null) { property.Builder.HasValueGenerationStrategy(strategy); - - if (strategy == JetValueGenerationStrategy.Sequence) - { - var sequence = modelBuilder.HasSequence( - property.GetJetSequenceName(declaringTable) - ?? entityType.GetRootType().ShortName() + modelBuilder.Metadata.GetJetSequenceNameSuffix(), - property.GetJetSequenceSchema(declaringTable) - ?? modelBuilder.Metadata.GetJetSequenceSchema()).Metadata; - - property.Builder.HasDefaultValueSql( - RelationalDependencies.UpdateSqlGenerator.GenerateObtainNextSequenceValueOperation( - sequence.Name, sequence.Schema)); - } } } } diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetByteArrayMethodTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetByteArrayMethodTranslator.cs index 37e06b93..2fe1bc53 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetByteArrayMethodTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetByteArrayMethodTranslator.cs @@ -49,7 +49,7 @@ public JetByteArrayMethodTranslator(ISqlExpressionFactory sqlExpressionFactory) { if (method == ByteArrayLength) { - var isBinaryMaxDataType = GetProviderType(arguments[1]) == "varbinary(max)" || arguments[1] is SqlParameterExpression; + var isBinaryMaxDataType = arguments[1] is SqlParameterExpression; SqlExpression dataLengthSqlFunction = _sqlExpressionFactory.Function( "LENB", new[] { arguments[1] }, diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMethodTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMethodTranslator.cs index e9d48e9a..709e6ecd 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMethodTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMethodTranslator.cs @@ -301,29 +301,12 @@ public JetStringMethodTranslator(ISqlExpressionFactory sqlExpressionFactory) var argumentsPropagateNullability = Enumerable.Repeat(true, charIndexArguments.Count); - SqlExpression charIndexExpression; - var storeType = stringTypeMapping.StoreType; - if (string.Equals(storeType, "nvarchar(max)", StringComparison.OrdinalIgnoreCase) - || string.Equals(storeType, "varchar(max)", StringComparison.OrdinalIgnoreCase)) - { - charIndexExpression = _sqlExpressionFactory.Function( - "INSTR", - charIndexArguments, - nullable: true, - argumentsPropagateNullability, - typeof(long)); - - charIndexExpression = _sqlExpressionFactory.Convert(charIndexExpression, typeof(int)); - } - else - { - charIndexExpression = _sqlExpressionFactory.Function( - "INSTR", - charIndexArguments, - nullable: true, - argumentsPropagateNullability, - method.ReturnType); - } + SqlExpression charIndexExpression = charIndexExpression = _sqlExpressionFactory.Function( + "INSTR", + charIndexArguments, + nullable: true, + argumentsPropagateNullability, + method.ReturnType); charIndexExpression = _sqlExpressionFactory.Subtract(charIndexExpression, _sqlExpressionFactory.Constant(1)); diff --git a/src/EFCore.Jet/Storage/Internal/JetTypeMappingSource.cs b/src/EFCore.Jet/Storage/Internal/JetTypeMappingSource.cs index 93a094d3..663580b2 100644 --- a/src/EFCore.Jet/Storage/Internal/JetTypeMappingSource.cs +++ b/src/EFCore.Jet/Storage/Internal/JetTypeMappingSource.cs @@ -104,7 +104,6 @@ public class JetTypeMappingSource : RelationalTypeMappingSource {"binary", new []{_fixedLengthBinary}}, {"varbinary", new []{_variableLengthBinary}}, - {"varbinary(max)", new[] { _variableLengthMaxBinary }}, {"binary varying", new[] { _variableLengthBinary }}, {"bit varying", new[] { _variableLengthBinary }}, @@ -172,13 +171,6 @@ public class JetTypeMappingSource : RelationalTypeMappingSource {"national char varying", new[] { _variableLengthUnicodeString }}, {"national character varying", new[] { _variableLengthUnicodeString }}, - {"varchar(max)", new[] { _variableLengthMaxUnicodeString }}, - {"string(max)", new[] { _variableLengthMaxUnicodeString }}, - {"char varying(max)", new[] { _variableLengthMaxUnicodeString }}, - {"character varying(max)", new[] { _variableLengthMaxUnicodeString }}, - {"national char varying(max)", new[] { _variableLengthMaxUnicodeString }}, - {"national character varying(max)", new[] { _variableLengthMaxUnicodeString }}, - {"longchar", new[] { _unboundedUnicodeString }}, {"longtext", new[] { _unboundedUnicodeString }}, {"memo", new[] { _unboundedUnicodeString }}, diff --git a/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs b/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs index fada859a..9cca119d 100644 --- a/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs @@ -611,10 +611,10 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types() @p4='0x61626364' (Nullable = false) (Size = 510) @p5='0x595A5B5C' (Nullable = false) (Size = 510) @p6='B' (Nullable = false) (Size = 1) -@p7='C' (Nullable = false) (Size = 1) +@p7='C' (Nullable = false) (Size = 255) @p8='73' @p9='E' (Nullable = false) (Size = 1) -@p10='F' (Nullable = false) (Size = 1) +@p10='F' (Nullable = false) (Size = 255) @p11='H' (Nullable = false) (Size = 1) @p12='D' (Nullable = false) (Size = 1) @p13='G' (Nullable = false) (Size = 1) @@ -810,10 +810,10 @@ public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types() @p4='0x61626364' (Size = 510) @p5='0x595A5B5C' (Size = 510) @p6='B' (Size = 1) -@p7='C' (Size = 1) +@p7='C' (Size = 255) @p8='73' (Nullable = true) @p9='E' (Size = 1) -@p10='F' (Size = 1) +@p10='F' (Size = 255) @p11='H' (Size = 1) @p12='D' (Size = 1) @p13='G' (Size = 1) @@ -839,8 +839,8 @@ public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types() @p33='And now' (Size = 255) @p34='strong' (Size = 255) @p35='this...' (Size = 255) -@p36='help' (Size = 100) -@p37='anyone!' (Size = 100) +@p36='help' (Size = 255) +@p37='anyone!' (Size = 255) @p38='Gumball Rules OK!' (Size = 255) @p39='don't' (Size = 255) @p40='Gumball Rules!' (Size = 255) @@ -1002,10 +1002,10 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null() @p4=NULL (Size = 510) (DbType = Binary) @p5=NULL (Size = 510) (DbType = Binary) @p6=NULL (Size = 1) -@p7=NULL (Size = 1) +@p7=NULL (Size = 255) @p8=NULL (DbType = Int32) @p9=NULL (Size = 1) -@p10=NULL (Size = 1) +@p10=NULL (Size = 255) @p11=NULL (Size = 1) @p12=NULL (Size = 1) @p13=NULL (Size = 1) @@ -1031,8 +1031,8 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null() @p33=NULL (Size = 255) @p34=NULL (Size = 255) @p35=NULL (Size = 255) -@p36=NULL (Size = 100) -@p37=NULL (Size = 100) +@p36=NULL (Size = 255) +@p37=NULL (Size = 255) @p38=NULL (Size = 255) @p39=NULL (Size = 255) @p40=NULL (Size = 255) @@ -1399,14 +1399,14 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_identity Assert.Equal( $@"@p0='True' @p1='80' (Size = 1) -@p2='0x5D5E5F60' (Nullable = false) (Size = 510) +@p2='0x5D5E5F60' (Nullable = false) (Size = 255) @p3='0x61626364' (Nullable = false) (Size = 510) -@p4='0x595A5B5C' (Nullable = false) (Size = 510) +@p4='0x595A5B5C' (Nullable = false) (Size = 255) @p5='B' (Nullable = false) (Size = 1) -@p6='C' (Nullable = false) (Size = 1) +@p6='C' (Nullable = false) (Size = 255) @p7='73' @p8='E' (Nullable = false) (Size = 1) -@p9='F' (Nullable = false) (Size = 1) +@p9='F' (Nullable = false) (Size = 255) @p10='H' (Nullable = false) (Size = 1) @p11='D' (Nullable = false) (Size = 1) @p12='G' (Nullable = false) (Size = 1) @@ -1598,10 +1598,10 @@ public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_with @p3='0x595A5B5C' (Size = 510) @p4='0x5D5E5F60' (Size = 510) @p5='B' (Size = 1) -@p6='C' (Size = 1) +@p6='C' (Size = 255) @p7='73' (Nullable = true) @p8='E' (Size = 1) -@p9='F' (Size = 1) +@p9='F' (Size = 255) @p10='H' (Size = 1) @p11='D' (Size = 1) @p12='G' (Size = 1) @@ -1790,10 +1790,10 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_w @p3=NULL (Size = 510) (DbType = Binary) @p4=NULL (Size = 510) (DbType = Binary) @p5=NULL (Size = 1) -@p6=NULL (Size = 1) +@p6=NULL (Size = 255) @p7=NULL (DbType = Int32) @p8=NULL (Size = 1) -@p9=NULL (Size = 1) +@p9=NULL (Size = 255) @p10=NULL (Size = 1) @p11=NULL (Size = 1) @p12=NULL (Size = 1) @@ -2626,9 +2626,9 @@ public virtual void Columns_have_expected_data_types() MappedDataTypes.BytesAsImage ---> [longbinary] MappedDataTypes.BytesAsVarbinaryMax ---> [varbinary] [MaxLength = 510] MappedDataTypes.CharAsAsCharVarying ---> [varchar] [MaxLength = 1] -MappedDataTypes.CharAsCharacterVaryingMax ---> [varchar] [MaxLength = 1] +MappedDataTypes.CharAsCharacterVaryingMax ---> [varchar] [MaxLength = 255] MappedDataTypes.CharAsInt ---> [integer] -MappedDataTypes.CharAsNationalCharacterVaryingMax ---> [varchar] [MaxLength = 1] +MappedDataTypes.CharAsNationalCharacterVaryingMax ---> [varchar] [MaxLength = 255] MappedDataTypes.CharAsNationalCharVarying ---> [varchar] [MaxLength = 1] MappedDataTypes.CharAsNtext ---> [longchar] MappedDataTypes.CharAsNvarchar ---> [varchar] [MaxLength = 1] @@ -2673,13 +2673,13 @@ public virtual void Columns_have_expected_data_types() MappedDataTypes.UShortAsSmallint ---> [smallint] MappedDataTypesWithIdentity.BoolAsBit ---> [bit] MappedDataTypesWithIdentity.ByteAsTinyint ---> [byte] -MappedDataTypesWithIdentity.BytesAsBinaryVaryingMax ---> [varbinary] [MaxLength = 510] +MappedDataTypesWithIdentity.BytesAsBinaryVaryingMax ---> [varbinary] [MaxLength = 255] MappedDataTypesWithIdentity.BytesAsImage ---> [longbinary] -MappedDataTypesWithIdentity.BytesAsVarbinaryMax ---> [varbinary] [MaxLength = 510] +MappedDataTypesWithIdentity.BytesAsVarbinaryMax ---> [varbinary] [MaxLength = 255] MappedDataTypesWithIdentity.CharAsAsCharVarying ---> [varchar] [MaxLength = 1] -MappedDataTypesWithIdentity.CharAsCharacterVaryingMax ---> [varchar] [MaxLength = 1] +MappedDataTypesWithIdentity.CharAsCharacterVaryingMax ---> [varchar] [MaxLength = 255] MappedDataTypesWithIdentity.CharAsInt ---> [integer] -MappedDataTypesWithIdentity.CharAsNationalCharacterVaryingMax ---> [varchar] [MaxLength = 1] +MappedDataTypesWithIdentity.CharAsNationalCharacterVaryingMax ---> [varchar] [MaxLength = 255] MappedDataTypesWithIdentity.CharAsNationalCharVarying ---> [varchar] [MaxLength = 1] MappedDataTypesWithIdentity.CharAsNtext ---> [longchar] MappedDataTypesWithIdentity.CharAsNvarchar ---> [varchar] [MaxLength = 1] @@ -2729,9 +2729,9 @@ public virtual void Columns_have_expected_data_types() MappedNullableDataTypes.BytesAsImage ---> [nullable longbinary] MappedNullableDataTypes.BytesAsVarbinaryMax ---> [nullable varbinary] [MaxLength = 510] MappedNullableDataTypes.CharAsAsCharVarying ---> [nullable varchar] [MaxLength = 1] -MappedNullableDataTypes.CharAsCharacterVaryingMax ---> [nullable varchar] [MaxLength = 1] +MappedNullableDataTypes.CharAsCharacterVaryingMax ---> [nullable varchar] [MaxLength = 255] MappedNullableDataTypes.CharAsInt ---> [nullable integer] -MappedNullableDataTypes.CharAsNationalCharacterVaryingMax ---> [nullable varchar] [MaxLength = 1] +MappedNullableDataTypes.CharAsNationalCharacterVaryingMax ---> [nullable varchar] [MaxLength = 255] MappedNullableDataTypes.CharAsNationalCharVarying ---> [nullable varchar] [MaxLength = 1] MappedNullableDataTypes.CharAsNtext ---> [nullable longchar] MappedNullableDataTypes.CharAsNvarchar ---> [nullable varchar] [MaxLength = 1] @@ -2759,8 +2759,8 @@ public virtual void Columns_have_expected_data_types() MappedNullableDataTypes.StringAsCharacterVaryingMaxUtf8 ---> [nullable varchar] [MaxLength = 255] MappedNullableDataTypes.StringAsCharVaryingMax ---> [nullable varchar] [MaxLength = 255] MappedNullableDataTypes.StringAsCharVaryingMaxUtf8 ---> [nullable varchar] [MaxLength = 255] -MappedNullableDataTypes.StringAsNationalCharacterVaryingMax ---> [nullable varchar] [MaxLength = 100] -MappedNullableDataTypes.StringAsNationalCharVaryingMax ---> [nullable varchar] [MaxLength = 100] +MappedNullableDataTypes.StringAsNationalCharacterVaryingMax ---> [nullable varchar] [MaxLength = 255] +MappedNullableDataTypes.StringAsNationalCharVaryingMax ---> [nullable varchar] [MaxLength = 255] MappedNullableDataTypes.StringAsNtext ---> [nullable longchar] MappedNullableDataTypes.StringAsNvarcharMax ---> [nullable varchar] [MaxLength = 255] MappedNullableDataTypes.StringAsText ---> [nullable longchar] @@ -2780,9 +2780,9 @@ public virtual void Columns_have_expected_data_types() MappedNullableDataTypesWithIdentity.BytesAsVarbinaryMax ---> [nullable varbinary] [MaxLength = 510] MappedNullableDataTypesWithIdentity.BytesAsVaryingMax ---> [nullable varbinary] [MaxLength = 510] MappedNullableDataTypesWithIdentity.CharAsAsCharVarying ---> [nullable varchar] [MaxLength = 1] -MappedNullableDataTypesWithIdentity.CharAsCharacterVaryingMax ---> [nullable varchar] [MaxLength = 1] +MappedNullableDataTypesWithIdentity.CharAsCharacterVaryingMax ---> [nullable varchar] [MaxLength = 255] MappedNullableDataTypesWithIdentity.CharAsInt ---> [nullable integer] -MappedNullableDataTypesWithIdentity.CharAsNationalCharacterVaryingMax ---> [nullable varchar] [MaxLength = 1] +MappedNullableDataTypesWithIdentity.CharAsNationalCharacterVaryingMax ---> [nullable varchar] [MaxLength = 255] MappedNullableDataTypesWithIdentity.CharAsNationalCharVarying ---> [nullable varchar] [MaxLength = 1] MappedNullableDataTypesWithIdentity.CharAsNtext ---> [nullable longchar] MappedNullableDataTypesWithIdentity.CharAsNvarchar ---> [nullable varchar] [MaxLength = 1] @@ -3221,33 +3221,33 @@ protected class MappedDataTypes [Column(TypeName = "time")] public TimeSpan TimeSpanAsTime { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] public string StringAsVarcharMax { get; set; } - [Column(TypeName = "char varying(max)")] + [Column(TypeName = "char varying(255)")] public string StringAsCharVaryingMax { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] public string StringAsCharacterVaryingMax { get; set; } - [Column(TypeName = "nvarchar(max)")] + [Column(TypeName = "nvarchar(255)")] public string StringAsNvarcharMax { get; set; } - [Column(TypeName = "national char varying(max)")] + [Column(TypeName = "national char varying(255)")] public string StringAsNationalCharVaryingMax { get; set; } - [Column(TypeName = "national character varying(max)")] + [Column(TypeName = "national character varying(255)")] public string StringAsNationalCharacterVaryingMax { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] [Unicode] public string StringAsVarcharMaxUtf8 { get; set; } - [Column(TypeName = "char varying(max)")] + [Column(TypeName = "char varying(255)")] [Unicode] public string StringAsCharVaryingMaxUtf8 { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] [Unicode] public string StringAsCharacterVaryingMaxUtf8 { get; set; } @@ -3257,10 +3257,10 @@ protected class MappedDataTypes [Column(TypeName = "ntext")] public string StringAsNtext { get; set; } - [Column(TypeName = "varbinary(max)")] + [Column(TypeName = "varbinary(510)")] public byte[] BytesAsVarbinaryMax { get; set; } - [Column(TypeName = "binary varying(max)")] + [Column(TypeName = "binary varying(510)")] public byte[] BytesAsBinaryVaryingMax { get; set; } [Column(TypeName = "image")] @@ -3296,7 +3296,7 @@ protected class MappedDataTypes [Column(TypeName = "char varying(1)")] public char CharAsAsCharVarying { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] public char CharAsCharacterVaryingMax { get; set; } [Column(TypeName = "nvarchar")] @@ -3305,7 +3305,7 @@ protected class MappedDataTypes [Column(TypeName = "national char varying(1)")] public char CharAsNationalCharVarying { get; set; } - [Column(TypeName = "national character varying(max)")] + [Column(TypeName = "national character varying(255)")] public char CharAsNationalCharacterVaryingMax { get; set; } [Column(TypeName = "text")] @@ -3317,7 +3317,7 @@ protected class MappedDataTypes [Column(TypeName = "int")] public char CharAsInt { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] public StringEnum16 EnumAsVarcharMax { get; set; } [Column(TypeName = "nvarchar(20)")] @@ -3330,141 +3330,6 @@ protected class MappedDataTypes public object SqlVariantInt { get; set; }*/ } - protected class MappedSquareDataTypes - { - [Column(TypeName = "[int]")] - public int Int { get; set; } - - [Column(TypeName = "[bigint]")] - public long LongAsBigInt { get; set; } - - [Column(TypeName = "[smallint]")] - public short ShortAsSmallint { get; set; } - - [Column(TypeName = "[tinyint]")] - public byte ByteAsTinyint { get; set; } - - [Column(TypeName = "[int]")] - public uint UintAsInt { get; set; } - - [Column(TypeName = "[bigint]")] - public ulong UlongAsBigint { get; set; } - - [Column(TypeName = "[smallint]")] - public ushort UShortAsSmallint { get; set; } - - [Column(TypeName = "[tinyint]")] - public sbyte SByteAsTinyint { get; set; } - - [Column(TypeName = "[bit]")] - public bool BoolAsBit { get; set; } - - [Column(TypeName = "[money]")] - public decimal DecimalAsMoney { get; set; } - - /*[Column(TypeName = "[smallmoney]")] - public decimal DecimalAsSmallmoney { get; set; }*/ - - [Column(TypeName = "[float]")] - public double DoubleAsFloat { get; set; } - - [Column(TypeName = "[real]")] - public float FloatAsReal { get; set; } - - [Column(TypeName = "[date]")] - public DateOnly DateOnlyAsDate { get; set; } - - [Column(TypeName = "[date]")] - public DateTime DateTimeAsDate { get; set; } - - /*[Column(TypeName = "[datetimeoffset]")] - public DateTimeOffset DateTimeOffsetAsDatetimeoffset { get; set; } - - [Column(TypeName = "[datetime2]")] - public DateTime DateTimeAsDatetime2 { get; set; } - - [Column(TypeName = "[smalldatetime]")] - public DateTime DateTimeAsSmalldatetime { get; set; }*/ - - [Column(TypeName = "[datetime]")] - public DateTime DateTimeAsDatetime { get; set; } - - [Column(TypeName = "[time]")] - public TimeOnly TimeOnlyAsTime { get; set; } - - [Column(TypeName = "[time]")] - public TimeSpan TimeSpanAsTime { get; set; } - - [Column(TypeName = "[varchar](max)")] - public string StringAsVarcharMax { get; set; } - - [Column(TypeName = "[nvarchar](max)")] - public string StringAsNvarcharMax { get; set; } - - [Column(TypeName = "[text]")] - public string StringAsText { get; set; } - - [Column(TypeName = "[ntext]")] - public string StringAsNtext { get; set; } - - [Column(TypeName = "[varbinary](max)")] - public byte[] BytesAsVarbinaryMax { get; set; } - - [Column(TypeName = "[image]")] - public byte[] BytesAsImage { get; set; } - - [Column(TypeName = "[decimal]")] - public decimal Decimal { get; set; } - - [Column(TypeName = "[dec]")] - public decimal DecimalAsDec { get; set; } - - [Column(TypeName = "[numeric]")] - public decimal DecimalAsNumeric { get; set; } - - [Column(TypeName = "[uniqueidentifier]")] - public Guid GuidAsUniqueidentifier { get; set; } - - [Column(TypeName = "[bigint]")] - public uint UintAsBigint { get; set; } - - [Column(TypeName = "[decimal](20,0)")] - public ulong UlongAsDecimal200 { get; set; } - - [Column(TypeName = "[int]")] - public ushort UShortAsInt { get; set; } - - [Column(TypeName = "[smallint]")] - public sbyte SByteAsSmallint { get; set; } - - [Column(TypeName = "[varchar](1)")] - public char CharAsVarchar { get; set; } - - [Column(TypeName = "[nvarchar]")] - public char CharAsNvarchar { get; set; } - - [Column(TypeName = "[text]")] - public char CharAsText { get; set; } - - [Column(TypeName = "[ntext]")] - public char CharAsNtext { get; set; } - - [Column(TypeName = "[int]")] - public char CharAsInt { get; set; } - - [Column(TypeName = "[varchar](max)")] - public StringEnum16 EnumAsVarcharMax { get; set; } - - [Column(TypeName = "[nvarchar](20)")] - public StringEnumU16 EnumAsNvarchar20 { get; set; } - - /*[Column(TypeName = "[sql_variant]")] - public object SqlVariantString { get; set; } - - [Column(TypeName = "[sql_variant]")] - public object SqlVariantInt { get; set; }*/ - } - protected class MappedSizedDataTypes { public int Id { get; set; } @@ -3811,35 +3676,35 @@ protected class MappedNullableDataTypes [Column(TypeName = "time")] public TimeSpan? TimeSpanAsTime { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] public string StringAsVarcharMax { get; set; } - [Column(TypeName = "char varying(max)")] + [Column(TypeName = "char varying(255)")] public string StringAsCharVaryingMax { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] public string StringAsCharacterVaryingMax { get; set; } - [Column(TypeName = "nvarchar(max)")] + [Column(TypeName = "nvarchar(255)")] public string StringAsNvarcharMax { get; set; } - [Column(TypeName = "national char varying(max)")] + [Column(TypeName = "national char varying(255)")] [MaxLength(100)] public string StringAsNationalCharVaryingMax { get; set; } - [Column(TypeName = "national character varying(max)")] + [Column(TypeName = "national character varying(255)")] [StringLength(100)] public string StringAsNationalCharacterVaryingMax { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] [Unicode] public string StringAsVarcharMaxUtf8 { get; set; } - [Column(TypeName = "char varying(max)")] + [Column(TypeName = "char varying(255)")] [Unicode] public string StringAsCharVaryingMaxUtf8 { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] [Unicode] public string StringAsCharacterVaryingMaxUtf8 { get; set; } @@ -3849,10 +3714,10 @@ protected class MappedNullableDataTypes [Column(TypeName = "ntext")] public string StringAsNtext { get; set; } - [Column(TypeName = "varbinary(max)")] + [Column(TypeName = "varbinary(510)")] public byte[] BytesAsVarbinaryMax { get; set; } - [Column(TypeName = "binary varying(max)")] + [Column(TypeName = "binary varying(510)")] public byte[] BytesAsBinaryVaryingMax { get; set; } [Column(TypeName = "image")] @@ -3888,7 +3753,7 @@ protected class MappedNullableDataTypes [Column(TypeName = "char varying")] public char? CharAsAsCharVarying { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] public char? CharAsCharacterVaryingMax { get; set; } [Column(TypeName = "nvarchar")] @@ -3897,7 +3762,7 @@ protected class MappedNullableDataTypes [Column(TypeName = "national char varying(1)")] public char? CharAsNationalCharVarying { get; set; } - [Column(TypeName = "national character varying(max)")] + [Column(TypeName = "national character varying(255)")] public char? CharAsNationalCharacterVaryingMax { get; set; } [Column(TypeName = "text")] @@ -3909,7 +3774,7 @@ protected class MappedNullableDataTypes [Column(TypeName = "int")] public char? CharAsInt { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] public StringEnum16? EnumAsVarcharMax { get; set; } [Column(TypeName = "nvarchar(20)")] @@ -3992,33 +3857,33 @@ protected class MappedDataTypesWithIdentity [Column(TypeName = "time")] public TimeSpan TimeSpanAsTime { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] public string StringAsVarcharMax { get; set; } - [Column(TypeName = "char varying(max)")] + [Column(TypeName = "char varying(255)")] public string StringAsCharVaryingMax { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] public string StringAsCharacterVaryingMax { get; set; } - [Column(TypeName = "nvarchar(max)")] + [Column(TypeName = "nvarchar(255)")] public string StringAsNvarcharMax { get; set; } - [Column(TypeName = "national char varying(max)")] + [Column(TypeName = "national char varying(255)")] public string StringAsNationalCharVaryingMax { get; set; } - [Column(TypeName = "national character varying(max)")] + [Column(TypeName = "national character varying(255)")] public string StringAsNationalCharacterVaryingMax { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] [Unicode] public string StringAsVarcharMaxUtf8 { get; set; } - [Column(TypeName = "char varying(max)")] + [Column(TypeName = "char varying(255)")] [Unicode] public string StringAsCharVaryingMaxUtf8 { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] [Unicode] public string StringAsCharacterVaryingMaxUtf8 { get; set; } @@ -4028,10 +3893,10 @@ protected class MappedDataTypesWithIdentity [Column(TypeName = "ntext")] public string StringAsNtext { get; set; } - [Column(TypeName = "varbinary(max)")] + [Column(TypeName = "varbinary(255)")] public byte[] BytesAsVarbinaryMax { get; set; } - [Column(TypeName = "binary varying(max)")] + [Column(TypeName = "binary varying(255)")] public byte[] BytesAsBinaryVaryingMax { get; set; } [Column(TypeName = "image")] @@ -4067,7 +3932,7 @@ protected class MappedDataTypesWithIdentity [Column(TypeName = "char varying")] public char CharAsAsCharVarying { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] public char CharAsCharacterVaryingMax { get; set; } [Column(TypeName = "nvarchar")] @@ -4076,7 +3941,7 @@ protected class MappedDataTypesWithIdentity [Column(TypeName = "national char varying(1)")] public char CharAsNationalCharVarying { get; set; } - [Column(TypeName = "national character varying(max)")] + [Column(TypeName = "national character varying(255)")] public char CharAsNationalCharacterVaryingMax { get; set; } [Column(TypeName = "text")] @@ -4088,7 +3953,7 @@ protected class MappedDataTypesWithIdentity [Column(TypeName = "int")] public char CharAsInt { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] public StringEnum16 EnumAsVarcharMax { get; set; } [Column(TypeName = "nvarchar(20)")] @@ -4309,33 +4174,33 @@ protected class MappedNullableDataTypesWithIdentity [Column(TypeName = "time")] public TimeSpan? TimeSpanAsTime { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] public string StringAsVarcharMax { get; set; } - [Column(TypeName = "char varying(max)")] + [Column(TypeName = "char varying(255)")] public string StringAsCharVaryingMax { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] public string StringAsCharacterVaryingMax { get; set; } - [Column(TypeName = "nvarchar(max)")] + [Column(TypeName = "nvarchar(255)")] public string StringAsNvarcharMax { get; set; } - [Column(TypeName = "national char varying(max)")] + [Column(TypeName = "national char varying(255)")] public string StringAsNationalCharVaryingMax { get; set; } - [Column(TypeName = "national character varying(max)")] + [Column(TypeName = "national character varying(255)")] public string StringAsNationalCharacterVaryingMax { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] [Unicode] public string StringAsVarcharMaxUtf8 { get; set; } - [Column(TypeName = "char varying(max)")] + [Column(TypeName = "char varying(255)")] [Unicode] public string StringAsCharVaryingMaxUtf8 { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] [Unicode] public string StringAsCharacterVaryingMaxUtf8 { get; set; } @@ -4345,10 +4210,10 @@ protected class MappedNullableDataTypesWithIdentity [Column(TypeName = "ntext")] public string StringAsNtext { get; set; } - [Column(TypeName = "varbinary(max)")] + [Column(TypeName = "varbinary(510)")] public byte[] BytesAsVarbinaryMax { get; set; } - [Column(TypeName = "binary varying(max)")] + [Column(TypeName = "binary varying(510)")] public byte[] BytesAsVaryingMax { get; set; } [Column(TypeName = "image")] @@ -4384,7 +4249,7 @@ protected class MappedNullableDataTypesWithIdentity [Column(TypeName = "char varying(1)")] public char? CharAsAsCharVarying { get; set; } - [Column(TypeName = "character varying(max)")] + [Column(TypeName = "character varying(255)")] public char? CharAsCharacterVaryingMax { get; set; } [Column(TypeName = "nvarchar(1)")] @@ -4393,7 +4258,7 @@ protected class MappedNullableDataTypesWithIdentity [Column(TypeName = "national char varying")] public char? CharAsNationalCharVarying { get; set; } - [Column(TypeName = "national character varying(max)")] + [Column(TypeName = "national character varying(255)")] public char? CharAsNationalCharacterVaryingMax { get; set; } [Column(TypeName = "text")] @@ -4405,7 +4270,7 @@ protected class MappedNullableDataTypesWithIdentity [Column(TypeName = "int")] public char? CharAsInt { get; set; } - [Column(TypeName = "varchar(max)")] + [Column(TypeName = "varchar(255)")] public StringEnum16? EnumAsVarcharMax { get; set; } [Column(TypeName = "nvarchar(20)")] diff --git a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt index 0e15f521..4103cfc3 100644 --- a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt +++ b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt @@ -9440,6 +9440,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Contains_o EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Contains_over_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Contains_over_struct_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Contains_over_struct_complex_type(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_complex_type_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_complex_type_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_nested_complex_type(async: False) @@ -9460,20 +9462,46 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_co EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_complex_type_via_optional_navigation(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_complex_type_via_required_navigation(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_complex_type_via_required_navigation(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_nested_complex_type_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_nested_complex_type_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_nested_complex_type_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_nested_complex_type_twice_with_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_struct_nested_complex_type_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_struct_nested_complex_type_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_struct_nested_complex_type_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_struct_nested_complex_type_twice_with_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_nested_complex_type_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_nested_complex_type_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_nested_complex_type_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_nested_complex_type_twice_with_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_struct_nested_complex_type_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_struct_nested_complex_type_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_struct_nested_complex_type_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_struct_nested_complex_type_twice_with_pushdown(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_struct_complex_type_via_optional_navigation(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_struct_complex_type_via_optional_navigation(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_struct_complex_type_via_required_navigation(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_struct_complex_type_via_required_navigation(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Distinct_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Distinct_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Distinct(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Distinct(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Where_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Where_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Where(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Where(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_complex_type_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_complex_type_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_struct_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_struct_complex_type(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_complex_type_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_complex_type_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_struct_complex_type(async: False) @@ -9500,6 +9528,14 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_enti EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_entity_type_containing_complex_property(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_entity_type_containing_struct_complex_property(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_entity_type_containing_struct_complex_property(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_entity_with_nested_complex_type_projected_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_entity_with_nested_complex_type_projected_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_entity_with_nested_complex_type_projected_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_entity_with_nested_complex_type_projected_twice_with_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_nested_complex_type_projected_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_nested_complex_type_projected_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_nested_complex_type_projected_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_nested_complex_type_projected_twice_with_pushdown(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_property_in_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_property_in_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_property_in_struct_complex_type(async: False) diff --git a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt index db6db62d..df366f1d 100644 --- a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt +++ b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt @@ -9508,6 +9508,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Contains_o EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Contains_over_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Contains_over_struct_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Contains_over_struct_complex_type(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_complex_type_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_complex_type_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Filter_on_property_inside_nested_complex_type(async: False) @@ -9528,20 +9530,46 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_co EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_complex_type_via_optional_navigation(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_complex_type_via_required_navigation(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_complex_type_via_required_navigation(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_nested_complex_type_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_nested_complex_type_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_nested_complex_type_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_nested_complex_type_twice_with_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_struct_nested_complex_type_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_struct_nested_complex_type_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_struct_nested_complex_type_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_entity_with_struct_nested_complex_type_twice_with_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_nested_complex_type_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_nested_complex_type_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_nested_complex_type_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_nested_complex_type_twice_with_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_struct_nested_complex_type_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_struct_nested_complex_type_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_struct_nested_complex_type_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_same_struct_nested_complex_type_twice_with_pushdown(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_struct_complex_type_via_optional_navigation(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_struct_complex_type_via_optional_navigation(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_struct_complex_type_via_required_navigation(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Project_struct_complex_type_via_required_navigation(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Distinct_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Distinct_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Distinct(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Distinct(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Where_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Where_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Where(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_Where(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_complex_type(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_complex_type_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_complex_type_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_struct_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_nested_struct_complex_type(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_complex_type_with_FromSql(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_complex_type_with_FromSql(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Select_single_property_on_nested_struct_complex_type(async: False) @@ -9568,6 +9596,14 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_enti EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_entity_type_containing_complex_property(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_entity_type_containing_struct_complex_property(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_entity_type_containing_struct_complex_property(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_entity_with_nested_complex_type_projected_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_entity_with_nested_complex_type_projected_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_entity_with_nested_complex_type_projected_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_entity_with_nested_complex_type_projected_twice_with_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_nested_complex_type_projected_twice_with_double_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_nested_complex_type_projected_twice_with_double_pushdown(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_nested_complex_type_projected_twice_with_pushdown(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_of_same_nested_complex_type_projected_twice_with_pushdown(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_property_in_complex_type(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_property_in_complex_type(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexTypeQueryJetTest.Union_property_in_struct_complex_type(async: False)