├── CHANGES ├── CONTRIBUTING.md ├── ConnectorNetPublicKey.snk ├── Dependencies ├── MITLibs │ ├── comerr64.dll │ ├── gssapi64.dll │ ├── k5sprt64.dll │ ├── krb5_64.dll │ └── krbcc64.dll ├── System.Runtime.CompilerServices.Unsafe.dll └── System.Threading.Tasks.Extensions.dll ├── Documentation ├── docfx.json ├── images │ ├── favicon.ico │ └── logo.svg ├── index.md ├── templates │ └── custom │ │ └── partials │ │ └── class.header.tmpl.partial └── toc.yml ├── EFCore ├── MySql.EntityFrameworkCore.sln ├── src │ ├── DataAnnotations │ │ ├── MySQLCharsetAttribute.cs │ │ └── MySQLCollationAttribute.cs │ ├── Design │ │ └── Internal │ │ │ ├── MySQLAnnotationCodeGenerator.cs │ │ │ └── MySQLDesignTimeServices.cs │ ├── Diagnostics │ │ ├── Internal │ │ │ └── MySQLLoggingDefinitions.cs │ │ └── MySQLEventId.cs │ ├── Extensions │ │ ├── MySQLDatabaseFacadeExtensions.cs │ │ ├── MySQLDbContextOptionsExtensions.cs │ │ ├── MySQLDbFunctionsEnums.cs │ │ ├── MySQLDbFunctionsExtensions.cs │ │ ├── MySQLEntityTypeBuilderExtensions.cs │ │ ├── MySQLEntityTypeExtensions.cs │ │ ├── MySQLIndexExtensions.cs │ │ ├── MySQLKeyBuilderExtensions.cs │ │ ├── MySQLKeyExtensions.cs │ │ ├── MySQLMigrationBuilderExtensions.cs │ │ ├── MySQLModelBuilderExtensions.cs │ │ ├── MySQLModelExtensions.cs │ │ ├── MySQLPropertyBuilderExtensions.cs │ │ ├── MySQLPropertyExtensions.cs │ │ ├── MySQLServiceCollectionExtensions.cs │ │ ├── MySQLTypeBaseExtensions.cs │ │ └── MySqlIndexBuilderExtensions.cs │ ├── Infrastructure │ │ ├── Internal │ │ │ ├── IMySQLOptions.cs │ │ │ └── MySQLOptionsExtension.cs │ │ ├── MySQLDbContextOptionsBuilder.cs │ │ └── MySQLSchemaBehavior.cs │ ├── Internal │ │ ├── MySQLModelValidator.cs │ │ ├── MySQLOptions.cs │ │ ├── MySQLRetryingExecutionStrategy.cs │ │ └── MySQLValueGenerationStrategyCompatibility.cs │ ├── Metadata │ │ ├── Conventions │ │ │ ├── MySQLConventionSetBuilder.cs │ │ │ ├── MySQLValueGenerationConvention.cs │ │ │ ├── MySqlCharsetAttributeConvention.cs │ │ │ ├── MySqlCollationAttributeConvention.cs │ │ │ ├── MySqlEntityCharsetAttributeConvention.cs │ │ │ └── MySqlEntityCollationAttributeConvention.cs │ │ ├── Internal │ │ │ ├── MySQLAnnotationNames.cs │ │ │ └── MySQLAnnotationProvider.cs │ │ └── MySQLValueGenerationStrategy.cs │ ├── Migrations │ │ ├── Internal │ │ │ ├── MySQLHistoryRepository.cs │ │ │ ├── MySQLMigrationDatabaseLockcs.cs │ │ │ ├── MySQLMigrationsModelDiffer.cs │ │ │ └── MySQLMigrator.cs │ │ ├── MySQLMigrationsSqlGenerator.cs │ │ └── Operations │ │ │ ├── CreateDatabaseOperation.cs │ │ │ ├── DropDatabaseOperation.cs │ │ │ ├── MySQLDropPrimaryKeyAndRecreateForeignKeysOperation.cs │ │ │ └── MySQLDropUniqueConstraintAndRecreateForeignKeysOperation.cs │ ├── MySql.EntityFrameworkCore.csproj │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── MySQLStrings.Designer.cs │ │ ├── MySQLStrings.resx │ │ └── VersionInfo.cs │ ├── Query │ │ ├── ExpressionTranslators │ │ │ └── Internal │ │ │ │ ├── MySQLByteArrayMethodTranslator.cs │ │ │ │ ├── MySQLDbFunctionsExtensionsMethodTranslator.cs │ │ │ │ ├── MySQLRegexIsMatchTranslator.cs │ │ │ │ └── MySQLStringLengthTranslator.cs │ │ ├── Expressions │ │ │ └── Internal │ │ │ │ ├── MySQLBinaryExpression.cs │ │ │ │ ├── MySQLCollateExpression.cs │ │ │ │ ├── MySQLColumnAliasReferenceExpression.cs │ │ │ │ ├── MySQLComplexFunctionArgumentExpression.cs │ │ │ │ ├── MySQLJsonArrayIndexExpression.cs │ │ │ │ ├── MySQLJsonTraversalExpression.cs │ │ │ │ ├── MySQLMatchExpression.cs │ │ │ │ ├── MySQLRegexpExpression.cs │ │ │ │ └── MySQLStringComparisonMethodTranslator.cs │ │ ├── Internal │ │ │ ├── MySQLCommandParser.cs │ │ │ ├── MySQLCompatibilityExpressionVisitor.cs │ │ │ ├── MySQLCompiledQueryCacheKeyGenerator.cs │ │ │ ├── MySQLConvertTranslator.cs │ │ │ ├── MySQLDateDiffFunctionsTranslator.cs │ │ │ ├── MySQLDateTimeMemberTranslator.cs │ │ │ ├── MySQLDateTimeMethodTranslator.cs │ │ │ ├── MySQLEvaluatableExpressionFilter.cs │ │ │ ├── MySQLMathTranslator.cs │ │ │ ├── MySQLMemberTranslatorProvider.cs │ │ │ ├── MySQLMethodCallTranslatorProvider.cs │ │ │ ├── MySQLNewGuidTranslator.cs │ │ │ ├── MySQLObjectToStringTranslator.cs │ │ │ ├── MySQLParameterBasedSqlProcessor.cs │ │ │ ├── MySQLParameterBasedSqlProcessorFactory.cs │ │ │ ├── MySQLQueryCompilationContext.cs │ │ │ ├── MySQLQueryCompilationContextFactory.cs │ │ │ ├── MySQLQueryStringFactory.cs │ │ │ ├── MySQLQueryTranslationPostprocessor.cs │ │ │ ├── MySQLQueryTranslationPostprocessorFactory.cs │ │ │ ├── MySQLSqlExpressionFactory.cs │ │ │ ├── MySQLSqlNullabilityProcessor.cs │ │ │ ├── MySQLSqlTranslatingExpressionVisitor.cs │ │ │ ├── MySQLSqlTranslatingExpressionVisitorFactory.cs │ │ │ ├── MySQLStringMemberTranslator.cs │ │ │ └── MySQLStringMethodTranslator.cs │ │ ├── MySQLJsonString.cs │ │ └── Sql │ │ │ └── Internal │ │ │ ├── MySQLQueryGeneratorFactory.cs │ │ │ └── MySQLQuerySqlGenerator.cs │ ├── Scaffolding │ │ └── Internal │ │ │ ├── MySQLCodeGenerator.cs │ │ │ ├── MySQLDataReaderExtension.cs │ │ │ └── MySQLDatabaseModelFactory.cs │ ├── Storage │ │ └── Internal │ │ │ ├── ByteArrayComparer.cs │ │ │ ├── BytesToDateTimeConverter.cs │ │ │ ├── IMySQLRelationalConnection.cs │ │ │ ├── MySQLBoolTypeMapping.cs │ │ │ ├── MySQLByteArrayTypeMapping.cs │ │ │ ├── MySQLDatabaseCreator.cs │ │ │ ├── MySQLDateTimeOffsetTypeMapping.cs │ │ │ ├── MySQLDateTypeMapping.cs │ │ │ ├── MySQLDatetimeTypeMapping.cs │ │ │ ├── MySQLDecimalTypeMapping.cs │ │ │ ├── MySQLDoubleTypeMapping.cs │ │ │ ├── MySQLExecutionStrategy.cs │ │ │ ├── MySQLExecutionStrategyFactory.cs │ │ │ ├── MySQLFloatTypeMapping.cs │ │ │ ├── MySQLGeometryTypeMapping.cs │ │ │ ├── MySQLGuidTypeMapping.cs │ │ │ ├── MySQLJsonChangeTrackingOptions.cs │ │ │ ├── MySQLJsonTypeMapping.cs │ │ │ ├── MySQLRelationalConnection.cs │ │ │ ├── MySQLScaffoldingConnectionSettings.cs │ │ │ ├── MySQLSqlGenerationHelper.cs │ │ │ ├── MySQLStringTypeMapping.cs │ │ │ ├── MySQLTimeSpanMapping.cs │ │ │ ├── MySQLTransientExceptionDetector.cs │ │ │ ├── MySQLTypeMapping.cs │ │ │ └── MySQLTypeMappingSource.cs │ ├── Update │ │ ├── IMySQLUpdateSqlGenerator.cs │ │ ├── MySQLModificationCommandBatch.cs │ │ ├── MySQLModificationCommandBatchFactory.cs │ │ └── MySQLUpdateSqlGenerator.cs │ ├── Utils │ │ ├── Check.cs │ │ ├── CodeAnnotations.cs │ │ ├── CodeAttributes.cs │ │ ├── SharedTypeExtensions.cs │ │ ├── Static.cs │ │ └── StringBuilderExtensions.cs │ └── ValueGeneration │ │ └── Internal │ │ └── MySQLValueGeneratorSelector.cs └── tests │ ├── MySql.EFCore.Basic.Tests │ ├── BasicGuidTests.cs │ ├── ConcurrencyTests.cs │ ├── ConnectionTests.cs │ ├── DataTests.cs │ ├── DbContextClasses │ │ ├── ConventionsContexts.cs │ │ ├── EFFluentAPIContexts.cs │ │ ├── EntitiesClasses.cs │ │ ├── SakilaLiteContext.cs │ │ └── TestsContexts.cs │ ├── DbFunctionsMySQLTest.cs │ ├── EFCoreTests.cs │ ├── FluentAPITests.cs │ ├── FunctionalTests.cs │ ├── LoadingRelatedDataTests.cs │ ├── ModelingTests.cs │ ├── MultiSchemaTests.cs │ ├── MySQLDatabaseFacadeTest.cs │ ├── MySQLTypeMapperTests.cs │ ├── MySql.EntityFrameworkCore.Basic.Tests.csproj │ ├── Properties │ │ └── DatabaseSetup.sql │ ├── ShadowPropertiesTests.cs │ ├── UpdateTests.cs │ └── Utils │ │ ├── EntityTestsFixtureClass.cs │ │ ├── MySqlTestStore.cs │ │ └── TestUtils.cs │ ├── MySql.EFCore.Design.Tests │ ├── Extensions.cs │ ├── MySQLAnnotationCodeGeneratorTest.cs │ ├── MySQLCodeGeneratorTest.cs │ ├── MySQLDatabaseModelFactoryTest.cs │ ├── MySQLDatabaseModelFixture.cs │ ├── MySQLDesignTimeProviderServicesTest.cs │ ├── MySql.EntityFrameworkCore.Design.Tests.csproj │ └── Properties │ │ ├── sakiladb-schema.sql │ │ └── world.sql │ └── MySql.EFCore.Migrations.Tests │ ├── MySQLHistoryRepositoryTests.cs │ ├── MySQLMigrationsTests.cs │ ├── MySql.EntityFrameworkCore.Migrations.Tests.csproj │ ├── MySqlMigrationsGeneratorTest.cs │ ├── MySqlMigrationsGeneratorTestBase.cs │ └── Utilities │ └── ContextUtils.cs ├── EntityFramework ├── MySql.Data.EntityFramework.sln ├── src │ ├── App.config │ ├── EFMySqlCommand.cs │ ├── EFMySqlDataReader.cs │ ├── Fragments │ │ ├── InputFragment.cs │ │ ├── JoinFragment.cs │ │ ├── SqlFragment.cs │ │ └── TableFragment.cs │ ├── Generators │ │ ├── DeleteGenerator.cs │ │ ├── FunctionGenerator.cs │ │ ├── FunctionProcessor.cs │ │ ├── InsertGenerator.cs │ │ ├── Scope.cs │ │ ├── SelectGenerator.cs │ │ ├── SqlGenerator.cs │ │ └── UpdateGenerator.cs │ ├── Metadata.cs │ ├── MySql.Data.EntityFramework.csproj │ ├── MySqlConnectionFactory.cs │ ├── MySqlDependencyResolver.cs │ ├── MySqlEFConfiguration.cs │ ├── MySqlExecutionStrategy.cs │ ├── MySqlHistoryContext.cs │ ├── MySqlLogger.cs │ ├── MySqlMigrationSqlGenerator.cs │ ├── MySqlSpatialDataReader.cs │ ├── MySqlSpatialServices.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── ProviderManifest.xml │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── SchemaDefinition-5.6.ssdl │ │ ├── SchemaDefinition-5.7.ssdl │ │ ├── SchemaDefinition-8.0.ssdl │ │ ├── SchemaMapping.msl │ │ └── VersionInfo.cs │ ├── ProviderManifest.cs │ ├── ProviderServices.cs │ └── Statements │ │ ├── DeleteStatement.cs │ │ ├── InsertStatement.cs │ │ ├── SelectStatement.cs │ │ └── UpdateStatement.cs └── tests │ ├── MySql.EntityFramework.Basic.Tests │ ├── AggregateOperators.cs │ ├── App.Config │ ├── CanonicalFunctions.cs │ ├── DataTypeTests.cs │ ├── DatesTypesTests.cs │ ├── DefaultContext.cs │ ├── DefaultFixture.cs │ ├── DeleteTests.cs │ ├── ExpressionTests.cs │ ├── GenericListener.cs │ ├── InsertTests.cs │ ├── JoinTests.cs │ ├── MySql.EntityFramework.Basic.Tests.csproj │ ├── OrderingAndGrouping.cs │ ├── Paging.cs │ ├── ProceduresAndFunctions.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ProviderManifestTests.cs │ ├── ProviderServicesTests.cs │ ├── RelationalOperators.cs │ ├── RestrictionOperators.cs │ ├── SchemaInformation.cs │ ├── SetOperators.cs │ ├── SimpleQuery.cs │ ├── UpdateTests.cs │ └── Wizard.cs │ ├── MySql.EntityFramework.CodeFirst.Tests │ ├── App.config │ ├── Blogs.cs │ ├── CodeFirstFixture.cs │ ├── CodeFirstTests.cs │ ├── ContextForNormalFk.cs │ ├── ContextForString.cs │ ├── Dinosauria.cs │ ├── Movie.cs │ ├── MovieContextCodeBasedConfiguration.cs │ ├── MySql.EntityFramework.CodeFirst.Tests.csproj │ ├── PromotionsDB.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── SQLSyntax.Designer.cs │ │ ├── SQLSyntax.resx │ │ ├── sakila-data.sql │ │ └── sakila-schema.sql │ ├── SakilaModel │ │ ├── SakilaDb.cs │ │ ├── actor.cs │ │ ├── actor_info.cs │ │ ├── address.cs │ │ ├── category.cs │ │ ├── city.cs │ │ ├── country.cs │ │ ├── customer.cs │ │ ├── customer_list.cs │ │ ├── film.cs │ │ ├── film_actor.cs │ │ ├── film_category.cs │ │ ├── film_list.cs │ │ ├── film_text.cs │ │ ├── inventory.cs │ │ ├── language.cs │ │ ├── nicer_but_slower_film_list.cs │ │ ├── payment.cs │ │ ├── rental.cs │ │ ├── sales_by_film_category.cs │ │ ├── sales_by_store.cs │ │ ├── staff.cs │ │ ├── staff_list.cs │ │ └── store.cs │ ├── Ship.cs │ ├── SiteDB.cs │ ├── TransactionTests.cs │ └── Vehicle.cs │ └── MySql.EntityFramework.Migrations.Tests │ ├── App.config │ ├── BlogsModel.cs │ ├── MyConfiguration.cs │ ├── MySql.EntityFramework.Migrations.Tests.csproj │ ├── MySqlMigrationsTests.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx │ └── SetUpMigrationsTests.cs ├── LICENSE ├── MySQL.Data.OpenTelemetry ├── MySQL.Data.OpenTelemetry.sln └── src │ ├── MySQL.Data.OpenTelemetry.csproj │ ├── Properties │ ├── AssemblyInfo.cs │ └── VersionInfo.cs │ └── TraceProviderBuilderExtension.cs ├── MySQL.Data ├── MySql.Data.sln ├── MySql.Replication.Tests │ ├── App.config │ ├── BaseTest.cs │ ├── MySql.Replication.Tests.csproj │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── ReplicationTest.cs │ ├── Resources │ │ ├── 01_Startup_root_script.sql │ │ └── 02_Startup_script.sql │ ├── SetUp.cs │ └── packages.config ├── src │ ├── Authentication │ │ ├── AuthenticationManager.cs │ │ ├── CachingSha2AuthenticationPlugin.cs │ │ ├── ClearPasswordPlugin.cs │ │ ├── FIDO │ │ │ ├── FidoAssertion.cs │ │ │ ├── FidoDevice.cs │ │ │ ├── FidoDeviceInfo.cs │ │ │ ├── Native │ │ │ │ ├── NativeMethods.cs │ │ │ │ └── Structs.cs │ │ │ └── Utility │ │ │ │ ├── ConstStringMarshaler.cs │ │ │ │ ├── Enums.cs │ │ │ │ ├── Extensions.cs │ │ │ │ ├── FidoExceptions.cs │ │ │ │ └── Init.cs │ │ ├── GSSAPI │ │ │ ├── Const.cs │ │ │ ├── GssContext.cs │ │ │ ├── GssContextFlags.cs │ │ │ ├── GssCredentials.cs │ │ │ ├── GssapiMechanism.cs │ │ │ ├── Native │ │ │ │ ├── GssBufferDescStruct.cs │ │ │ │ ├── GssOidStruct.cs │ │ │ │ ├── NativeMethods.cs │ │ │ │ ├── NativeMethodsLinux.cs │ │ │ │ └── NativeMethodsWin64.cs │ │ │ └── Utility │ │ │ │ ├── Disposable.cs │ │ │ │ ├── ExceptionMessages.cs │ │ │ │ ├── GssType.cs │ │ │ │ ├── KerberosConfig.cs │ │ │ │ └── Pinned.cs │ │ ├── KerberosAuthenticationPlugin.cs │ │ ├── MySQLAuthenticationPlugin.cs │ │ ├── MySqlPemReader.cs │ │ ├── MySqlSASLPlugin.cs │ │ ├── NativePasswordPlugins.cs │ │ ├── OciAuthenticationPlugin.cs │ │ ├── OpenIdConnectClientAuthentication.cs │ │ ├── SSPI │ │ │ ├── Const.cs │ │ │ ├── NativeMethods.cs │ │ │ ├── SspiCredentials.cs │ │ │ ├── SspiSecurityContext.cs │ │ │ └── Structs.cs │ │ ├── ScramBase.cs │ │ ├── ScramSha1Mechanism.cs │ │ ├── ScramSha256Mechanism.cs │ │ ├── Sha256AuthenticationPlugin.cs │ │ ├── Sha256MemoryAuthenticationPlugin.cs │ │ ├── WebAuthnAuthenticationPlugin.cs │ │ └── WindowsAuthenticationPlugin.cs │ ├── BulkLoader.cs │ ├── CharSetMap.cs │ ├── CompressedStream.cs │ ├── Crypt.cs │ ├── Driver.cs │ ├── Exception.cs │ ├── Failover │ │ ├── FailoverGroup.cs │ │ ├── FailoverManager.cs │ │ ├── FailoverServer.cs │ │ ├── RandomFailoverGroup.cs │ │ └── SequentialFailoverGroup.cs │ ├── Field.cs │ ├── Framework │ │ ├── net462 │ │ │ └── SystemPerformanceMonitor.cs │ │ └── netstandard2_0 │ │ │ ├── AuthenticationManager.cs │ │ │ ├── CommandBuilder.cs │ │ │ ├── MySqlClientPermission.cs │ │ │ ├── MySqlClientPermissionAttribute.cs │ │ │ ├── MySqlConfiguration.cs │ │ │ ├── MySqlHelper.cs │ │ │ ├── MySqlPromotableTransaction.cs │ │ │ ├── MySqlSecurityPermission.cs │ │ │ └── dataadapter.cs │ ├── ISSchemaProvider.cs │ ├── Interceptors │ │ ├── CommandInterceptor.cs │ │ ├── ExceptionInterceptor.cs │ │ └── Interceptor.cs │ ├── MySQLActivitySource.cs │ ├── MySql.Data.csproj │ ├── MySqlAttribute.cs │ ├── MySqlAttributeCollection.cs │ ├── MySqlBaseConnectionStringBuilder.cs │ ├── MySqlClientFactory.cs │ ├── MySqlCommand.cs │ ├── MySqlConnection.cs │ ├── MySqlConnectionStringBuilder.cs │ ├── MySqlDataReader.cs │ ├── MySqlError.cs │ ├── MySqlHelper.cs │ ├── MySqlPacket.cs │ ├── MySqlParameter.cs │ ├── MySqlParameterCollection.cs │ ├── MySqlPool.cs │ ├── MySqlPoolManager.cs │ ├── MySqlScript.cs │ ├── MySqlStream.cs │ ├── MySqlTrace.cs │ ├── MySqlTransaction.cs │ ├── MysqlDefs.cs │ ├── NativeDriver.cs │ ├── OkPacket.cs │ ├── PacketBitConverter.cs │ ├── PerformanceMonitor.cs │ ├── PreparableStatement.cs │ ├── ProcedureCache.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── ReservedWords.txt │ │ ├── VersionInfo.cs │ │ └── launchSettings.json │ ├── Replication │ │ ├── ReplicationConfiguration.cs │ │ ├── ReplicationManager.cs │ │ ├── ReplicationRoundRobinServerGroup.cs │ │ ├── ReplicationServer.cs │ │ └── ReplicationServerGroup.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── ResourcesX.Designer.cs │ ├── ResourcesX.resx │ ├── ResultSet.cs │ ├── Runtime.cs │ ├── Schema.cs │ ├── SchemaProvider.cs │ ├── Statement.cs │ ├── StoredProcedure.cs │ ├── TableCache.cs │ ├── TimedStream.cs │ ├── TracingDriver.cs │ ├── Types │ │ ├── IMySqlValue.cs │ │ ├── MetaData.cs │ │ ├── MySqlBinary.cs │ │ ├── MySqlBit.cs │ │ ├── MySqlByte.cs │ │ ├── MySqlConversionException.cs │ │ ├── MySqlDateTime.cs │ │ ├── MySqlDecimal.cs │ │ ├── MySqlDouble.cs │ │ ├── MySqlGeometry.cs │ │ ├── MySqlGuid.cs │ │ ├── MySqlInt16.cs │ │ ├── MySqlInt32.cs │ │ ├── MySqlInt64.cs │ │ ├── MySqlSingle.cs │ │ ├── MySqlString.cs │ │ ├── MySqlTime.cs │ │ ├── MySqlUByte.cs │ │ ├── MySqlUInt16.cs │ │ ├── MySqlUInt32.cs │ │ └── MySqlUInt64.cs │ ├── Utils.cs │ ├── X │ │ ├── Authentication │ │ │ ├── ExternalAuthenticationPlugin.cs │ │ │ ├── MySQL41AuthenticationPlugin.cs │ │ │ └── PlainAuthenticationPlugin.cs │ │ ├── Common │ │ │ ├── Tools.cs │ │ │ └── UnmanagedLibraryLoader.cs │ │ ├── Communication │ │ │ ├── CommunicationPacket.cs │ │ │ ├── XCompressionController.cs │ │ │ ├── XPacketProcessor.cs │ │ │ └── XPacketReaderWriter.cs │ │ ├── Data │ │ │ ├── CollationMap.cs │ │ │ └── Enums.cs │ │ ├── Protocol │ │ │ ├── ProtocolBase.cs │ │ │ ├── ValueDecoder.cs │ │ │ └── X │ │ │ │ ├── BitDecoder.cs │ │ │ │ ├── ByteDecoder.cs │ │ │ │ ├── DecimalDecoder.cs │ │ │ │ ├── Enum.cs │ │ │ │ ├── ExpUnparser.cs │ │ │ │ ├── ExprParser.cs │ │ │ │ ├── ExprUtil.cs │ │ │ │ ├── FloatDecoder.cs │ │ │ │ ├── IntegerDecoder.cs │ │ │ │ ├── Protobuf │ │ │ │ ├── Mysqlx.cs │ │ │ │ ├── MysqlxConnection.cs │ │ │ │ ├── MysqlxCrud.cs │ │ │ │ ├── MysqlxCursor.cs │ │ │ │ ├── MysqlxDatatypes.cs │ │ │ │ ├── MysqlxExpect.cs │ │ │ │ ├── MysqlxExpr.cs │ │ │ │ ├── MysqlxNotice.cs │ │ │ │ ├── MysqlxPrepare.cs │ │ │ │ ├── MysqlxResultset.cs │ │ │ │ ├── MysqlxSession.cs │ │ │ │ └── MysqlxSql.cs │ │ │ │ ├── SetDecoder.cs │ │ │ │ ├── XDateTimeDecoder.cs │ │ │ │ ├── XProtocol.cs │ │ │ │ ├── XTimeDecoder.cs │ │ │ │ └── XValueDecoderFactory.cs │ │ ├── RoutingServices │ │ │ ├── DefaultRoutingService.cs │ │ │ └── RoutingServiceBase.cs │ │ ├── Serialization │ │ │ └── JsonParser.cs │ │ ├── Sessions │ │ │ ├── InternalSession.cs │ │ │ ├── QueueTaskScheduler.cs │ │ │ └── XInternalSession.cs │ │ └── XDevAPI │ │ │ ├── BaseSession.cs │ │ │ ├── CRUD │ │ │ ├── AddStatement.cs │ │ │ ├── CreateCollectionIndexStatement.cs │ │ │ ├── CreateIndexParams.cs │ │ │ ├── CrudStatement.cs │ │ │ ├── DocResult.cs │ │ │ ├── FindParams.cs │ │ │ ├── FindStatement.cs │ │ │ ├── ModifyStatement.cs │ │ │ ├── RemoveStatement.cs │ │ │ └── UpdateSpec.cs │ │ │ ├── Client.cs │ │ │ ├── Collection.cs │ │ │ ├── Common │ │ │ ├── BaseResult.cs │ │ │ ├── BaseStatement.cs │ │ │ ├── BufferingResult.cs │ │ │ ├── CollectionOptions.cs │ │ │ ├── ColumnType.cs │ │ │ ├── ErrorInfo.cs │ │ │ ├── FilterParams.cs │ │ │ ├── FilterableStatement.cs │ │ │ ├── QueryStatement.cs │ │ │ ├── Result.cs │ │ │ ├── TargetedBaseStatement.cs │ │ │ └── WarningInfo.cs │ │ │ ├── DatabaseObject.cs │ │ │ ├── DbDoc.cs │ │ │ ├── GenericCollection.cs │ │ │ ├── Iterator.cs │ │ │ ├── MySqlExpression.cs │ │ │ ├── MySqlX.cs │ │ │ ├── MySqlXConnectionStringBuilder.cs │ │ │ ├── Relational │ │ │ ├── Column.cs │ │ │ ├── InternalRowResult.cs │ │ │ ├── Row.cs │ │ │ ├── RowResult.cs │ │ │ ├── SqlResult.cs │ │ │ ├── SqlStatement.cs │ │ │ ├── Table.cs │ │ │ ├── TableDeleteStatement.cs │ │ │ ├── TableInsertStatement.cs │ │ │ ├── TableSelectStatement.cs │ │ │ └── TableUpdateStatement.cs │ │ │ ├── Schema.cs │ │ │ └── Session.cs │ └── common │ │ ├── Cache.cs │ │ ├── ContextString.cs │ │ ├── Dns │ │ ├── DnsEnums.cs │ │ ├── DnsQuestion.cs │ │ ├── DnsRecordHeader.cs │ │ ├── DnsRecordReader.cs │ │ ├── DnsRecordUnknown.cs │ │ ├── DnsRequest.cs │ │ ├── DnsResolver.cs │ │ ├── DnsResourceRecord.cs │ │ ├── DnsResponse.cs │ │ └── DnsSrvRecord.cs │ │ ├── DnsSrv.cs │ │ ├── LowResolutionStopwatch.cs │ │ ├── MyNetworkStream.cs │ │ ├── MySqlConnectionStringOption.cs │ │ ├── MySqlConnectionStringOptionCollection.cs │ │ ├── MySqlTokenizer.cs │ │ ├── NativeMethods.cs │ │ ├── Platform.cs │ │ ├── QueryNormalizer.cs │ │ ├── Ssl.cs │ │ ├── SslPemCertificateValidator.cs │ │ ├── StreamCreator.cs │ │ ├── StringUtility.cs │ │ ├── UnixEndPoint.cs │ │ ├── Version.cs │ │ └── netstandard2_0 │ │ ├── NamedPipeStream.cs │ │ └── SharedMemoryStream.cs └── tests │ ├── MySql.Data.Tests │ ├── AttributeTests.cs │ ├── AuthTests.cs │ ├── BlobTests.cs │ ├── BlobTestsCompressed.cs │ ├── CharSetTests.cs │ ├── CharSetUTF8Tests.cs │ ├── ClientSideFailoverTests.cs │ ├── CmdTests.cs │ ├── CmdTestsCompressed.cs │ ├── ConnectionStringBuilderTests.cs │ ├── ConnectionTests.cs │ ├── DataTypeTests.cs │ ├── DateTimeTests.cs │ ├── DnsSrvTests.cs │ ├── EventTests.cs │ ├── ExceptionTests.cs │ ├── Framework │ │ └── netstandard2_0 │ │ │ ├── BlobTestsPipe.cs │ │ │ ├── BlobTestsPipeCompressed.cs │ │ │ ├── BlobTestsSharedMem.cs │ │ │ ├── BlobTestsSharedMemCompressed.cs │ │ │ ├── CmdTestsPipe.cs │ │ │ ├── CmdTestsPipeCompressed.cs │ │ │ ├── CmdTestsSharedMem.cs │ │ │ ├── CmdTestsSharedmemCompressed.cs │ │ │ ├── CultureTests.cs │ │ │ ├── DataTypeTests.cs │ │ │ ├── DateTimeTests.cs │ │ │ ├── GetSchemaTests.cs │ │ │ ├── InstallerTests.cs │ │ │ ├── MediumTrust │ │ │ ├── MediumTrustDomain.cs │ │ │ ├── MediumTrustFixtureAttribute.cs │ │ │ ├── MediumTrustTestClassCommand.cs │ │ │ ├── MediumTrustTestCommand.cs │ │ │ ├── MySql.MediumTrustsTests.cs │ │ │ └── MySqlClientPermissionTests.cs │ │ │ ├── MySQLHelperTests.cs │ │ │ ├── MySqlCommandBuilderTests.cs │ │ │ ├── MySqlDataAdapterTests.cs │ │ │ ├── MySqlDataReaderTests.cs │ │ │ ├── NETCore20Tests.cs │ │ │ ├── OutputParametersBatchPrepared.cs │ │ │ ├── OutputParametersNoBatch.cs │ │ │ ├── OutputParametersNoBatchPrepared.cs │ │ │ ├── PSPipe.cs │ │ │ ├── PSPipeCompressed.cs │ │ │ ├── PSSharedMemory.cs │ │ │ ├── PSSharedMemoryCompressed.cs │ │ │ ├── PartialTrustSandbox.cs │ │ │ ├── PerfMonTests.cs │ │ │ ├── ProcedureParameterTests.cs │ │ │ ├── ReplicationTests.cs │ │ │ ├── StressTestsPipe.cs │ │ │ ├── StressTestsPipeCompressed.cs │ │ │ ├── StressTestsSharedMemory.cs │ │ │ ├── StressTestsSharedMemoryCompressed.cs │ │ │ ├── ThreadingTests.cs │ │ │ ├── TimeoutAndCancel.cs │ │ │ ├── TimeoutAndCancelCompressed.cs │ │ │ ├── TimeoutAndCancelPipe.cs │ │ │ ├── TimeoutAndCancelSharedMemory.cs │ │ │ ├── TypeTests.cs │ │ │ └── UsageAdvisorTests.cs │ ├── GenericListener.cs │ ├── LoggingTests.cs │ ├── MockServer.cs │ ├── MySql.Data.Tests.csproj │ ├── MySqlBulkLoaderTests.cs │ ├── MySqlDataReaderTests.cs │ ├── OutputParametersBatch.cs │ ├── ParameterTests.cs │ ├── PoolingTests.cs │ ├── PreparedStatementCompressed.cs │ ├── PreparedStatements.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── KerberosConfig.txt │ │ ├── image1.jpg │ │ ├── my.ini │ │ └── mysql.keytab │ ├── ScriptExecution.cs │ ├── SimpleTransactions.cs │ ├── SqlServerMode.cs │ ├── SqlTokenizer.cs │ ├── SslTests.cs │ ├── StoredProcedure.cs │ ├── StoredProcedureWithAccess.cs │ ├── StressTests.cs │ ├── StressTestsCompressed.cs │ ├── Syntax.cs │ ├── Syntax2.cs │ ├── TableCaching.cs │ ├── TestBase.cs │ ├── Tokenizer.cs │ ├── Transactions.cs │ ├── UnixSockets.cs │ ├── Utils.cs │ ├── certificates │ │ ├── ca-key.pem │ │ ├── ca.pem │ │ ├── ca_dummy.pem │ │ ├── client-cert.pem │ │ ├── client-cert_dummy.pem │ │ ├── client-incorrect.pfx │ │ ├── client-key.pem │ │ ├── client-key_altered.pem │ │ ├── client-key_dummy.pem │ │ ├── server-cert.pem │ │ └── server-key.pem │ └── client.pfx │ └── MySqlX.Data.Tests │ ├── BaseTest.cs │ ├── BasicFindTests.cs │ ├── BasicSelectTests.cs │ ├── CharsetAndCollationTests.cs │ ├── ClientSideFailoverTests.cs │ ├── ClientTests.cs │ ├── CloseConnectionTests.cs │ ├── CollectionAsyncTests.cs │ ├── CollectionIndexTests.cs │ ├── CollectionTests.cs │ ├── CompressionTests.cs │ ├── CrudInsertTests.cs │ ├── CrudRemoveTests.cs │ ├── CrudTests │ ├── CrudGCTests.cs │ └── DocBufferingTests.cs │ ├── CrudUpdateTests.cs │ ├── CustomTypeTests.cs │ ├── DbDocTests.cs │ ├── DnsSrvTests.cs │ ├── ExprParserTests.cs │ ├── GenericListener.cs │ ├── JsonParserTests.cs │ ├── MergePatch.cs │ ├── MockServer.cs │ ├── MySqlX.Data.Tests.csproj │ ├── PerformanceTests.cs │ ├── PreparedStatementsTests.cs │ ├── Properties │ ├── AssemblyInfo.cs │ └── CreateUsers.sql │ ├── RelationalTests │ ├── ColumnMetadataTests.cs │ ├── DataTypeTests.cs │ ├── DateTimeTests.cs │ ├── RelationalGCTests.cs │ ├── RowBufferingTests.cs │ ├── SqlTests.cs │ ├── TableAsyncTests.cs │ ├── TableDeleteTests.cs │ ├── TableInsertTests.cs │ ├── TableSelectTests.cs │ ├── TableUpdateTests.cs │ └── ViewTests.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Resources │ └── TableScripts.txt │ ├── SchemaTests.cs │ ├── SessionTests.cs │ ├── SslTests.cs │ ├── TransactionTests.cs │ ├── UnixSocketsTests.cs │ ├── XAuth.cs │ └── XConnectionStringBuilderTests.cs ├── MySql.Web ├── MySql.Web.sln ├── src │ ├── Application.cs │ ├── ConfigUtility.cs │ ├── MembershipProvider.cs │ ├── MySql.Web.csproj │ ├── MySqlDatabaseWrapper.cs │ ├── MySqlWebSecurity.cs │ ├── PersonalizationConnectionHelper.cs │ ├── PersonalizationProvider.cs │ ├── PersonalizationProviderProcedures.cs │ ├── ProfileProvider.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── VersionInfo.cs │ │ ├── schema1.sql │ │ ├── schema10.sql │ │ ├── schema11.sql │ │ ├── schema2.sql │ │ ├── schema3.sql │ │ ├── schema4.sql │ │ ├── schema5.sql │ │ ├── schema6.sql │ │ ├── schema7.sql │ │ ├── schema8.sql │ │ └── schema9.sql │ ├── RoleProvider.cs │ ├── Runtime.cs │ ├── SchemaManager.cs │ ├── SessionProvider.cs │ ├── SimpleMembershipProvider.cs │ ├── SimpleRoleProvider.cs │ └── SiteMapProvider.cs └── tests │ ├── App.config │ ├── MySql.Web.Tests.csproj │ ├── PersonalizationTests.cs │ ├── ProfileTests.cs │ ├── Properties │ └── AssemblyInfo.cs │ ├── RoleManagement.cs │ ├── SchemaManagerTests.cs │ ├── SchemaTests.cs │ ├── SessionLocking │ ├── Global.asax │ ├── Global.asax.cs │ ├── InitSessionLocking.aspx │ ├── InitSessionLocking.aspx.cs │ ├── InitSessionLocking.aspx.designer.cs │ ├── Web.config │ ├── read.aspx │ ├── read.aspx.cs │ ├── read.aspx.designer.cs │ ├── web_config_src.txt │ ├── write.aspx │ ├── write.aspx.cs │ ├── write.aspx.designer.cs │ ├── write2.aspx │ ├── write2.aspx.cs │ └── write2.aspx.designer.cs │ ├── SessionLockingBuild.bat │ ├── SessionTests.cs │ ├── SimpleMembership.cs │ ├── SiteMapTests.cs │ ├── TestProfile.cs │ ├── UserManagement.cs │ └── WebTestBase.cs ├── README ├── README.md ├── Release Notes.txt ├── SECURITY.md └── global.json /ConnectorNetPublicKey.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/ConnectorNetPublicKey.snk -------------------------------------------------------------------------------- /Dependencies/MITLibs/comerr64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/Dependencies/MITLibs/comerr64.dll -------------------------------------------------------------------------------- /Dependencies/MITLibs/gssapi64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/Dependencies/MITLibs/gssapi64.dll -------------------------------------------------------------------------------- /Dependencies/MITLibs/k5sprt64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/Dependencies/MITLibs/k5sprt64.dll -------------------------------------------------------------------------------- /Dependencies/MITLibs/krb5_64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/Dependencies/MITLibs/krb5_64.dll -------------------------------------------------------------------------------- /Dependencies/MITLibs/krbcc64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/Dependencies/MITLibs/krbcc64.dll -------------------------------------------------------------------------------- /Dependencies/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/Dependencies/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /Dependencies/System.Threading.Tasks.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/Dependencies/System.Threading.Tasks.Extensions.dll -------------------------------------------------------------------------------- /Documentation/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/Documentation/images/favicon.ico -------------------------------------------------------------------------------- /Documentation/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Overview 2 | href: index.md 3 | - name: MySQL Data 4 | href: api/data_api/ 5 | - name: MySQL Entity Framework 6 | href: api/ef_api/ 7 | - name: MySQL Entity Framework Core 8 | href: api/efcore_api/ 9 | - name: MySQL Web 10 | href: api/web_api/ -------------------------------------------------------------------------------- /EFCore/src/Migrations/Operations/CreateDatabaseOperation.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Migrations.Operations; 30 | 31 | namespace MySql.EntityFrameworkCore.Migrations.Operations 32 | { 33 | /// 34 | /// Creates a database operation class for migrations. 35 | /// 36 | internal class MySQLCreateDatabaseOperation : DatabaseOperation 37 | { 38 | public virtual string Name { get; set; } = null!; 39 | public virtual string Charset { get; set; } = null!; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /EFCore/src/Migrations/Operations/DropDatabaseOperation.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Migrations.Operations; 30 | 31 | namespace MySql.EntityFrameworkCore.Migrations.Operations 32 | { 33 | /// 34 | /// Drops database operation for migrations. 35 | /// 36 | internal class MySQLDropDatabaseOperation : MigrationOperation 37 | { 38 | /// 39 | /// The name of the database. 40 | /// 41 | public virtual string Name { get; set; } = null!; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /EFCore/src/Migrations/Operations/MySQLDropPrimaryKeyAndRecreateForeignKeysOperation.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Migrations.Operations; 30 | using System.Diagnostics; 31 | 32 | namespace MySql.EntityFrameworkCore.Migrations.Operations 33 | { 34 | /// 35 | /// A migration operation for dropping a primary key and recreating foreign keys. 36 | /// 37 | 38 | [DebuggerDisplay("ALTER TABLE {Table} DROP CONSTRAINT {Name}")] 39 | public class MySQLDropPrimaryKeyAndRecreateForeignKeysOperation : DropPrimaryKeyOperation 40 | { 41 | /// 42 | /// Recreate all foreign keys or not. 43 | /// 44 | public virtual bool RecreateForeignKeys { get; set; } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /EFCore/src/Migrations/Operations/MySQLDropUniqueConstraintAndRecreateForeignKeysOperation.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Migrations.Operations; 30 | using System.Diagnostics; 31 | 32 | namespace MySql.EntityFrameworkCore.Migrations.Operations 33 | { 34 | /// 35 | /// A migration operation for dropping a unique constraint and recreating foreign keys. 36 | /// 37 | 38 | [DebuggerDisplay("ALTER TABLE {Table} DROP CONSTRAINT {Name}")] 39 | public class MySQLDropUniqueConstraintAndRecreateForeignKeysOperation : DropUniqueConstraintOperation 40 | { 41 | /// 42 | /// Recreate all foreign keys or not. 43 | /// 44 | public virtual bool RecreateForeignKeys { get; set; } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /EFCore/src/Query/Internal/MySQLMemberTranslatorProvider.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Query; 30 | 31 | namespace MySql.EntityFrameworkCore.Query.Internal 32 | { 33 | internal class MySQLMemberTranslatorProvider : RelationalMemberTranslatorProvider 34 | { 35 | public MySQLMemberTranslatorProvider([NotNull] RelationalMemberTranslatorProviderDependencies dependencies) 36 | : base(dependencies) 37 | { 38 | var sqlExpressionFactory = dependencies.SqlExpressionFactory; 39 | 40 | AddTranslators( 41 | new IMemberTranslator[] { 42 | new MySQLDateTimeMemberTranslator(sqlExpressionFactory), 43 | new MySQLStringMemberTranslator(sqlExpressionFactory) 44 | }); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /EFCore/src/Query/Internal/MySQLQueryCompilationContext.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Query; 30 | 31 | namespace MySql.EntityFrameworkCore.Query.Internal 32 | { 33 | internal class MySQLQueryCompilationContext : RelationalQueryCompilationContext 34 | { 35 | public MySQLQueryCompilationContext( 36 | [NotNull] QueryCompilationContextDependencies dependencies, 37 | [NotNull] RelationalQueryCompilationContextDependencies relationalDependencies, bool async) 38 | : base(dependencies, relationalDependencies, async) 39 | { 40 | } 41 | 42 | public override bool IsBuffering 43 | => base.IsBuffering || QuerySplittingBehavior == Microsoft.EntityFrameworkCore.QuerySplittingBehavior.SplitQuery; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /EFCore/src/Query/Sql/Internal/MySQLQueryGeneratorFactory.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Query; 30 | 31 | namespace MySql.EntityFrameworkCore.Query 32 | { 33 | /// 34 | /// Implementation for QuerySqlGeneratorFactoryBase 35 | /// 36 | internal class MySQLQueryGeneratorFactory : IQuerySqlGeneratorFactory 37 | { 38 | private readonly QuerySqlGeneratorDependencies _dependencies; 39 | 40 | public MySQLQueryGeneratorFactory(QuerySqlGeneratorDependencies dependencies) 41 | { 42 | _dependencies = dependencies; 43 | } 44 | 45 | public QuerySqlGenerator Create() 46 | => new MySQLQuerySqlGenerator(_dependencies); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /EFCore/src/Storage/Internal/ByteArrayComparer.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.ChangeTracking; 30 | using System.Collections; 31 | using System.Linq; 32 | 33 | namespace MySql.EntityFrameworkCore.Storage.Internal 34 | { 35 | internal class ByteArrayComparer : ValueComparer 36 | { 37 | public ByteArrayComparer() 38 | : base( 39 | (v1, v2) => StructuralComparisons.StructuralEqualityComparer.Equals(v1, v2), 40 | v => StructuralComparisons.StructuralEqualityComparer.GetHashCode(v), 41 | #pragma warning disable CS8603 // Possible null reference return. 42 | v => v == null ? null : v.ToArray()) 43 | #pragma warning restore CS8603 // Possible null reference return. 44 | { 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /EFCore/src/Storage/Internal/BytesToDateTimeConverter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Storage.ValueConversion; 30 | using System; 31 | 32 | namespace MySql.EntityFrameworkCore.Storage.Internal 33 | { 34 | internal class BytesToDateTimeConverter : ValueConverter 35 | { 36 | private static readonly NumberToBytesConverter _longToBytes 37 | = new NumberToBytesConverter(); 38 | 39 | public BytesToDateTimeConverter() 40 | : base( 41 | v => DateTime.FromBinary((long)_longToBytes.ConvertFromProvider(v)!), 42 | v => (byte[])_longToBytes.ConvertToProvider(v.ToBinary())!) 43 | { 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /EFCore/src/Storage/Internal/IMySQLRelationalConnection.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Storage; 30 | 31 | namespace MySql.EntityFrameworkCore.Storage.Internal 32 | { 33 | internal interface IMySQLRelationalConnection : IRelationalConnection 34 | { 35 | IMySQLRelationalConnection CreateSourceConnection(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /EFCore/src/Storage/Internal/MySQLExecutionStrategyFactory.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using Microsoft.EntityFrameworkCore.Storage; 30 | 31 | namespace MySql.EntityFrameworkCore.Storage.Internal 32 | { 33 | internal class MySQLExecutionStrategyFactory : RelationalExecutionStrategyFactory 34 | { 35 | public MySQLExecutionStrategyFactory( 36 | [NotNull] ExecutionStrategyDependencies dependencies) 37 | : base(dependencies) 38 | { 39 | } 40 | 41 | /// 42 | protected override IExecutionStrategy CreateDefaultStrategy(ExecutionStrategyDependencies dependencies) 43 | => new MySQLExecutionStrategy(dependencies); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /EFCore/src/Storage/Internal/MySQLTransientExceptionDetector.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using MySql.Data.MySqlClient; 30 | using System; 31 | 32 | namespace MySql.EntityFrameworkCore.Storage.Internal 33 | { 34 | /// 35 | /// Detects the exceptions caused by MySQL Server transient failures. 36 | /// 37 | internal class MySQLTransientExceptionDetector 38 | { 39 | public static bool ShouldRetryOn([NotNull] Exception ex) 40 | => ex is MySqlException mySqlException 41 | ? mySqlException.IsTransient 42 | : ex is TimeoutException; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /EFCore/src/Utils/CodeAttributes.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System; 30 | 31 | namespace MySql.EntityFrameworkCore 32 | { 33 | [AttributeUsage(AttributeTargets.All)] 34 | internal sealed class NotNullAttribute : Attribute { } 35 | 36 | [AttributeUsage(AttributeTargets.All)] 37 | internal sealed class CanBeNullAttribute : Attribute { } 38 | } 39 | -------------------------------------------------------------------------------- /EFCore/tests/MySql.EFCore.Basic.Tests/MySql.EntityFrameworkCore.Basic.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | MySql.EntityFrameworkCore.Basic.Tests Class Library 5 | net9.0;net8.0; 6 | MySql.EntityFrameworkCore.Basic.Tests 7 | MySql.EntityFrameworkCore.Basic.Tests 8 | true 9 | True 10 | True 11 | enable 12 | ..\..\..\ConnectorNetPublicKey.snk 13 | CS1591,CS1701,CS1702,EF1001 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /EFCore/tests/MySql.EFCore.Basic.Tests/Properties/DatabaseSetup.sql: -------------------------------------------------------------------------------- 1 | /* 2 | // Copyright © 2021, 2025, Oracle and/or its affiliates. 3 | // 4 | // This program is free software; you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License, version 2.0, as 6 | // published by the Free Software Foundation. 7 | // 8 | // This program is designed to work with certain software (including 9 | // but not limited to OpenSSL) that is licensed under separate terms, as 10 | // designated in a particular file or component or in included license 11 | // documentation. The authors of MySQL hereby grant you an additional 12 | // permission to link the program and your derivative works with the 13 | // separately licensed software that they have either included with 14 | // the program or referenced in the documentation. 15 | // 16 | // Without limiting anything contained in the foregoing, this file, 17 | // which is part of MySQL Connector/NET, is also subject to the 18 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 19 | // http://oss.oracle.com/licenses/universal-foss-exception. 20 | // 21 | // This program is distributed in the hope that it will be useful, but 22 | // WITHOUT ANY WARRANTY; without even the implied warranty of 23 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 24 | // See the GNU General Public License, version 2.0, for more details. 25 | // 26 | // You should have received a copy of the GNU General Public License 27 | // along with this program; if not, write to the Free Software Foundation, Inc., 28 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 29 | */ 30 | 31 | DROP USER 'test'; 32 | create user 'test'@'localhost' identified by 'test'; 33 | grant all privileges on *.* to 'test'@'localhost'; 34 | flush privileges; 35 | 36 | DROP DATABASE IF EXISTS `[database0]`; CREATE DATABASE `[database0]`; 37 | GRANT ALL ON `[database0]`.* to 'test'@'localhost' IDENTIFIED BY 'test'; 38 | GRANT ALL ON `[database0]`.* to 'test'@'%' IDENTIFIED BY 'test'; 39 | FLUSH PRIVILEGES; 40 | 41 | SET GLOBAL max_allowed_packet = 1048576; 42 | 43 | FLUSH PRIVILEGES; 44 | -------------------------------------------------------------------------------- /EFCore/tests/MySql.EFCore.Design.Tests/MySql.EntityFrameworkCore.Design.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | MySql.EntityFrameworkCore.Design.Tests Class Library 5 | net9.0;net8.0; 6 | MySql.EntityFrameworkCore.Design.Tests 7 | MySql.EntityFrameworkCore.Design.Tests 8 | true 9 | True 10 | True 11 | enable 12 | ..\..\..\ConnectorNetPublicKey.snk 13 | $(NoWarn);CS1591,EF1001 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /EFCore/tests/MySql.EFCore.Design.Tests/Properties/world.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/EFCore/tests/MySql.EFCore.Design.Tests/Properties/world.sql -------------------------------------------------------------------------------- /EFCore/tests/MySql.EFCore.Migrations.Tests/MySql.EntityFrameworkCore.Migrations.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | MySql.EntityFrameworkCore.Migrations.Tests Class Library 5 | net9.0;net8.0; 6 | MySql.EntityFrameworkCore.Migrations.Tests 7 | MySql.EntityFrameworkCore.Migrations.Tests 8 | true 9 | True 10 | True 11 | enable 12 | ..\..\..\ConnectorNetPublicKey.snk 13 | $(NoWarn);CS1591,EF1001 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /EntityFramework/src/App.config: -------------------------------------------------------------------------------- 1 |  2 | -------------------------------------------------------------------------------- /EntityFramework/src/Generators/DeleteGenerator.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2008, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.Data.Entity.Core.Common.CommandTrees; 30 | 31 | namespace MySql.Data.EntityFramework 32 | { 33 | class DeleteGenerator : SqlGenerator 34 | { 35 | public override string GenerateSQL(DbCommandTree tree) 36 | { 37 | DbDeleteCommandTree commandTree = tree as DbDeleteCommandTree; 38 | 39 | DeleteStatement statement = new DeleteStatement(); 40 | 41 | statement.Target = commandTree.Target.Expression.Accept(this); 42 | scope.Add("target", statement.Target as InputFragment); 43 | 44 | statement.Where = commandTree.Predicate.Accept(this); 45 | 46 | return statement.ToString(); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /EntityFramework/src/Generators/SqlGenerator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/EntityFramework/src/Generators/SqlGenerator.cs -------------------------------------------------------------------------------- /EntityFramework/src/Properties/VersionInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.Reflection; 30 | using System.Resources; 31 | 32 | // 33 | // Version information for an assembly consists of the following four values: 34 | // 35 | // Major Version 36 | // Minor Version 37 | // Build Number 38 | // Revision 39 | // 40 | // You can specify all the values or you can default the Revision and Build Numbers 41 | // by using the '*' as shown below: 42 | 43 | [assembly: AssemblyVersion("9.3.0")] 44 | [assembly: AssemblyInformationalVersion("9.3.0.0")] 45 | [assembly: AssemblyFileVersion("9.3.0.0")] 46 | [assembly: NeutralResourcesLanguage("en-US")] 47 | -------------------------------------------------------------------------------- /EntityFramework/src/Statements/DeleteStatement.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2008, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.Text; 30 | namespace MySql.Data.EntityFramework 31 | { 32 | class DeleteStatement : SqlFragment 33 | { 34 | public SqlFragment Target { get; set; } 35 | public SqlFragment Where { get; set; } 36 | 37 | public override void WriteSql(StringBuilder sql) 38 | { 39 | sql.Append("DELETE FROM "); 40 | Target.WriteSql(sql); 41 | if (Where != null) 42 | { 43 | sql.Append(" WHERE "); 44 | Where.WriteSql(sql); 45 | } 46 | } 47 | 48 | internal override void Accept(SqlFragmentVisitor visitor) 49 | { 50 | throw new System.NotImplementedException(); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /EntityFramework/tests/MySql.EntityFramework.Basic.Tests/App.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /EntityFramework/tests/MySql.EntityFramework.CodeFirst.Tests/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /EntityFramework/tests/MySql.EntityFramework.CodeFirst.Tests/Blogs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2020, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.Data.Entity; 30 | using System.ComponentModel.DataAnnotations; 31 | using System.ComponentModel.DataAnnotations.Schema; 32 | 33 | namespace MySql.Data.EntityFramework.CodeFirst.Tests 34 | { 35 | public class BlogContext : DbContext 36 | { 37 | public BlogContext() : base(CodeFirstFixture.GetEFConnectionString()) { } 38 | 39 | public DbSet Blog { get; set; } 40 | 41 | } 42 | 43 | [Table("blogtable", Schema = "blogschema")] 44 | public class Blog 45 | { 46 | [Key] 47 | public int BlogId { get; set; } 48 | public string Title { get; set; } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /EntityFramework/tests/MySql.EntityFramework.CodeFirst.Tests/SakilaModel/film_text.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2014, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.ComponentModel.DataAnnotations; 30 | using System.ComponentModel.DataAnnotations.Schema; 31 | 32 | namespace MySql.Data.EntityFramework.CodeFirst.Tests 33 | { 34 | [Table("film_text")] 35 | public partial class film_text 36 | { 37 | [Key] 38 | [DatabaseGenerated(DatabaseGeneratedOption.None)] 39 | public short film_id { get; set; } 40 | 41 | [Required] 42 | [StringLength(255)] 43 | public string title { get; set; } 44 | 45 | [Column(TypeName = "text")] 46 | [StringLength(65535)] 47 | public string description { get; set; } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /EntityFramework/tests/MySql.EntityFramework.CodeFirst.Tests/SakilaModel/sales_by_film_category.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2014, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.ComponentModel.DataAnnotations; 30 | using System.ComponentModel.DataAnnotations.Schema; 31 | 32 | namespace MySql.Data.EntityFramework.CodeFirst.Tests 33 | { 34 | [Table("sales_by_film_category")] 35 | public partial class sales_by_film_category 36 | { 37 | [Key] 38 | [StringLength(25)] 39 | public string category { get; set; } 40 | 41 | public decimal? total_sales { get; set; } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /EntityFramework/tests/MySql.EntityFramework.CodeFirst.Tests/SakilaModel/sales_by_store.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2014, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.ComponentModel.DataAnnotations; 30 | using System.ComponentModel.DataAnnotations.Schema; 31 | 32 | namespace MySql.Data.EntityFramework.CodeFirst.Tests 33 | { 34 | [Table("sales_by_store")] 35 | public partial class sales_by_store 36 | { 37 | [Key] 38 | [Column(Order = 0)] 39 | [StringLength(101)] 40 | public string store { get; set; } 41 | 42 | [Key] 43 | [Column(Order = 1)] 44 | [StringLength(91)] 45 | public string manager { get; set; } 46 | 47 | public decimal? total_sales { get; set; } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /EntityFramework/tests/MySql.EntityFramework.Migrations.Tests/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /EntityFramework/tests/MySql.EntityFramework.Migrations.Tests/BlogsModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.Data.Entity; 30 | using System.ComponentModel.DataAnnotations; 31 | 32 | namespace MySql.Data.EntityFramework.Migrations.Tests 33 | { 34 | [DbConfigurationType(typeof(MySqlEFConfiguration))] 35 | public class BlogContext : DbContext 36 | { 37 | public BlogContext() : base(SetUpMigrationsTests.ConnectionStringBlogContext) { } 38 | 39 | public DbSet Blog { get; set; } 40 | 41 | } 42 | 43 | public class Blog 44 | { 45 | [Key] 46 | public int BlogId { get; set; } 47 | public string Title { get; set; } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /EntityFramework/tests/MySql.EntityFramework.Migrations.Tests/MyConfiguration.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System; 30 | using System.Collections.Generic; 31 | using System.Linq; 32 | using System.Text; 33 | using System.Threading.Tasks; 34 | using MySql.Data.EntityFramework; 35 | 36 | namespace MySql.Data.EntityFramework.Migrations.Tests 37 | { 38 | public class MyConfiguration : MySqlEFConfiguration 39 | { 40 | public MyConfiguration() 41 | : base() 42 | { 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /MySQL.Data.OpenTelemetry/MySQL.Data.OpenTelemetry.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.4.33103.184 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MySQL.Data.OpenTelemetry", "src\MySQL.Data.OpenTelemetry.csproj", "{60C2984E-BF90-43AA-83CC-47F5BFF8459A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {60C2984E-BF90-43AA-83CC-47F5BFF8459A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {60C2984E-BF90-43AA-83CC-47F5BFF8459A}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {60C2984E-BF90-43AA-83CC-47F5BFF8459A}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {60C2984E-BF90-43AA-83CC-47F5BFF8459A}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {C2FF3DAD-CC92-43CB-9E98-480F4E9FDD32} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /MySQL.Data.OpenTelemetry/src/MySQL.Data.OpenTelemetry.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | MySql.Data.OpenTelemetry 5 | Copyright © 2023, 2025, Oracle and/or its affiliates. 6 | en-US 7 | 9.3.0 8 | Oracle Corporation 9 | netstandard2.0 10 | MySql.Data.OpenTelemetry 11 | MySql.Data.OpenTelemetry 12 | MySql;.NET Connector;MySql Connector/NET;ado;ado.net;database;sql;opentelemetry;tracing;diagnostics;instrumentation 13 | logo-mysql-170x115.png 14 | README.md 15 | https://dev.mysql.com/downloads/ 16 | GPL-2.0-only WITH Universal-FOSS-exception-1.0 17 | true 18 | True 19 | True 20 | ..\..\ConnectorNetPublicKey.snk 21 | True 22 | MySql.Data.OpenTelemetry 23 | false 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /MySQL.Data.OpenTelemetry/src/Properties/VersionInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.Reflection; 30 | using System.Resources; 31 | 32 | // 33 | // Version information for an assembly consists of the following four values: 34 | // 35 | // Major Version 36 | // Minor Version 37 | // Build Number 38 | // Revision 39 | // 40 | // You can specify all the values or you can default the Revision and Build Numbers 41 | // by using the '*' as shown below: 42 | 43 | [assembly: AssemblyVersion("9.3.0")] 44 | [assembly: AssemblyInformationalVersion("9.3.0.0")] 45 | [assembly: AssemblyFileVersion("9.3.0.0")] 46 | [assembly: NeutralResourcesLanguage("en-US")] 47 | 48 | -------------------------------------------------------------------------------- /MySQL.Data.OpenTelemetry/src/TraceProviderBuilderExtension.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2023, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System; 30 | using OpenTelemetry.Trace; 31 | 32 | /// 33 | /// Extension method for setting up Connector/Net OpenTelemetry tracing. 34 | /// 35 | public static class TracerProviderBuilderExtensions 36 | { 37 | public static TracerProviderBuilder AddConnectorNet( 38 | this TracerProviderBuilder builder) 39 | => builder.AddSource("connector-net"); 40 | } 41 | -------------------------------------------------------------------------------- /MySQL.Data/MySql.Replication.Tests/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /MySQL.Data/MySql.Replication.Tests/Resources/01_Startup_root_script.sql: -------------------------------------------------------------------------------- 1 | -- Users 2 | 3 | GRANT ALL ON *.* TO lbuser@localhost IDENTIFIED BY 'lbpass'; 4 | 5 | REVOKE SUPER ON *.* FROM lbuser@localhost; 6 | -------------------------------------------------------------------------------- /MySQL.Data/MySql.Replication.Tests/Resources/02_Startup_script.sql: -------------------------------------------------------------------------------- 1 | DROP DATABASE IF EXISTS {0}; 2 | 3 | 4 | CREATE DATABASE {0}; 5 | USE {0}; 6 | 7 | CREATE TABLE items ( 8 | item_id int primary key auto_increment, 9 | description varchar(50) not null, 10 | brand varchar(50), 11 | price float not null, 12 | quantity int not null 13 | ); 14 | 15 | CREATE TABLE stores( 16 | store_id int primary key auto_increment, 17 | name varchar(50) not null, 18 | address varchar(100) 19 | ); 20 | 21 | CREATE TABLE employees( 22 | employee_id int primary key auto_increment, 23 | name varchar(50) not null, 24 | store_id int, 25 | active bool 26 | ); 27 | 28 | CREATE TABLE orders( 29 | order_id int primary key auto_increment, 30 | employee_id int not null, 31 | client_name varchar(50) 32 | ); 33 | 34 | CREATE TABLE order_details( 35 | order_id int not null, 36 | item_id int not null, 37 | quantity int, 38 | price float, 39 | discount float 40 | ); 41 | 42 | 43 | 44 | -- Populating data 45 | 46 | INSERT INTO stores VALUES(null, 'Main', 'Superdome Minessota'); 47 | 48 | INSERT INTO items VALUES(null, 'Wings', 'OwnMark', 12.99, 12); 49 | INSERT INTO items VALUES(null, 'Cookies', 'The Bear', 1.99, 1); 50 | INSERT INTO items VALUES(null, 'Icecream', 'Vanilla', 2.99, 1); 51 | 52 | INSERT INTO employees VALUES(null, 'Marcelino', 1, true); 53 | -------------------------------------------------------------------------------- /MySQL.Data/MySql.Replication.Tests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /MySQL.Data/src/Authentication/FIDO/Native/Structs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2022, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.Authentication.FIDO.Native 30 | { 31 | /// 32 | /// FIDO assertion handle 33 | /// 34 | internal struct fido_assert_t { } 35 | 36 | /// 37 | /// FIDO device handle 38 | /// 39 | internal struct fido_dev_t { } 40 | 41 | /// 42 | /// FIDO device info handle 43 | /// 44 | internal struct fido_dev_info_t { } 45 | } 46 | -------------------------------------------------------------------------------- /MySQL.Data/src/Authentication/FIDO/Utility/Extensions.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2022, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.Authentication.FIDO.Utility 30 | { 31 | internal static class Extensions 32 | { 33 | public static void Check(this int err) 34 | { 35 | if (err > (int)CtapStatus.Ok) 36 | { 37 | throw new CtapException((CtapStatus)err); 38 | } 39 | 40 | if (err < (int)FidoStatus.Ok) 41 | { 42 | throw new FidoException((FidoStatus)err); 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /MySQL.Data/src/Authentication/FIDO/Utility/Init.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2022, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using MySql.Data.Authentication.FIDO.Native; 30 | 31 | namespace MySql.Data.Authentication.FIDO.Utility 32 | { 33 | /// 34 | /// This class represent the function that should precede any invocation to libfido2 library. 35 | /// 36 | internal class Init 37 | { 38 | private static bool _called; 39 | 40 | internal static void Call() 41 | { 42 | if (_called) 43 | return; 44 | 45 | _called = true; 46 | NativeMethods.fido_init(0); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /MySQL.Data/src/Authentication/GSSAPI/Native/GssBufferDescStruct.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2020, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System; 30 | using System.Runtime.InteropServices; 31 | 32 | namespace MySql.Data.Authentication.GSSAPI.Native 33 | { 34 | [StructLayout(LayoutKind.Sequential)] 35 | internal struct GssBufferDescStruct 36 | { 37 | /// size_t->unsigned int 38 | public uint length; 39 | 40 | /// void* 41 | public IntPtr value; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /MySQL.Data/src/Authentication/GSSAPI/Native/GssOidStruct.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2020, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System; 30 | using System.Runtime.InteropServices; 31 | 32 | namespace MySql.Data.Authentication.GSSAPI.Native 33 | { 34 | [StructLayout(LayoutKind.Sequential)] 35 | internal struct GssOidDescStruct 36 | { 37 | /// OM_uint32->gss_uint32->unsigned int 38 | public uint length; 39 | 40 | /// void* 41 | public IntPtr elements; 42 | } 43 | 44 | [StructLayout(LayoutKind.Sequential)] 45 | internal struct GssOidSetStruct 46 | { 47 | /// OM_uint32->gss_uint32->unsigned int 48 | public uint count; 49 | 50 | /// void* 51 | public IntPtr elements; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /MySQL.Data/src/PerformanceMonitor.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2004, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System; 30 | using System.Diagnostics; 31 | 32 | 33 | namespace MySql.Data.MySqlClient 34 | { 35 | internal class PerformanceMonitor 36 | { 37 | public PerformanceMonitor(MySqlConnection connection) 38 | { 39 | Connection = connection; 40 | } 41 | 42 | public MySqlConnection Connection { get; private set; } 43 | 44 | public virtual void AddHardProcedureQuery() 45 | { 46 | } 47 | 48 | public virtual void AddSoftProcedureQuery() 49 | { 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /MySQL.Data/src/Properties/ReservedWords.txt: -------------------------------------------------------------------------------- 1 | ACCESSIBLE ADD ALL 2 | ALTER ANALYZE AND 3 | AS ASC ASENSITIVE 4 | BEFORE BEGIN BETWEEN 5 | BIGINT BINARY BLOB 6 | BOTH BY CALL 7 | CASCADE CASE CHANGE 8 | CHAR CHARACTER CHECK 9 | COLLATE COLUMN COMMIT 10 | CONDITION CONNECTION CONSTRAINT 11 | CONTINUE CONVERT CREATE 12 | CROSS CURRENT_DATE CURRENT_TIME 13 | CURRENT_TIMESTAMP CURRENT_USER CURSOR 14 | DATABASE DATABASES DAY_HOUR 15 | DAY_MICROSECOND DAY_MINUTE DAY_SECOND 16 | DEC DECIMAL DECLARE 17 | DEFAULT DELAYED DELETE 18 | DESC DESCRIBE DETERMINISTIC 19 | DISTINCT DISTINCTROW DIV 20 | DO DOUBLE DROP 21 | DUAL EACH ELSE 22 | ELSEIF ENCLOSED END 23 | ESCAPED EXISTS EXIT 24 | EXPLAIN FALSE FETCH 25 | FLOAT FLOAT4 FLOAT8 26 | FOR FORCE FOREIGN 27 | FROM FULLTEXT GOTO 28 | GRANT GROUP HAVING 29 | HIGH_PRIORITY HOUR_MICROSECOND HOUR_MINUTE 30 | HOUR_SECOND IF IGNORE 31 | IN INDEX INFILE 32 | INNER INOUT INSENSITIVE 33 | INSERT INT INT1 34 | INT2 INT3 INT4 35 | INT8 INTEGER INTERVAL 36 | INTO IS ITERATE 37 | JOIN KEY KEYS 38 | KILL LABEL LEADING 39 | LEAVE LEFT LIKE 40 | LIMIT LINEAR LINES 41 | LOAD LOCALTIME LOCALTIMESTAMP 42 | LOCK LONG LONGBLOB 43 | LONGTEXT LOOP LOW_PRIORITY 44 | SOURCE_SSL_VERIFY_SERVER_CERT MATCH MEDIUMBLOB 45 | MEDIUMINT MEDIUMTEXT MIDDLEINT 46 | MINUTE_MICROSECOND MINUTE_SECOND MOD 47 | MODIFIES NATURAL NOT 48 | NO_WRITE_TO_BINLOG NULL NUMERIC 49 | ON OPTIMIZE OPTION 50 | OPTIONALLY OR ORDER 51 | OUT OUTER OUTFILE 52 | PRECISION PRIMARY PROCEDURE 53 | PURGE RANGE READ 54 | READS READ_ONLY READ_WRITE 55 | REAL REFERENCES REGEXP 56 | RELEASE RENAME REPEAT 57 | REPLACE REQUIRE RESTRICT 58 | RETURN REVOKE RIGHT 59 | RLIKE ROLLBACK SCHEMA 60 | SCHEMAS SECOND_MICROSECOND SELECT 61 | SENSITIVE SEPARATOR SET 62 | SHOW SHUTDOWN SMALLINT 63 | SPATIAL SPECIFIC SQL 64 | SQLEXCEPTION SQLSTATE SQLWARNING 65 | SQL_BIG_RESULT SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT 66 | SSL STARTING STRAIGHT_JOIN 67 | TABLE TERMINATED THEN 68 | TINYBLOB TINYINT TINYTEXT 69 | TO TRAILING TRIGGER 70 | TRUE UNDO UNION 71 | UNIQUE UNLOCK UNSIGNED 72 | UPDATE UPGRADE USAGE 73 | USE USING UTC_DATE 74 | UTC_TIME UTC_TIMESTAMP VALUE 75 | VALUES VARBINARY VARCHAR 76 | VARCHARACTER VARYING WHEN 77 | WHERE WHILE WITH 78 | WRITE XOR YEAR_MONTH 79 | ZEROFILL -------------------------------------------------------------------------------- /MySQL.Data/src/Properties/VersionInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2004, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.Reflection; 30 | using System.Resources; 31 | 32 | // 33 | // Version information for an assembly consists of the following four values: 34 | // 35 | // Major Version 36 | // Minor Version 37 | // Build Number 38 | // Revision 39 | // 40 | // You can specify all the values or you can default the Revision and Build Numbers 41 | // by using the '*' as shown below: 42 | 43 | [assembly: AssemblyVersion("9.3.0")] 44 | [assembly: AssemblyInformationalVersion("9.3.0.0")] 45 | [assembly: AssemblyFileVersion("9.3.0.0")] 46 | [assembly: NeutralResourcesLanguage("en-US")] 47 | -------------------------------------------------------------------------------- /MySQL.Data/src/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": {} 3 | } -------------------------------------------------------------------------------- /MySQL.Data/src/Runtime.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2014, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | using System; 31 | 32 | namespace MySql.Web.Security 33 | { 34 | internal static class Runtime 35 | { 36 | private static bool inited; 37 | private static bool isMono; 38 | 39 | public static bool IsMono 40 | { 41 | get 42 | { 43 | if (!inited) 44 | Init(); 45 | return isMono; 46 | } 47 | } 48 | 49 | private static void Init() 50 | { 51 | Type t = Type.GetType("Mono.Runtime"); 52 | isMono = t != null; 53 | inited = true; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /MySQL.Data/src/Types/IMySqlValue.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2004, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using MySql.Data.MySqlClient; 30 | using System; 31 | using System.Threading.Tasks; 32 | 33 | namespace MySql.Data.Types 34 | { 35 | internal interface IMySqlValue 36 | { 37 | bool IsNull { get; } 38 | MySqlDbType MySqlDbType { get; } 39 | object Value { get; /*set;*/ } 40 | Type SystemType { get; } 41 | string MySqlTypeName { get; } 42 | 43 | Task WriteValueAsync(MySqlPacket packet, bool binary, object value, int length, bool execAsync); 44 | Task ReadValueAsync(MySqlPacket packet, long length, bool isNull, bool execAsync); 45 | void SkipValue(MySqlPacket packet); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /MySQL.Data/src/Types/MySqlConversionException.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2004, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System; 30 | 31 | namespace MySql.Data.Types 32 | { 33 | /// 34 | /// An exception thrown by MySQL when a type conversion does not succeed. 35 | /// 36 | [Serializable] 37 | public class MySqlConversionException : Exception 38 | { 39 | /// Initializes a new instance of the class with a specified error message. 40 | /// Message describing the error. 41 | public MySqlConversionException(string msg) 42 | : base(msg) 43 | { 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /MySQL.Data/src/X/Data/Enums.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2015, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySqlX.DataAccess 30 | { 31 | internal enum ConnectionMode 32 | { 33 | Offline = 0, 34 | ReadOnly = 1, 35 | WriteOnly = 2, 36 | ReadWrite = 3 37 | } 38 | 39 | internal enum AuthenticationMode 40 | { 41 | PlainAccess = 0, 42 | MySQL41 = 1 43 | } 44 | 45 | internal enum OS 46 | { 47 | Unknown = 0, 48 | Windows, 49 | Linux, 50 | MacOS 51 | } 52 | 53 | internal enum PreparedStatementType 54 | { 55 | Find = 0, 56 | Insert, 57 | Update, 58 | Delete, 59 | SqlStatement 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /MySQL.Data/src/X/Protocol/ProtocolBase.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2015, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | using System.Collections.Generic; 31 | using MySqlX.XDevAPI; 32 | using MySqlX.XDevAPI.Common; 33 | using MySqlX.XDevAPI.Relational; 34 | 35 | namespace MySqlX.Protocol 36 | { 37 | 38 | /// 39 | /// Abstract class for the protocol base operations in client/server communication. 40 | /// 41 | /// 42 | public abstract class ProtocolBase 43 | { 44 | public abstract List ReadRow(BaseResult rs); 45 | public abstract void SendSQL(string sql, params object[] args); 46 | 47 | public abstract bool HasData(BaseResult rs); 48 | 49 | public abstract List LoadColumnMetadata(); 50 | 51 | public abstract void CloseResult(BaseResult rs); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /MySQL.Data/src/X/Protocol/ValueDecoder.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2015, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using MySqlX.XDevAPI; 30 | using MySqlX.XDevAPI.Relational; 31 | 32 | namespace MySqlX.Protocol 33 | { 34 | internal abstract class ValueDecoder 35 | { 36 | 37 | public delegate object ClrDecoderDelegate(byte[] bytes); 38 | 39 | 40 | public Column Column { get; set; } 41 | 42 | public uint Flags { get; set; } 43 | public uint ContentType { get; set; } 44 | 45 | public abstract void SetMetadata(); 46 | public ClrDecoderDelegate ClrValueDecoder; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /MySQL.Data/src/X/Protocol/X/BitDecoder.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2016, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | using Google.Protobuf; 31 | using MySql.Data.MySqlClient.X.XDevAPI.Common; 32 | using System; 33 | 34 | namespace MySqlX.Protocol.X 35 | { 36 | internal class BitDecoder : ValueDecoder 37 | { 38 | public override void SetMetadata() 39 | { 40 | Column.Type = ColumnType.Bit; 41 | Column.ClrType = typeof(UInt64); 42 | ClrValueDecoder = BitValueDecoder; 43 | } 44 | 45 | private UInt64 ReadUInt(byte[] bytes) 46 | { 47 | return new CodedInputStream(bytes).ReadUInt64(); 48 | } 49 | 50 | private object BitValueDecoder(byte[] bytes) 51 | { 52 | return ReadUInt(bytes); 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /MySQL.Data/src/X/XDevAPI/CRUD/FindParams.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2015, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using MySql.Data.MySqlClient; 30 | using MySqlX.Protocol.X; 31 | using MySqlX.XDevAPI.Common; 32 | 33 | namespace MySqlX.XDevAPI.CRUD 34 | { 35 | internal class FindParams : FilterParams 36 | { 37 | public string[] GroupBy; 38 | public string GroupByCritieria; 39 | public string[] Projection; 40 | public RowLock Locking; 41 | public LockContention LockingOption; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /MySQL.Data/src/X/XDevAPI/Common/ColumnType.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2016, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.MySqlClient.X.XDevAPI.Common 30 | { 31 | /// 32 | /// Defines the type of the column. 33 | /// 34 | public enum ColumnType 35 | { 36 | Bit = 1, 37 | Tinyint, 38 | Smallint, 39 | Mediumint, 40 | Int, 41 | Bigint, 42 | Float, 43 | Decimal, 44 | Double, 45 | 46 | Json, 47 | String, 48 | Bytes, 49 | Time, 50 | Date, 51 | DateTime, 52 | Timestamp, 53 | Set, 54 | Enum, 55 | Geometry, 56 | } 57 | 58 | internal enum ColumnContentType 59 | { 60 | Geometry = 1, 61 | Json, 62 | Xml 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /MySQL.Data/src/X/XDevAPI/MySqlExpression.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2017, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySqlX.XDevAPI 30 | { 31 | /// 32 | /// Defines a MySql expression. 33 | /// 34 | public class MySqlExpression 35 | { 36 | public string value; 37 | public MySqlExpression(string value) 38 | { 39 | this.value = value; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /MySQL.Data/src/X/XDevAPI/Relational/RowResult.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2015, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using MySqlX.Sessions; 30 | 31 | namespace MySqlX.XDevAPI.Relational 32 | { 33 | 34 | /// 35 | /// Inherits from . Creates a resultset that contains rows of data. 36 | /// 37 | public sealed class RowResult : InternalRowResult 38 | { 39 | internal RowResult(InternalSession session) : base(session) 40 | { 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /MySQL.Data/src/common/Dns/DnsRecordUnknown.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2022, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.Common.DnsClient 30 | { 31 | /// 32 | /// A default Dns Record. 33 | /// 34 | internal class DnsRecordUnknown : DnsRecord 35 | { 36 | internal byte[] Data { get; set; } 37 | 38 | internal DnsRecordUnknown(DnsRecordReader recordReader) 39 | { 40 | ushort recordDataLength = recordReader.ReadUInt16(-2); 41 | Data = recordReader.ReadBytes(recordDataLength); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /MySQL.Data/src/common/StringUtility.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2014, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | namespace MySql.Data.Common 31 | { 32 | internal class StringUtility 33 | { 34 | public static string ToUpperInvariant(string s) 35 | { 36 | return s.ToUpperInvariant(); 37 | } 38 | 39 | public static string ToLowerInvariant(string s) 40 | { 41 | return s.ToLowerInvariant(); 42 | } 43 | 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/BlobTestsCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework; 30 | using NUnit.Framework.Legacy; 31 | 32 | namespace MySql.Data.MySqlClient.Tests 33 | { 34 | [Property("Category", "Compressed")] 35 | public class BlobTestsCompressed : BlobTests 36 | { 37 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 38 | { 39 | settings.UseCompression = true; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/CmdTestsCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework; 30 | using NUnit.Framework.Legacy; 31 | 32 | namespace MySql.Data.MySqlClient.Tests 33 | { 34 | public class CmdTestsSocketCompressed : CmdTests 35 | { 36 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 37 | { 38 | settings.UseCompression = true; 39 | } 40 | 41 | [Test] 42 | public override void InsertingPreparedNulls() 43 | { 44 | base.InsertingPreparedNulls(); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/BlobTestsPipe.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework.Internal; 30 | 31 | namespace MySql.Data.MySqlClient.Tests 32 | { 33 | public class BlobTestsPipe : BlobTests 34 | { 35 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 36 | { 37 | settings.ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; 38 | settings.SslMode = MySqlSslMode.None; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/BlobTestsPipeCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | using NUnit.Framework.Internal; 31 | using System.ComponentModel; 32 | 33 | namespace MySql.Data.MySqlClient.Tests 34 | { 35 | [Category("Compressed")] 36 | public class BlobTestsPipeCompressed : BlobTests 37 | { 38 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 39 | { 40 | settings.ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; 41 | settings.UseCompression = true; 42 | settings.SslMode = MySqlSslMode.None; 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/BlobTestsSharedMem.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | using NUnit.Framework.Internal; 31 | 32 | namespace MySql.Data.MySqlClient.Tests 33 | { 34 | public class BlobTestsSharedMem : BlobTests 35 | { 36 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 37 | { 38 | settings.ConnectionProtocol = MySqlConnectionProtocol.SharedMemory; 39 | settings.SslMode = MySqlSslMode.None; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/BlobTestsSharedMemCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | using NUnit.Framework.Internal; 31 | using System.ComponentModel; 32 | 33 | namespace MySql.Data.MySqlClient.Tests 34 | { 35 | [Category("Compressed")] 36 | public class BlobTestsSharedMemCompressed : BlobTests 37 | { 38 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 39 | { 40 | settings.ConnectionProtocol = MySqlConnectionProtocol.SharedMemory; 41 | settings.UseCompression = true; 42 | settings.SslMode = MySqlSslMode.None; 43 | } 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/CmdTestsPipe.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | namespace MySql.Data.MySqlClient.Tests 31 | { 32 | public class CmdTestsPipe : CmdTests 33 | { 34 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 35 | { 36 | settings.ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; 37 | settings.SslMode = MySqlSslMode.None; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/CmdTestsPipeCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework.Internal; 30 | using System; 31 | 32 | namespace MySql.Data.MySqlClient.Tests 33 | { 34 | public class CmdTestsPipeCompressed : CmdTests 35 | { 36 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 37 | { 38 | settings.ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; 39 | settings.SslMode = MySqlSslMode.None; 40 | settings.UseCompression = true; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/CmdTestsSharedMem.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework.Internal; 30 | 31 | namespace MySql.Data.MySqlClient.Tests 32 | { 33 | public class CmdTestsSharedMem : CmdTests 34 | { 35 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 36 | { 37 | settings.ConnectionProtocol = MySqlConnectionProtocol.SharedMemory; 38 | settings.SslMode = MySqlSslMode.None; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/CmdTestsSharedmemCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | namespace MySql.Data.MySqlClient.Tests 31 | { 32 | public class CmdTestsSharedMemCompressed : CmdTests 33 | { 34 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 35 | { 36 | settings.ConnectionProtocol = MySqlConnectionProtocol.SharedMemory; 37 | settings.SslMode = MySqlSslMode.None; 38 | settings.UseCompression = true; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/MediumTrust/MediumTrustFixtureAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System; 30 | using System.Collections.Generic; 31 | using System.Text; 32 | using Xunit; 33 | 34 | namespace MySql.Data.MySqlClient.Tests.Xunit 35 | { 36 | class MediumTrustFixtureAttribute : RunWithAttribute 37 | { 38 | public MediumTrustFixtureAttribute() 39 | : base(typeof(MediumTrustTestClassCommand)) 40 | { } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/OutputParametersBatchPrepared.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.MySqlClient.Tests 30 | { 31 | public class OutputParametersBatchPrepared : OutputParametersBatch 32 | { 33 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 34 | { 35 | settings.AllowBatch = true; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/OutputParametersNoBatch.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.MySqlClient.Tests 30 | { 31 | public class OutputParametersNoBatch : OutputParametersBatch 32 | { 33 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 34 | { 35 | settings.AllowBatch = false; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/OutputParametersNoBatchPrepared.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.MySqlClient.Tests 30 | { 31 | public class OutputParametersNoBatchPrepared : OutputParametersBatch 32 | { 33 | 34 | public OutputParametersNoBatchPrepared() 35 | { 36 | prepare = true; 37 | } 38 | 39 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 40 | { 41 | settings.AllowBatch = false; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/PSPipe.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.MySqlClient.Tests 30 | { 31 | public class PSPipe : PreparedStatements 32 | { 33 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 34 | { 35 | settings.ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; 36 | settings.SslMode = MySqlSslMode.None; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/PSPipeCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework.Internal; 30 | 31 | namespace MySql.Data.MySqlClient.Tests 32 | { 33 | public class PSPipeCompressed : PreparedStatements 34 | { 35 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 36 | { 37 | settings.ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; 38 | settings.UseCompression = true; 39 | settings.SslMode = MySqlSslMode.None; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/PSSharedMemory.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework.Internal; 30 | 31 | namespace MySql.Data.MySqlClient.Tests 32 | { 33 | public class PSSharedMemory : PreparedStatements 34 | { 35 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 36 | { 37 | settings.ConnectionProtocol = MySqlConnectionProtocol.SharedMemory; 38 | settings.SslMode = MySqlSslMode.None; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/PSSharedMemoryCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework.Internal; 30 | 31 | namespace MySql.Data.MySqlClient.Tests 32 | { 33 | public class PSSharedMemoryCompressed : PreparedStatements 34 | { 35 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 36 | { 37 | settings.ConnectionProtocol = MySqlConnectionProtocol.SharedMemory; 38 | settings.UseCompression = true; 39 | settings.SslMode = MySqlSslMode.None; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/StressTestsPipe.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.MySqlClient.Tests 30 | { 31 | public class StressTestsPipe : StressTests 32 | { 33 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 34 | { 35 | settings.ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; 36 | settings.SslMode = MySqlSslMode.None; 37 | } 38 | } 39 | } 40 | 41 | 42 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/StressTestsPipeCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework.Internal; 30 | 31 | namespace MySql.Data.MySqlClient.Tests 32 | { 33 | public class StressTestsPipeCompressed : StressTests 34 | { 35 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 36 | { 37 | settings.ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; 38 | settings.UseCompression = true; 39 | settings.SslMode = MySqlSslMode.None; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/StressTestsSharedMemory.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework.Internal; 30 | 31 | namespace MySql.Data.MySqlClient.Tests 32 | { 33 | public class StressTestsSharedMemory : StressTests 34 | { 35 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 36 | { 37 | settings.ConnectionProtocol = MySqlConnectionProtocol.SharedMemory; 38 | settings.SslMode = MySqlSslMode.None; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/StressTestsSharedMemoryCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using NUnit.Framework.Internal; 30 | 31 | namespace MySql.Data.MySqlClient.Tests 32 | { 33 | public class StressTestsSharedMemoryCompressed : StressTests 34 | { 35 | public StressTestsSharedMemoryCompressed() : base() 36 | { 37 | } 38 | 39 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 40 | { 41 | settings.ConnectionProtocol = MySqlConnectionProtocol.SharedMemory; 42 | settings.UseCompression = true; 43 | settings.SslMode = MySqlSslMode.None; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/TimeoutAndCancelCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.MySqlClient.Tests 30 | { 31 | public class TimeoutAndCancelCompressed : TimeoutAndCancel 32 | { 33 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 34 | { 35 | settings.UseCompression = true; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/TimeoutAndCancelPipe.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.MySqlClient.Tests 30 | { 31 | public class TimeoutAndCancelPipe : TimeoutAndCancel 32 | { 33 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 34 | { 35 | settings.ConnectionProtocol = MySqlConnectionProtocol.NamedPipe; 36 | settings.SslMode = MySqlSslMode.None; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Framework/netstandard2_0/TimeoutAndCancelSharedMemory.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | 31 | using NUnit.Framework.Internal; 32 | 33 | namespace MySql.Data.MySqlClient.Tests 34 | { 35 | public class TimeoutAndCancelSharedMemory : TimeoutAndCancel 36 | { 37 | public TimeoutAndCancelSharedMemory() : base() 38 | { 39 | } 40 | 41 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 42 | { 43 | settings.ConnectionProtocol = MySqlConnectionProtocol.SharedMemory; 44 | settings.SslMode = MySqlSslMode.None; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/PreparedStatementCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | namespace MySql.Data.MySqlClient.Tests 30 | { 31 | public class PreparedStatementsCompressed : PreparedStatements 32 | { 33 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 34 | { 35 | settings.UseCompression = true; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Resources/image1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/MySQL.Data/tests/MySql.Data.Tests/Resources/image1.jpg -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Resources/my.ini: -------------------------------------------------------------------------------- 1 | [mysqld] 2 | basedir=pathToYourMySQLCommercialServer 3 | datadir=pathToYourMySQLCommercialServer\\data 4 | log-error=pathToYourMySQLCommercialServer\\data\\error.log 5 | log_error_verbosity=3 6 | 7 | plugin-load-add=authentication_ldap_simple.dll 8 | authentication_ldap_simple_server_host=100.103.18.98 9 | authentication_ldap_simple_bind_base_dn="dc=MYSQL,dc=local" 10 | authentication_ldap_simple_log_status=5 11 | authentication_ldap_simple_group_search_attr='cn' 12 | authentication_ldap_simple_auth_method_name='simple' 13 | authentication_ldap_simple_user_search_attr='cn' 14 | 15 | ### SCRAM-SHA-1 16 | plugin-load-add=authentication_ldap_sasl.dll 17 | authentication_ldap_sasl_server_host=10.172.166.126 18 | authentication_ldap_sasl_bind_base_dn="dc=my-domain,dc=com" 19 | authentication_ldap_sasl_auth_method_name='SCRAM-SHA-1' 20 | authentication_ldap_sasl_log_status=6 21 | authentication_ldap_sasl_group_search_attr='' 22 | authentication_ldap_sasl_user_search_attr='cn' 23 | 24 | ### SCRAM-SHA-256 25 | plugin-load-add=authentication_ldap_sasl.dll 26 | authentication_ldap_sasl_server_host=100.103.19.5 27 | authentication_ldap_sasl_bind_base_dn="dc=my-domain,dc=com" 28 | authentication_ldap_sasl_auth_method_name='SCRAM-SHA-256' 29 | authentication_ldap_sasl_log_status=6 30 | authentication_ldap_sasl_group_search_attr='' 31 | authentication_ldap_sasl_user_search_attr='cn' 32 | 33 | ### GSSAPI 34 | plugin-load-add=authentication_ldap_sasl.so 35 | authentication_ldap_sasl_server_host='ldapauth.appad3iad.mysql2iad.oraclevcn.com' 36 | authentication_ldap_sasl_bind_base_dn='CN=Users,DC=mysql,DC=local' 37 | authentication_ldap_sasl_auth_method_name='GSSAPI' 38 | authentication_ldap_sasl_bind_root_dn='CN=test2,CN=Users,DC=mysql,DC=local' 39 | authentication_ldap_sasl_log_status=6 40 | authentication_ldap_sasl_group_search_attr='cn' 41 | authentication_ldap_sasl_bind_root_pwd='Testpw1' 42 | 43 | ### KERBEROS 44 | plugin-load-add = authentication_kerberos.so 45 | authentication_kerberos_service_principal = "mysql_service/kerberos_auth_host@MYSQL.LOCAL" 46 | authentication_kerberos_service_key_tab = "{full_path_to:mysql.keytab}" -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/Resources/mysql.keytab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/MySQL.Data/tests/MySql.Data.Tests/Resources/mysql.keytab -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/StressTestsCompressed.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2013, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | 31 | namespace MySql.Data.MySqlClient.Tests 32 | { 33 | public class StressTestsCompressed : StressTests 34 | { 35 | internal override void AdjustConnectionSettings(MySqlConnectionStringBuilder settings) 36 | { 37 | settings.UseCompression = true; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/ca-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAomMhbXZPj/DaXNd3QNtoCHG3jDf3UmSRul6X16d/tZ666FPA 3 | 9lQyBBCSfokzrGkDf0DdqcvKK+Qv/NM6uLl86Z7zdMHH2NXY2fYsH4vPEL/k7mxb 4 | 8DqWQBZTS7nJpGcSE9wK8LGq7EesnJcvHfY9RJQHfSL35uinB2PXmGLYCerpIb/v 5 | b23tSHZkiuLwtKTlHOkFrx3To/gbto+ew0/w6FGsKL/PtXr6srIDOXSeu3Y6VLey 6 | N/h11k/WI29rdCZ2dftm1XW74k+SPZy2MLkYdkZ8+z7dolIiRh6KO0ig9ymx5wCb 7 | yDaY5RjPYeiBSpMUrWgC+83I2gDdgZRkCxO02wIDAQABAoIBAByCbvH63YkV7iBy 8 | q7s1ShSBcoopoUBT68nepaX1AFTwozv6yFv2+DkCd9XDXNEeNsD2sHQJFVuTWmF2 9 | 7E5WMnoJsBCFnQKSuNm7gI+hSh9UsWqyl4mbn5ls0f7vhVlZxzC5ZypO5wVIqCNt 10 | 35XRD3ykyJPNudxOaFTB0K4uXGORFPlMvSjqKTRoXeIPk8pOQItzagXk+fOQtMK8 11 | i8Z98pqHXMPvccOwKCqMEkPXwbbARi7n9i+//H57kat4OOGtIjv/HK1U+Y1iEPqG 12 | bD3Dq/zFKkvblL1TutOaScRGFZJZOFTMldYygLUuNjfnKrs62tUUJG2CcpBL8V9a 13 | GKX9YmECgYEAy/3vwejAo04ZYHSxrFr/EwQ0unh4+7V94Z7YF828r5q8mCC1SRZU 14 | jdXHBnI73IJUGRpm4hzLqo9eYnMJByQzgVf1EASKhyhvUnGWcf6gLkFbxtPTH242 15 | JwCxQ54pTpQJj8yTPcHohTK5jXvANncOgh9rTQOfr1KNK/KKDUPIMJkCgYEAy8nB 16 | K+6NM/BFjwvKs4KV3w1bqhmFB8zHBizefxq81jqgcOpbHo8Wf33/Th+YZVftM0SX 17 | c8cz0cNy2agUxhPrkp3tlTzV3xpbdSM13N2vgN5uObaerjVYRgsnSy9CQbDNZTTi 18 | KWjzXmq1gkkuJug4CJxWpz+JRouI1na2JdQFVZMCgYAwST6sfsTCoyT8oQLBkpSY 19 | UsGMdiHlKxPOCUSLdea5Bn6n3+4pi8CeBkFjND0ZODxh6M77rOdEy0UDNsmnSBls 20 | /34BuaF01sxrDnoXJ7eQ22W3DcMGyJbG6rILGHAcqowM3tbnonPAu74SUH2yJsJn 21 | aLqEc1wkKv1Brtqgwy+q2QKBgGTLepcfG4on+k+hVnXpTfWQJtmAW9MazwnX4Yje 22 | ka4oOzj+QWlg/pC6oi9i4z6k+baU45ApZBEJaeIMB5JdQfQ31s4s09/QqpHKg5al 23 | s2u7GKvFDsE9s1aZp6rBSjUxnLXFLWOr/Euj3fj99yzZSPXBVf7NJznURC9HchpN 24 | vwGvAoGBAJ6ogFYZjB7hU+zj31wHedUG/mvgRoFGmr5DIefuHWTZ6bXuLC53UD4q 25 | 1CG/ShuGnQwTLEDFCO3hvR3IslKwbnSjY1IP3rgNyQAWWyFQDTc2hQz9YYpLeVPS 26 | xTdUFHISw38TN4mqzXqzNMtYbl3Sl7YYy+HryTcJR2hKaVW0sTvS 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/ca.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR 3 | TF9TZXJ2ZXJfOC4wLjEyX0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X 4 | DTE4MDUyMTE3MjgwNloXDTI4MDUxODE3MjgwNlowPDE6MDgGA1UEAwwxTXlTUUxf 5 | U2VydmVyXzguMC4xMl9BdXRvX0dlbmVyYXRlZF9DQV9DZXJ0aWZpY2F0ZTCCASIw 6 | DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKJjIW12T4/w2lzXd0DbaAhxt4w3 7 | 91Jkkbpel9enf7WeuuhTwPZUMgQQkn6JM6xpA39A3anLyivkL/zTOri5fOme83TB 8 | x9jV2Nn2LB+LzxC/5O5sW/A6lkAWU0u5yaRnEhPcCvCxquxHrJyXLx32PUSUB30i 9 | 9+bopwdj15hi2Anq6SG/729t7Uh2ZIri8LSk5RzpBa8d06P4G7aPnsNP8OhRrCi/ 10 | z7V6+rKyAzl0nrt2OlS3sjf4ddZP1iNva3QmdnX7ZtV1u+JPkj2ctjC5GHZGfPs+ 11 | 3aJSIkYeijtIoPcpsecAm8g2mOUYz2HogUqTFK1oAvvNyNoA3YGUZAsTtNsCAwEA 12 | AaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAlUbeLbXd 13 | XdBK5ARZckvmITywP/yc40sIoKEUF6GR7vouiIKX4QliQqqi0FHyKDErog2KRMQX 14 | fbKSQLY19ZtSRJSLmO4xrUwEV9XhQ8xTUhiNbvu/B9Rny/CF4435mQ/NKLmKWD8Y 15 | 9v7MG0mIbnIYxgBm+eD6DKRlr9qHrFFFObLeWvBER6ldrlrc9tcF4woAqaoaHfSJ 16 | qLj9uhES5rWug/Zs1ZMAVcuKkZppZcc6PokNlTcM/dDT4YLge3xnWYAkirXb6lq+ 17 | Dsy004pI9O8VJS1dntPnr5N2pERFq77akv1sx33LS49ACs0wq1CdPRMYjrrPO99J 18 | oHk+0MTU9igKFg== 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/ca_dummy.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/MySQL.Data/tests/MySql.Data.Tests/certificates/ca_dummy.pem -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/client-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDBzCCAe+gAwIBAgIBAzANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR 3 | TF9TZXJ2ZXJfOC4wLjEyX0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X 4 | DTE4MDUyMTE3MjgwN1oXDTI4MDUxODE3MjgwN1owQDE+MDwGA1UEAww1TXlTUUxf 5 | U2VydmVyXzguMC4xMl9BdXRvX0dlbmVyYXRlZF9DbGllbnRfQ2VydGlmaWNhdGUw 6 | ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz8eisgUPB4Eg6v0ouQLb0 7 | EDzlksaYQhexhffhizcVULPcFjLNImm7g7jU0ZV7pAcAincx+G6UEdHvnXh4nlAj 8 | 2jbir1xh9uUSIpvs8BIoPLdd+2z2ahJPh2D8sT1gwoORt5NZl4z8bmc8D1ut7MPl 9 | MMnFxy4rdtrMA8iUkSgDjP5oLyuebi42NqVQ+6mX1UfoMg3VuMmZmJDoIzGKamry 10 | ptOBX417TefK9tDiJ/14rT6o3pE9F7M35kSIXf88aH+emNdprrjzcJlQLsI5reJv 11 | B7nt25uQHB19TOyo26FSLLSILXIHCe8GdNWxUwZatggnLSlBFdymQ6lIdg3IxaX3 12 | AgMBAAGjEDAOMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBAFsZYBLU 13 | Bd9M0Ndc62GNbVACTsmuRIBT4v0BDAZlnSPN231N/vMzbFkc8nmiBx6aeyRFxus5 14 | cw2G5+OhNecQFuO6TJMj1ifqdPaSYdjqSahKmq65YxNbteb/WeRAWAJ/qPfbREY2 15 | 2ogjLir2Unglfu2wgYqXszbTOiS+9paojhopcB4T2LCN3PmZgQsbXQqsqAL2QhPM 16 | FN91PlY9HeyuWPrime4JFXwxTiI5w+Hjxjrdb8dYQeuDddfU4xj9cK73j6UEsCiV 17 | vFlD6YSIeFh28bFb5+DP366oP8ABs7DhZkVhijoR3xTvvV5Ouooh6WMUc9AS7imO 18 | OiHrU6WcYuJD6aM= 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/client-cert_dummy.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/MySQL.Data/tests/MySql.Data.Tests/certificates/client-cert_dummy.pem -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/client-incorrect.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/MySQL.Data/tests/MySql.Data.Tests/certificates/client-incorrect.pfx -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/client-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAs/HorIFDweBIOr9KLkC29BA85ZLGmEIXsYX34Ys3FVCz3BYy 3 | zSJpu4O41NGVe6QHAIp3MfhulBHR7514eJ5QI9o24q9cYfblEiKb7PASKDy3Xfts 4 | 9moST4dg/LE9YMKDkbeTWZeM/G5nPA9brezD5TDJxccuK3bazAPIlJEoA4z+aC8r 5 | nm4uNjalUPupl9VH6DIN1bjJmZiQ6CMximpq8qbTgV+Ne03nyvbQ4if9eK0+qN6R 6 | PRezN+ZEiF3/PGh/npjXaa6483CZUC7COa3ibwe57dubkBwdfUzsqNuhUiy0iC1y 7 | BwnvBnTVsVMGWrYIJy0pQRXcpkOpSHYNyMWl9wIDAQABAoIBAHuOd307pRLStcXg 8 | 40avGPCs1aOtDMAvYaV7n6E2vjPcniNY+rjwEDm5UIiRAFtNXaF5ci7VrtftBIHL 9 | VpU73zs+8sDkOELsDI5PRVGD5nPKfP4DTeZFHx2Mj4PzD3oJFd5QdtTlwuDxzeDn 10 | isP59ujAf0tWYNVnXwUG9AtPQHJujgf7FMRBzAafht+Ncti4HyqlwsyyngdCc/tb 11 | E1BNHJwQ3+joaCdE3AeQDzI46R3j1Ih2fiy+8niInxp9CHYYyXcGNCq7u8BoWGNz 12 | 8JUqdsYWZsywoCBVgID0zYZRQp0S+/1M5es7PKAwPpRRPjOlHdAReCaJbyKxC5NI 13 | Ga5GQkECgYEA55BYjq6Zu1X6VpqVKm+EbKS/fe+AsbdpYjtUk3yQ90FlM3pJxVHL 14 | 9vMDfOMDdcYx9sHjbJYxaKx8I6PghomJTCnt2m+oeeCWW0hQd6eu2hbZedFWzVCh 15 | 21VtVym4AGAgnw8I5q2IUIE7Eb6dJn4WG0bDm0njJxLFmc1YbeuIMFUCgYEAxu8W 16 | kxw2HS0VaOL6B7OEd3zDcyr0oVym51N5YfXRL7zUmncWDIWMTG6o+FME4X9YLZKK 17 | a36MLwNo5tkiYxApnTmBX3UWRmCbkaiWxTdpakf+qdyUNN68BGfsPqTIpY01T5bb 18 | QM08CJZbCoKGzThPi1zAtQOdFP1OAraT7NUvWRsCgYEAj+NG0+o0ho7HTpchh0vi 19 | OmwovUVcb5GrfymkxTyLC8jr7I/ZVS4dkmawzSJ23PD5zP3vpmKxcvxy6uaCtrax 20 | xMztCmWFh64BX9lQfvmIEeZO3n4w9MVcveCYX6gBuOICgzOhcU11Paj/nmgWWHvS 21 | msJe+5hu+LGWbZqGj07iwj0CgYAIbGFBU2V7MMiCS3IY12IZiR/hhYUcPAcZLnCq 22 | VDVKVy2NaNN3LkR1jA39jc5cGf9K1rSjvpUC/Jr5g2IwXaPVc3Tl7NhHnJmZvlC8 23 | Aw+kn23KFXv1DSVa7meTc3jHgcYrG5EnGkmbd3pdZI9+qw67MO87+u4w0FT4SnDT 24 | C2fY1wKBgEshA37mBi6dG2z243qF1AjtnhStG3Em+09AZXN9i2CPbW0iwbkPU1qV 25 | PA/yjgleyljA6JfEVm1HZVppt2z6y5sX5bzeDJiFeChdxJ5pwbBazfNVAUUx77M6 26 | 5l8ZFdN0JxogTyKhz+oU6/MuBkBF0m3VfdQ8nojTzAV1e8rq3Sng 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/client-key_altered.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEA2aoCGG5wFcadjsLnIaz3KsyJrkRzXBjntIhuBwkV/A8s3iumX 3 | QHn8DEvaRD9FtkrfO/UMHFAO0oGfsjKZNq3Xa+7CtVFMjPDHWeBjMifT2OIU76REn 4 | 1gteh37sdT9kk2ZobXPipUKEzI8ccxyO5eM8xXW+ViszTD4vWjSdOFjywL0G2NwK8 5 | Nlosmc6mWGeMUh54UO/Kd8mdZDLyjNbAMFLERoyBHP0sY0jiQT1ZwowkHiOqSOfcV 6 | f+/gi3+wKL0vPXeIIiOQaNv3KwKka5ncWzzy5xsZsSIVXtRsVqV54R8Wz8k/CuiZ 7 | +XPhLE3sZAHB+xuzr3hLB0bpTNnPdxyY0b3wGQIDAQABAoIBAFJR++zlh7qUnW4q 8 | xGN2GRy0srWX6dFBEhCzMHm0s/3ae3UsFyopeGvmHCyHiYQCGR+B9AyZMqHmqEL3 9 | epSIRsEPAdC1aLA9OAgD10BW08ZI6wYfKFzjan+u6zVSvmUI7CHJHETIPZVn4qiee 10 | mTzZjs5/43aPbB0/vs4TsNTHkYhsG388lgzLaMkiER429k6uT/aNJxh2nOIgwQnTzw+ 11 | +8NFR0W7m8ipnDo6e8xh3Qhuq++RtdAKuQanFjhqGF1S1PEfAuplGPvDcHa5uJO9 12 | YdOuWdDNlwe3MoejsvNZiSFx8DM4fQNuT6daURATM02QD6lgGs1fI6AcFB77qnAP 13 | LAzr+QECgYEA9sESq4IZfBhn1aVAste4Nadsdtifdc1d5RXI7VZb8zan3UXd9L4aS 14 | VAumstgfDeF52alsowljsO+SOiHTnLnG2NukD9Op4jIB+bt9HJhAZHFTXRkDsOc0 15 | vB6I8lBe0jpPRJmOUaK8Cp9/dbKdbwVpO12C1mDz4G9r3aju+gTuDhECgYEA4dHl 16 | V+o3OL2tlI33QNM5BqiYTyDly9kElYsoBz+sF1HSaSxi6y3K0PY6M4PKOtaY5qAAa 17 | T5SE/QaTU8izzMRjSH5ALMTolSWEIkvoDth9DA/yvavTNtFFiuVay/SeTfNIJAPNV 18 | FiVpHFMhQzqZ3+LsKaTLFAZcaRLPFDOrUOGs2YkCgYB9CwxmA3DctRVxa+PkfXLp 19 | JZ5Un9EWET7wVVoCHpiPtFETZKT4v45JrvnT6bea9ickiTn3SNvPHyiP8vJkmrRM 20 | 0slKB+4wJT1hC4T0R6dh/xfKttFrBU9xAVxOxzG2ATyIO/SmI/x8uaUCxPgI+coA 21 | /ns+HjWYB362/lPUOUlVsQKBgHf9NpbDPfppVv1Tfei1E10FYoDRIylws+3ded8H 22 | q35bQszaZA7McRcwUo0IdWnx3Dr3awOUECH+R3RCdb89LuALLYBcVJVDbPVoTfLt 23 | d2xcYQi0PUUt5X5DojG/wK+XTu9xXGm7ESHazhbR4YdEJWZvSPTn+FxggSXj2ojM 24 | kTK5AoGALrc/P7gGTWEEvpPF6a+yfbtQT7W2dSVsBj3/REhS47DIs3Jlys9eaD2/A5 25 | Q6nmA5Har2Ox9EoF1d1aJ4PMyW6dO6UnqyscYouDaAufyg4qgddphCC58029+mkoq 26 | CLuE77qvzNNt08XcoBCWsMCDk+GeNRj1psn/Libc/Q1i96luFeM= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/client-key_dummy.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/MySQL.Data/tests/MySql.Data.Tests/certificates/client-key_dummy.pem -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/server-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDBzCCAe+gAwIBAgIBAjANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR 3 | TF9TZXJ2ZXJfOC4wLjEyX0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X 4 | DTE4MDUyMTE3MjgwN1oXDTI4MDUxODE3MjgwN1owQDE+MDwGA1UEAww1TXlTUUxf 5 | U2VydmVyXzguMC4xMl9BdXRvX0dlbmVyYXRlZF9TZXJ2ZXJfQ2VydGlmaWNhdGUw 6 | ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTnlQM1wbraw+mzz0M1u1l 7 | ERTlVkLPcURCLRt6Yiw5YfUVefvV3Q56fEkn7ZX5Xsd9DFlRE6+/9StwrcPZ9L3J 8 | 4F7PmKpjkSGNZxPK9ep9HUGkAk+7pyra3OeENFAGT+h94gY/USiO0GQyZ/7JQV3b 9 | TacOLZSDDfEru5IOzRqbONAgTcXpji3FAF9j11ZqHLbImp9fKMQZv5M8zfwk0o+0 10 | QDMLzSI+0NiECmPY9tA06SVyww5Xhj+QLGa+UfIINaWFwCm4QHloZD9fVUurg3TY 11 | VDtQMRe4zbwQThvoAmC2O19CYxZpEX1pbkF2vcyGnVKOHYrA2mzwhCKnsHBwQgV5 12 | AgMBAAGjEDAOMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBAIZKLwKn 13 | 1ZgXXVfJI13GBjfnSfJgDpjjUXh7F/zi/gA8VZOVZXF+sseHx1hsLidY2jIr7kPe 14 | KC6hpXI7dwV7CLKu0YK8JtWtlZE5uTOyXfEkNMiW6ktOsYrZB7UJWmgIGk/AQ1wh 15 | 7kdWaAu0OyRU/Dah+B7KiqMAC297zCXsdqYCQXXdHVSodmR/FSq4PA9i7vY0Svor 16 | r9cgmvdmTClxuJZ/p0fC1D29rgA/veUWNNUThlCoRLS3wCZV71Q/WMTq24IFfw4J 17 | XnzrCAWzFbk/vIdnEhbudaRmGHePfgK8nN5lpM7MjP6VwyPO/alaNMlu/rD42YSf 18 | fuf0YmbqsrbO2HY= 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/certificates/server-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA055UDNcG62sPps89DNbtZREU5VZCz3FEQi0bemIsOWH1FXn7 3 | 1d0OenxJJ+2V+V7HfQxZUROvv/UrcK3D2fS9yeBez5iqY5EhjWcTyvXqfR1BpAJP 4 | u6cq2tznhDRQBk/ofeIGP1EojtBkMmf+yUFd202nDi2Ugw3xK7uSDs0amzjQIE3F 5 | 6Y4txQBfY9dWahy2yJqfXyjEGb+TPM38JNKPtEAzC80iPtDYhApj2PbQNOklcsMO 6 | V4Y/kCxmvlHyCDWlhcApuEB5aGQ/X1VLq4N02FQ7UDEXuM28EE4b6AJgtjtfQmMW 7 | aRF9aW5Bdr3Mhp1Sjh2KwNps8IQip7BwcEIFeQIDAQABAoIBAQCetiBTgPGvnpwe 8 | f09KUee55RXG6uswqcKH30y8fOSuJMmrUdGOlDxHoO89AvN4E52KK7jRFfK6BSaP 9 | W8OHtAajYaO6DsW75x1C8AvoLIexTj/swc8K7lU10HfSr2lVUpkL0HjfA/9nHOQI 10 | 6fYs+tlpoNOpzoWTxOEb65GfiDRsNNIId2Zs/PQlLGROs0xmPTweGHBfBL+jH7zw 11 | Sowjp6jPkf2+2O8tTUXGHYoRIFGXSSJ089HlhWwJXwak/sBHS9Tvk6hY8kBkL7O5 12 | TF++0eBqstW5RBZ+bl+MvKZbYYy/3MyIN4Nh0Jgmdo9QtCMnYLfseV2qZ7gdLXpr 13 | brsQnwABAoGBAPg9YdNAPi+RFkOk3CrD4+jr+CGYoS0gE3O5H/I76mDBWQGyDrD3 14 | DTYT05JKiMQrUqbqJSxSRvVJ1RSa+ixZahm3Rjt/DA+d3MYp1qhMKclFezbp58/K 15 | tUL5CucmcIB/5hWirsCgpRCPOsQ5boYoZ1B8OIh+5ORzWAlCUQC8woGJAoGBANo7 16 | 317OINIGaWRwMQeEK/Vi3Gp8lhjEgkoY+WQAox5T7h+YoDPqHbOrsmalit2/ctw1 17 | 1YOOIDLdSJId+z6mu2Yp7nj9u51XR1lUKSylwiyXagPWJt2VZ1EdyEX23Kq0czkZ 18 | BEZRUco7dTWI9VaO24MATfS87lp2pKSZfecJshhxAoGAI8pt1VB45tDLXftiBwRx 19 | Ur7a6rUf3+q1A0VYtssusr6Nv7HVbmxgSkC3i2sVpvr8ErbFn0tJkcoQX8UsdsJ5 20 | irWi+acKrSG8mBGmMmOwzqUm67bzxkDau4o+qS8gn1ZRbSMkgP9obSfJeEszhUJE 21 | CxWt7Pgmtk1vDv6xwSJ2BMkCgYACbkxMqAshi8S8w6soJEbBEvrVjNG3MOkqniCZ 22 | BpDKk7DBVVfjfCYcjDsOfaWQVsOWxFq+fmTJbEGUrxTPW9gWiT0Ix/rBA+nditxy 23 | jN4e1QjvRgFk0nc2JhjG/rryg9QMvMSZa+p3UDY8BGyHLEwxp1027qvRAiVPWA5Y 24 | 9nivYQKBgQDgzVdIDXcoZ99RrRCYsl0AM1oLWyaf/x35N08ze1pnVQBSs2d7oZW2 25 | yBJ4r0B27nOmj9XOhe18WeMB5Cby5iBeFDZwFjDGyvy04DTulOhbyx7bu4MvZbEF 26 | xy3ojMf+Xxin+29PCc6i+OLTGlL2MZEsSgWZPmuD9wRm4cQGNh5V0A== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /MySQL.Data/tests/MySql.Data.Tests/client.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/MySQL.Data/tests/MySql.Data.Tests/client.pfx -------------------------------------------------------------------------------- /MySQL.Data/tests/MySqlX.Data.Tests/CrudUpdateTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mysql/mysql-connector-net/e06e563add3ad67c9288bb3abd93ea9f9a10d9c9/MySQL.Data/tests/MySqlX.Data.Tests/CrudUpdateTests.cs -------------------------------------------------------------------------------- /MySQL.Data/tests/MySqlX.Data.Tests/Properties/CreateUsers.sql: -------------------------------------------------------------------------------- 1 | DROP USER IF EXISTS 'test'; 2 | DROP USER IF EXISTS 'testNoPass'; 3 | DROP USER IF EXISTS 'testSha2'; 4 | DROP USER IF EXISTS 'testAnyhost'; 5 | CREATE USER 'test'@'%' identified by 'test'; 6 | GRANT ALL PRIVILEGES ON *.* TO 'test'@'%'; 7 | CREATE USER 'testNoPass'@'%'; 8 | CREATE USER 'testSha2'@'%' identified with caching_sha2_password by 'mysql'; 9 | GRANT ALL PRIVILEGES ON *.* TO 'testSha2'@'%'; 10 | CREATE USER 'testAnyhost'@'%' identified by 'test'; 11 | GRANT ALL PRIVILEGES ON *.* TO 'testAnyhost'@'%'; 12 | FLUSH PRIVILEGES; -------------------------------------------------------------------------------- /MySQL.Data/tests/MySqlX.Data.Tests/Resources/TableScripts.txt: -------------------------------------------------------------------------------- 1 | DROP SCHEMA IF EXISTS `{0}`; 2 | CREATE SCHEMA `{0}`; 3 | USE `{0}`; 4 | 5 | CREATE TABLE `{1}` ( 6 | `employee_id` INT NOT NULL AUTO_INCREMENT, 7 | `name` VARCHAR(450) NOT NULL, 8 | `age` TINYINT UNSIGNED NULL, 9 | PRIMARY KEY (`employee_id`)); 10 | 11 | INSERT INTO `{1}` 12 | (`name`, `age`) 13 | VALUES 14 | ('jonh doe', 38); 15 | 16 | INSERT INTO `{1}` 17 | (`name`, `age`) 18 | VALUES 19 | ('milton green', 45); 20 | 21 | 22 | CREATE TABLE `{2}` ( 23 | `employee_id` INT NOT NULL AUTO_INCREMENT, 24 | `name` VARCHAR(450) NOT NULL, 25 | `age` TINYINT UNSIGNED NULL, 26 | PRIMARY KEY (`employee_id`)); 27 | -------------------------------------------------------------------------------- /MySql.Web/MySql.Web.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26403.7 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MySql.Web", "src\MySql.Web.csproj", "{D5EBEF6A-8841-4796-B061-26BDC7458818}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MySql.Data", "..\MySQL.Data\src\MySql.Data.csproj", "{1745969D-2A70-41AD-9020-A219BA019F73}" 9 | EndProject 10 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MySql.Web.Tests", "tests\MySql.Web.Tests.csproj", "{4306517D-FEBB-4052-B48F-FDD8E0EF0484}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | Debug|Any CPU = Debug|Any CPU 15 | Release|Any CPU = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {D5EBEF6A-8841-4796-B061-26BDC7458818}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {D5EBEF6A-8841-4796-B061-26BDC7458818}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {D5EBEF6A-8841-4796-B061-26BDC7458818}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {D5EBEF6A-8841-4796-B061-26BDC7458818}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {1745969D-2A70-41AD-9020-A219BA019F73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {1745969D-2A70-41AD-9020-A219BA019F73}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {1745969D-2A70-41AD-9020-A219BA019F73}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {1745969D-2A70-41AD-9020-A219BA019F73}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {4306517D-FEBB-4052-B48F-FDD8E0EF0484}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {4306517D-FEBB-4052-B48F-FDD8E0EF0484}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {4306517D-FEBB-4052-B48F-FDD8E0EF0484}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {4306517D-FEBB-4052-B48F-FDD8E0EF0484}.Release|Any CPU.Build.0 = Release|Any CPU 30 | EndGlobalSection 31 | GlobalSection(SolutionProperties) = preSolution 32 | HideSolutionNode = FALSE 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /MySql.Web/src/Properties/VersionInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | using System.Reflection; 30 | using System.Resources; 31 | 32 | // 33 | // Version information for an assembly consists of the following four values: 34 | // 35 | // Major Version 36 | // Minor Version 37 | // Build Number 38 | // Revision 39 | // 40 | // You can specify all the values or you can default the Revision and Build Numbers 41 | // by using the '*' as shown below: 42 | 43 | [assembly: AssemblyVersion("9.3.0")] 44 | [assembly: AssemblyInformationalVersion("9.3.0.0")] 45 | [assembly: AssemblyFileVersion("9.3.0.0")] 46 | [assembly: NeutralResourcesLanguage("en-US")] 47 | -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema1.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE mysql_Membership(`PKID` varchar(36) NOT NULL, 2 | Username varchar(255) NOT NULL, 3 | ApplicationName varchar(255) NOT NULL, 4 | Email varchar(128) NOT NULL, 5 | Comment varchar(255) default NULL, 6 | Password varchar(128) NOT NULL, 7 | PasswordQuestion varchar(255) default NULL, 8 | PasswordAnswer varchar(255) default NULL, 9 | IsApproved tinyint(1) default NULL, 10 | LastActivityDate datetime default NULL, 11 | LastLoginDate datetime default NULL, 12 | LastPasswordChangedDate datetime default NULL, 13 | CreationDate datetime default NULL, 14 | IsOnline tinyint(1) default NULL, 15 | IsLockedOut tinyint(1) default NULL, 16 | LastLockedOutDate datetime default NULL, 17 | FailedPasswordAttemptCount int(10) unsigned default NULL, 18 | FailedPasswordAttemptWindowStart datetime default NULL, 19 | FailedPasswordAnswerAttemptCount int(10) unsigned default NULL, 20 | FailedPasswordAnswerAttemptWindowStart datetime default NULL, 21 | PRIMARY KEY (`PKID`)) DEFAULT CHARSET=latin1 COMMENT='1'; 22 | 23 | CREATE TABLE mysql_UsersInRoles(`Username` varchar(255) NOT NULL, 24 | `Rolename` varchar(255) NOT NULL, `ApplicationName` varchar(255) NOT NULL, 25 | KEY `Username` (`Username`,`Rolename`,`ApplicationName`) 26 | ) DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; 27 | 28 | CREATE TABLE mysql_Roles(`Rolename` varchar(255) NOT NULL, 29 | `ApplicationName` varchar(255) NOT NULL, 30 | KEY `Rolename` (`Rolename`,`ApplicationName`) 31 | ) DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; 32 | 33 | -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema10.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE my_aspnet_personalizationperuser( 2 | id INT PRIMARY KEY AUTO_INCREMENT, 3 | applicationId INT NOT NULL, 4 | pathId VARCHAR(36) DEFAULT NULL, 5 | userId INT, 6 | pageSettings BLOB NOT NULL, 7 | lastUpdatedDate DATETIME NOT NULL)DEFAULT CHARSET=latin1 ; 8 | 9 | 10 | CREATE TABLE my_aspnet_personalizationallusers( 11 | pathId VARCHAR(36) PRIMARY KEY, 12 | pageSettings BLOB NOT NULL, 13 | lastUpdatedDate DATETIME NOT NULL)DEFAULT CHARSET=latin1 ; 14 | 15 | CREATE TABLE my_aspnet_paths 16 | ( 17 | applicationId INT NOT NULL, 18 | pathId VARCHAR(36) PRIMARY KEY, 19 | path VARCHAR(256) NOT NULL, 20 | loweredPath VARCHAR(256) NOT NULL 21 | )DEFAULT CHARSET=latin1 ; 22 | 23 | UPDATE my_aspnet_schemaversion SET version=10; -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema11.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS webpages_membership ( 2 | UserId int NOT NULL primary key, 3 | CreateDate datetime NULL, 4 | ConfirmationToken nvarchar(128) NULL, 5 | IsConfirmed bit NULL DEFAULT 0, 6 | LastPasswordFailureDate datetime NULL, 7 | PasswordFailuresSinceLastSuccess int NOT NULL DEFAULT 0, 8 | Password nvarchar(128) NOT NULL, 9 | PasswordChangedDate datetime NULL, 10 | PasswordSalt nvarchar(128) NOT NULL, 11 | PasswordVerificationToken nvarchar(128) NULL, 12 | PasswordVerificationTokenExpirationDate datetime NULL 13 | ); 14 | 15 | CREATE TABLE IF NOT EXISTS webpages_OAuthMembership( 16 | Provider nvarchar(30) NOT NULL, 17 | ProviderUserId nvarchar(100) NOT NULL, 18 | UserId int NOT NULL, primary key (Provider, ProviderUserId)); 19 | 20 | CREATE TABLE IF NOT EXISTS webpages_OAuthtoken ( 21 | Token nvarchar(100) not null primary key, 22 | Secret nvarchar(100) not null); 23 | 24 | CREATE TABLE IF NOT EXISTS webpages_Roles( 25 | RoleId int auto_increment NOT NULL primary key, 26 | RoleName varchar(256) NOT NULL); 27 | 28 | CREATE TABLE IF NOT EXISTS webpages_UsersInRoles( 29 | UserId int NOT NULL, 30 | RoleId int NOT NULL, 31 | primary key(UserId, RoleId), 32 | CONSTRAINT fk_RoleId FOREIGN KEY(RoleId) REFERENCES webpages_Roles (RoleId)); -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema2.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE mysql_Membership 2 | ADD PasswordKey char(32) AFTER Password, 3 | ADD PasswordFormat tinyint AFTER PasswordKey, 4 | CHANGE Email Email VARCHAR(128), COMMENT='2'; 5 | 6 | 7 | -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema4.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE my_aspnet_membership CONVERT TO CHARACTER SET DEFAULT; 2 | ALTER TABLE my_aspnet_roles CONVERT TO CHARACTER SET DEFAULT; 3 | ALTER TABLE my_aspnet_usersinroles CONVERT TO CHARACTER SET DEFAULT; 4 | 5 | UPDATE my_aspnet_schemaversion SET version=4 WHERE version=3; 6 | -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema5.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE my_aspnet_sessions 2 | ( 3 | SessionId varchar(191) NOT NULL, 4 | ApplicationId int NOT NULL, 5 | Created datetime NOT NULL, 6 | Expires datetime NOT NULL, 7 | LockDate datetime NOT NULL, 8 | LockId int NOT NULL, 9 | Timeout int NOT NULL, 10 | Locked tinyint(1) NOT NULL, 11 | SessionItems BLOB, 12 | Flags int NOT NULL, 13 | primary key (SessionId,ApplicationId) 14 | ) DEFAULT CHARSET=latin1; 15 | 16 | /* 17 | Cleaning up timed out sessions. 18 | In 5.1 events provide a support for periodic jobs. 19 | In older version we need a do-it-yourself event. 20 | */ 21 | CREATE TABLE my_aspnet_sessioncleanup 22 | ( 23 | LastRun datetime NOT NULL, 24 | IntervalMinutes int NOT NULL 25 | ); 26 | 27 | INSERT INTO my_aspnet_sessioncleanup(LastRun,IntervalMinutes) values(NOW(), 10); 28 | 29 | UPDATE my_aspnet_schemaversion SET version=5; 30 | 31 | -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema6.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE my_aspnet_sessions CONVERT TO CHARACTER SET DEFAULT; 2 | ALTER TABLE my_aspnet_sessions MODIFY SessionItems LONGBLOB; 3 | 4 | UPDATE my_aspnet_schemaversion SET version=6; 5 | -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema7.sql: -------------------------------------------------------------------------------- 1 | RENAME TABLE my_aspnet_Applications TO my_aspnet_applications; 2 | RENAME TABLE my_aspnet_Membership TO my_aspnet_membership; 3 | RENAME TABLE my_aspnet_Profiles TO my_aspnet_profiles; 4 | RENAME TABLE my_aspnet_Roles TO my_aspnet_roles; 5 | RENAME TABLE my_aspnet_SchemaVersion TO my_aspnet_schemaversion; 6 | RENAME TABLE my_aspnet_SessionCleanup TO my_aspnet_sessioncleanup; 7 | RENAME TABLE my_aspnet_Sessions TO my_aspnet_sessions; 8 | RENAME TABLE my_aspnet_Users TO my_aspnet_users; 9 | RENAME TABLE my_aspnet_UsersInRoles TO my_aspnet_usersinroles; 10 | 11 | UPDATE my_aspnet_schemaversion SET version=7; -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema8.sql: -------------------------------------------------------------------------------- 1 | DELETE FROM my_aspnet_sessioncleanup; 2 | 3 | ALTER TABLE my_aspnet_sessioncleanup ADD ApplicationId INT NOT NULL; 4 | ALTER TABLE my_aspnet_sessioncleanup ADD Primary Key (ApplicationId); 5 | 6 | UPDATE my_aspnet_schemaversion SET version=8; -------------------------------------------------------------------------------- /MySql.Web/src/Properties/schema9.sql: -------------------------------------------------------------------------------- 1 | 2 | create table my_aspnet_sitemap( 3 | Id int auto_increment primary key, 4 | Title varchar( 50 ), 5 | Description varchar( 512 ), 6 | Url varchar( 512 ), 7 | Roles varchar( 1000 ), 8 | ParentId int default null 9 | ) engine=Innodb; 10 | 11 | UPDATE my_aspnet_schemaversion SET version=9; -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/Global.asax: -------------------------------------------------------------------------------- 1 |  2 | 3 | <%@ Application Codebehind="Global.asax.cs" Inherits="MySql.Web.Tests.Global" Language="C#" %> 4 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/InitSessionLocking.aspx: -------------------------------------------------------------------------------- 1 | <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InitSessionLocking.aspx.cs" Inherits="MySql.Web.Tests.SessionLocking.InitSessionLocking" %> 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 |
14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/InitSessionLocking.aspx.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2004, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | // This code was contributed by Sean Wright (srwright@alcor.concordia.ca) on 2007-01-12 30 | // The copyright was assigned and transferred under the terms of 31 | // the MySQL Contributor License Agreement (CLA) 32 | 33 | using System; 34 | using System.Collections.Generic; 35 | using System.Web; 36 | using System.Web.UI; 37 | using System.Web.UI.WebControls; 38 | 39 | namespace MySql.Web.Tests.SessionLocking 40 | { 41 | public partial class InitSessionLocking : System.Web.UI.Page 42 | { 43 | protected void Page_Load(object sender, EventArgs e) 44 | { 45 | 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/InitSessionLocking.aspx.designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | namespace MySql.Web.Tests.SessionLocking 11 | { 12 | 13 | 14 | public partial class InitSessionLocking 15 | { 16 | 17 | /// 18 | /// form1 control. 19 | /// 20 | /// 21 | /// Auto-generated field. 22 | /// To modify move field declaration from designer file to code-behind file. 23 | /// 24 | protected global::System.Web.UI.HtmlControls.HtmlForm form1; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/Web.config: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/read.aspx: -------------------------------------------------------------------------------- 1 | <%@ Page Language="C#" AutoEventWireup="true" EnableSessionState="ReadOnly" CodeBehind="read.aspx.cs" Inherits="MySql.Web.Tests.read" %> 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 |
14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/read.aspx.designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | namespace MySql.Web.Tests { 11 | 12 | 13 | public partial class read { 14 | 15 | /// 16 | /// form1 control. 17 | /// 18 | /// 19 | /// Auto-generated field. 20 | /// To modify move field declaration from designer file to code-behind file. 21 | /// 22 | protected global::System.Web.UI.HtmlControls.HtmlForm form1; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/web_config_src.txt: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/write.aspx: -------------------------------------------------------------------------------- 1 | <%@ Page Language="C#" AutoEventWireup="true" EnableSessionState="True" CodeBehind="write.aspx.cs" Inherits="MySql.Web.Tests.write" %> 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 |
14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/write.aspx.designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | namespace MySql.Web.Tests { 11 | 12 | 13 | public partial class write { 14 | 15 | /// 16 | /// form1 control. 17 | /// 18 | /// 19 | /// Auto-generated field. 20 | /// To modify move field declaration from designer file to code-behind file. 21 | /// 22 | protected global::System.Web.UI.HtmlControls.HtmlForm form1; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/write2.aspx: -------------------------------------------------------------------------------- 1 | <%@ Page Language="C#" AutoEventWireup="true" EnableSessionState="True" CodeBehind="write2.aspx.cs" Inherits="MySql.Web.Tests.write2" %> 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 |
14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/write2.aspx.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2004, 2025, Oracle and/or its affiliates. 2 | // 3 | // This program is free software; you can redistribute it and/or modify 4 | // it under the terms of the GNU General Public License, version 2.0, as 5 | // published by the Free Software Foundation. 6 | // 7 | // This program is designed to work with certain software (including 8 | // but not limited to OpenSSL) that is licensed under separate terms, as 9 | // designated in a particular file or component or in included license 10 | // documentation. The authors of MySQL hereby grant you an additional 11 | // permission to link the program and your derivative works with the 12 | // separately licensed software that they have either included with 13 | // the program or referenced in the documentation. 14 | // 15 | // Without limiting anything contained in the foregoing, this file, 16 | // which is part of MySQL Connector/NET, is also subject to the 17 | // Universal FOSS Exception, version 1.0, a copy of which can be found at 18 | // http://oss.oracle.com/licenses/universal-foss-exception. 19 | // 20 | // This program is distributed in the hope that it will be useful, but 21 | // WITHOUT ANY WARRANTY; without even the implied warranty of 22 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 | // See the GNU General Public License, version 2.0, for more details. 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software Foundation, Inc., 27 | // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | // This code was contributed by Sean Wright (srwright@alcor.concordia.ca) on 2007-01-12 30 | // The copyright was assigned and transferred under the terms of 31 | // the MySQL Contributor License Agreement (CLA) 32 | 33 | using System; 34 | using System.Collections.Generic; 35 | #if CLR4 36 | 37 | #endif 38 | using System.Web; 39 | using System.Web.UI; 40 | using System.Web.UI.WebControls; 41 | 42 | namespace MySql.Web.Tests 43 | { 44 | public partial class write2 : System.Web.UI.Page 45 | { 46 | protected void Page_Load(object sender, EventArgs e) 47 | { 48 | Session["x"] = "x2"; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLocking/write2.aspx.designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | namespace MySql.Web.Tests { 11 | 12 | 13 | public partial class write2 { 14 | 15 | /// 16 | /// form1 control. 17 | /// 18 | /// 19 | /// Auto-generated field. 20 | /// To modify move field declaration from designer file to code-behind file. 21 | /// 22 | protected global::System.Web.UI.HtmlControls.HtmlForm form1; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MySql.Web/tests/SessionLockingBuild.bat: -------------------------------------------------------------------------------- 1 | 2 | xcopy /i /y %1\*.* %2 -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | Copyright © 2004, 2025, Oracle and/or its affiliates. 2 | 3 | This is a release of MySQL Connector/NET, Oracle's fully managed ADO .NET Driver 4 | for MySQL. 5 | 6 | License information can be found in the LICENSE file. This distribution may 7 | include materials developed by third parties. For license and attribution 8 | notices for these materials, please refer to the LICENSE file. 9 | 10 | For more information on MySQL Connector/NET, visit 11 | http://dev.mysql.com/doc/connector-net/en/. 12 | 13 | For additional downloads and the source of MySQL Connector/NET, visit 14 | http://dev.mysql.com/downloads/. 15 | 16 | MySQL Connector/NET is brought to you by the MySQL team at Oracle. 17 | -------------------------------------------------------------------------------- /Release Notes.txt: -------------------------------------------------------------------------------- 1 | Connector/NET 9.3 Release Notes 2 | ------------------------------------ 3 | Welcome to the release notes for Connector/NET 9.1 4 | 5 | What's new in 9.3 6 | -------------------- 7 | 8 | Connector/NET now supports the newest version of EFCore 8 and EFCore 9. 9 | Connector/NET added fixes to testsuite. -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Reporting security vulnerabilities 2 | 3 | Oracle values the independent security research community and believes that 4 | responsible disclosure of security vulnerabilities helps us ensure the security 5 | and privacy of all our users. 6 | 7 | Please do NOT raise a GitHub Issue to report a security vulnerability. If you 8 | believe you have found a security vulnerability, please submit a report to 9 | secalert_us@oracle.com preferably with a proof of concept. Please review some 10 | additional information [on how to report security vulnerabilities to Oracle](https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html). 11 | We encourage people who contact Oracle Security to use email encryption using 12 | our [encryption key](https://www.oracle.com/security-alerts/encryptionkey.html). 13 | 14 | We ask that you do not use other channels or contact the project maintainers 15 | directly. 16 | 17 | # Security updates, alerts and bulletins 18 | 19 | Security updates will be released on a regular cadence. Many of our projects 20 | will typically release security fixes in conjunction with the Oracle Critical 21 | Patch Update program. Additional information, including past advisories, is 22 | available on our [security alerts page](https://www.oracle.com/security-alerts/). 23 | 24 | # Security-related information 25 | 26 | We will provide security related information such as a threat model, 27 | considerations for secure use, or any known security issues in our 28 | documentation. Please note that labs and sample code are intended to demonstrate 29 | a concept and may not be sufficiently hardened for production use. 30 | -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- 1 | { 2 | "msbuild-sdks": { 3 | "Microsoft.Build.Traversal": "4.1.0" 4 | }, 5 | "sdk": { 6 | "allowPrerelease": false 7 | } 8 | } --------------------------------------------------------------------------------