diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGenerator.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGenerator.scala index 111a91f8b..8ac3e83d3 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGenerator.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGenerator.scala @@ -33,6 +33,10 @@ trait SqlGenerator { def getDataQuery(tableName: String, infoDateBegin: LocalDate, infoDateEnd: LocalDate, columns: Seq[String], limit: Option[Int]): String + def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String + + def getDateLiteral(date: LocalDate): String + def requiresConnection: Boolean = false def setConnection(connection: Connection): Unit = {} diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorDb2.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorDb2.scala index 96f55c562..3f9c5768a 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorDb2.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorDb2.scala @@ -49,7 +49,7 @@ class SqlGeneratorDb2(sqlConfig: SqlConfig) extends SqlGeneratorBase(sqlConfig) s"SELECT ${columnExpr(columns)} FROM $tableName WHERE $where${getLimit(limit)}" } - private def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { + override def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { val dateBeginLit = getDateLiteral(dateBegin) val dateEndLit = getDateLiteral(dateEnd) @@ -69,7 +69,7 @@ class SqlGeneratorDb2(sqlConfig: SqlConfig) extends SqlGeneratorBase(sqlConfig) } } - private def getDateLiteral(date: LocalDate): String = { + override def getDateLiteral(date: LocalDate): String = { val dateStr = dateFormatterApp.format(date) sqlConfig.infoDateType match { diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorDenodo.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorDenodo.scala index f44a0b743..a29e56f32 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorDenodo.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorDenodo.scala @@ -51,7 +51,7 @@ class SqlGeneratorDenodo(sqlConfig: SqlConfig, extraConfig: Config) extends SqlG s"SELECT ${columnExpr(columns)} FROM $tableName WHERE $where${getLimit(limit)}" } - private def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { + override def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { val dateBeginLit = getDateLiteral(dateBegin) val dateEndLit = getDateLiteral(dateEnd) @@ -64,7 +64,7 @@ class SqlGeneratorDenodo(sqlConfig: SqlConfig, extraConfig: Config) extends SqlG } } - private def getDateLiteral(date: LocalDate): String = { + def getDateLiteral(date: LocalDate): String = { val dateStr = dateFormatterApp.format(date) sqlConfig.infoDateType match { diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorGeneric.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorGeneric.scala index 0cba8fa46..f5bd4b538 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorGeneric.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorGeneric.scala @@ -49,7 +49,7 @@ class SqlGeneratorGeneric(sqlConfig: SqlConfig) extends SqlGeneratorBase(sqlConf s"SELECT ${columnExpr(columns)} FROM $tableName WHERE $where${getLimit(limit)}" } - private def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { + override def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { val dateBeginLit = getDateLiteral(dateBegin) val dateEndLit = getDateLiteral(dateEnd) @@ -69,7 +69,7 @@ class SqlGeneratorGeneric(sqlConfig: SqlConfig) extends SqlGeneratorBase(sqlConf } } - private def getDateLiteral(date: LocalDate): String = { + override def getDateLiteral(date: LocalDate): String = { val dateStr = dateFormatterApp.format(date) sqlConfig.infoDateType match { diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorHive.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorHive.scala index 120f75c05..ac7c01aaf 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorHive.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorHive.scala @@ -65,7 +65,7 @@ class SqlGeneratorHive(sqlConfig: SqlConfig, extraConfig: Config) extends SqlGen s"SELECT ${columnExpr(columns)} FROM $tableName WHERE $where${getLimit(limit)}" } - private def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { + override def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { val dateBeginLit = getDateLiteral(dateBegin) val dateEndLit = getDateLiteral(dateEnd) @@ -78,7 +78,7 @@ class SqlGeneratorHive(sqlConfig: SqlConfig, extraConfig: Config) extends SqlGen } } - private def getDateLiteral(date: LocalDate): String = { + override def getDateLiteral(date: LocalDate): String = { val dateStr = dateFormatterApp.format(date) sqlConfig.infoDateType match { diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorHsqlDb.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorHsqlDb.scala index 729e032da..97516fe01 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorHsqlDb.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorHsqlDb.scala @@ -49,7 +49,7 @@ class SqlGeneratorHsqlDb(sqlConfig: SqlConfig) extends SqlGeneratorBase(sqlConfi s"SELECT ${columnExpr(columns)} FROM $tableName WHERE $where${getLimit(limit)}" } - private def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { + override def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { val dateBeginLit = getDateLiteral(dateBegin) val dateEndLit = getDateLiteral(dateEnd) @@ -69,7 +69,7 @@ class SqlGeneratorHsqlDb(sqlConfig: SqlConfig) extends SqlGeneratorBase(sqlConfi } } - private def getDateLiteral(date: LocalDate): String = { + override def getDateLiteral(date: LocalDate): String = { val dateStr = dateFormatterApp.format(date) sqlConfig.infoDateType match { diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorMicrosoft.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorMicrosoft.scala index 03e9d0c78..4063db2f0 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorMicrosoft.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorMicrosoft.scala @@ -16,11 +16,11 @@ package za.co.absa.pramen.core.sql +import com.typesafe.config.Config + import java.time.LocalDate import java.time.format.DateTimeFormatter -import com.typesafe.config.Config - class SqlGeneratorMicrosoft(sqlConfig: SqlConfig, extraConfig: Config) extends SqlGeneratorBase(sqlConfig) { private val dateFormatterApp = DateTimeFormatter.ofPattern(sqlConfig.dateFormatApp) @@ -51,7 +51,7 @@ class SqlGeneratorMicrosoft(sqlConfig: SqlConfig, extraConfig: Config) extends S s"SELECT ${getLimit(limit)}${columnExpr(columns)} FROM $tableName WITH (NOLOCK) WHERE $where" } - private def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { + override def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { val dateBeginLit = getDateLiteral(dateBegin) val dateEndLit = getDateLiteral(dateEnd) @@ -71,7 +71,7 @@ class SqlGeneratorMicrosoft(sqlConfig: SqlConfig, extraConfig: Config) extends S } } - private def getDateLiteral(date: LocalDate): String = { + override def getDateLiteral(date: LocalDate): String = { val dateStr = dateFormatterApp.format(date) sqlConfig.infoDateType match { diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorOracle.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorOracle.scala index d31651829..07ee65c3c 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorOracle.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorOracle.scala @@ -53,7 +53,7 @@ class SqlGeneratorOracle(sqlConfig: SqlConfig, extraConfig: Config) extends SqlG s"SELECT ${columnExpr(columns)} FROM $tableName WHERE $where${getLimit(limit, hasWhere = true)}" } - private def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { + override def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { val dateBeginLit = getDateLiteral(dateBegin) val dateEndLit = getDateLiteral(dateEnd) @@ -66,7 +66,7 @@ class SqlGeneratorOracle(sqlConfig: SqlConfig, extraConfig: Config) extends SqlG } } - private def getDateLiteral(date: LocalDate): String = { + override def getDateLiteral(date: LocalDate): String = { sqlConfig.infoDateType match { case SqlColumnType.DATE => { val dateStr = dateFormatterOracle.format(date) diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorPostgreSQL.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorPostgreSQL.scala index 648148911..47ce911f1 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorPostgreSQL.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorPostgreSQL.scala @@ -51,7 +51,7 @@ class SqlGeneratorPostgreSQL(sqlConfig: SqlConfig, extraConfig: Config) extends s"SELECT ${columnExpr(columns)} FROM $tableName WHERE $where${getLimit(limit)}" } - private def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { + override def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { val dateBeginLit = getDateLiteral(dateBegin) val dateEndLit = getDateLiteral(dateEnd) @@ -71,7 +71,7 @@ class SqlGeneratorPostgreSQL(sqlConfig: SqlConfig, extraConfig: Config) extends } } - private def getDateLiteral(date: LocalDate): String = { + override def getDateLiteral(date: LocalDate): String = { val dateStr = dateFormatterApp.format(date) sqlConfig.infoDateType match { diff --git a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorSas.scala b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorSas.scala index c06998faf..0cade6f2b 100644 --- a/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorSas.scala +++ b/pramen/core/src/main/scala/za/co/absa/pramen/core/sql/SqlGeneratorSas.scala @@ -118,7 +118,7 @@ class SqlGeneratorSas(sqlConfig: SqlConfig, extraConfig: Config) extends SqlGene statement.executeQuery(sql) } - private def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { + override def getWhere(dateBegin: LocalDate, dateEnd: LocalDate): String = { val dateBeginLit = getDateLiteral(dateBegin) val dateEndLit = getDateLiteral(dateEnd) @@ -131,7 +131,7 @@ class SqlGeneratorSas(sqlConfig: SqlConfig, extraConfig: Config) extends SqlGene } } - private def getDateLiteral(date: LocalDate): String = { + override def getDateLiteral(date: LocalDate): String = { sqlConfig.infoDateType match { case SqlColumnType.DATE => val dateStr = dateFormatterOracle.format(date)