From 4715c3a6c1d33a3b1ceb80f2bab581ebefcf4f81 Mon Sep 17 00:00:00 2001
From: dennis-gr <dennis-gr@users.noreply.github.com>
Date: Fri, 10 Feb 2023 13:21:24 +0100
Subject: [PATCH] Added MySQL8Dialect and MySQL8InnoDBDialect

---
 src/NHibernate/Dialect/MySQL8Dialect.cs       |  9 +++++++++
 src/NHibernate/Dialect/MySQL8InnoDBDialect.cs | 11 +++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 src/NHibernate/Dialect/MySQL8Dialect.cs
 create mode 100644 src/NHibernate/Dialect/MySQL8InnoDBDialect.cs

diff --git a/src/NHibernate/Dialect/MySQL8Dialect.cs b/src/NHibernate/Dialect/MySQL8Dialect.cs
new file mode 100644
index 00000000000..32462a73a31
--- /dev/null
+++ b/src/NHibernate/Dialect/MySQL8Dialect.cs
@@ -0,0 +1,9 @@
+using System.Data;
+
+namespace NHibernate.Dialect
+{
+	public class MySQL8Dialect : MySQL57Dialect
+	{
+		public MySQL8Dialect() => RegisterColumnType(DbType.Boolean, "BOOLEAN");
+	}
+}
diff --git a/src/NHibernate/Dialect/MySQL8InnoDBDialect.cs b/src/NHibernate/Dialect/MySQL8InnoDBDialect.cs
new file mode 100644
index 00000000000..5af5465aa40
--- /dev/null
+++ b/src/NHibernate/Dialect/MySQL8InnoDBDialect.cs
@@ -0,0 +1,11 @@
+namespace NHibernate.Dialect
+{
+	public class MySQL8InnoDBDialect : MySQL8Dialect
+	{
+		public override bool SupportsCascadeDelete => true;
+
+		public override string TableTypeString => " ENGINE=InnoDB";
+
+		public override bool HasSelfReferentialForeignKeyBug => true;
+	}
+}