in slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickOffsetStore.scala [53:79]
def this(system: ActorSystem[_], db: P#Backend#Database, profile: P, slickSettings: SlickSettings) =
this(system, db, profile, slickSettings, Clock.systemUTC())
val (dialect, useLowerCase): (Dialect, Boolean) = {
val useLowerCase = slickSettings.useLowerCase
profile match {
case _: slick.jdbc.H2Profile =>
(
H2Dialect(slickSettings.schema, slickSettings.table, slickSettings.managementTable, useLowerCase),
useLowerCase)
case _: slick.jdbc.PostgresProfile =>
(
PostgresDialect(slickSettings.schema, slickSettings.table, slickSettings.managementTable, useLowerCase),
useLowerCase)
// mysql and Sql server are case insensitive, we favor lower case
case _: slick.jdbc.SQLServerProfile =>
(MSSQLServerDialect(slickSettings.schema, slickSettings.table, slickSettings.managementTable), true)
case _: slick.jdbc.MySQLProfile =>
(MySQLDialect(slickSettings.schema, slickSettings.table, slickSettings.managementTable), true)
// oracle must always use quoted + uppercase
case _: slick.jdbc.OracleProfile =>
(OracleDialect(slickSettings.schema, slickSettings.table, slickSettings.managementTable), false)
}
}