diff --git a/build.sbt b/build.sbt index 9cd4e99..eef6a19 100644 --- a/build.sbt +++ b/build.sbt @@ -213,5 +213,5 @@ lazy val docker = (project in file("docker")) .settings( strictBuildSettings, dockerSettings, - libraryDependencies += "com.raw-labs" %% "das-server-scala" % "0.1.5" % "compile->compile;test->test" + libraryDependencies += "com.raw-labs" %% "das-server-scala" % "0.1.7" % "compile->compile;test->test" ) diff --git a/src/main/scala/com/rawlabs/das/salesforce/DASSalesforce.scala b/src/main/scala/com/rawlabs/das/salesforce/DASSalesforce.scala index f8eab5a..5010c03 100644 --- a/src/main/scala/com/rawlabs/das/salesforce/DASSalesforce.scala +++ b/src/main/scala/com/rawlabs/das/salesforce/DASSalesforce.scala @@ -101,7 +101,12 @@ class DASSalesforce(options: Map[String, String]) extends DASSdk with StrictLogg private val allTables = staticTables ++ dynamicTables ++ maybeDatedConversionRateTable - override def tableDefinitions: Seq[TableDefinition] = allTables.map(_.tableDefinition) + // These are the table definitions that will be returned to the client. It's stored + // in a val to avoid recalculating it every time it's accessed. We do that because we + // don't expect the tables to change during the lifetime of the DAS instance. + private val definitions = allTables.map(_.tableDefinition) + + override def tableDefinitions: Seq[TableDefinition] = definitions override def functionDefinitions: Seq[FunctionDefinition] = Seq.empty