in app/services/BigQueryService.scala [40:65]
def runQuery(queryString: String): ZIO[ZEnv, BigQueryError, TableResult] =
effectBlocking {
val queryConfig = QueryJobConfiguration
.newBuilder(queryString)
.setUseLegacySql(false)
.build()
var queryJob = bigQuery.create(JobInfo.of(queryConfig))
queryJob = queryJob.waitFor(RetryOption.maxAttempts(0))
Option(queryJob)
}.flatMap {
case None => ZIO.fail(BigQueryError("Cannot create query job"))
case Some(job) =>
Option(job.getStatus.getError) match {
case None => ZIO.succeed(
job.getQueryResults()
)
case Some(error) => ZIO.fail(BigQueryError("Cannot retrieve results"))
}
}.mapError(error => {
logger.error(s"Error running query: $error")
BigQueryError(error.toString)
})