Описание тега doobie
Doobie - это чисто функциональный слой JDBC для Scala и Cats.
1
ответ
Как подключиться к Hive с помощью doobie
Существует драйвер jdbc для улья, но он не полностью функционирует. Я использовал по умолчанию Doobie Transactor для подключения к нему, как val xa = Transactor.fromDriverManager[IO]( "org.apache.hive.jdbc.HiveDriver", url, username, pass ) myQuery.…
12 окт '18 в 16:01
0
ответов
Scala Doobie запрашивает жестко закодированные значения
При написании следующего запроса в Doobie: (SELECT id FROM (VALUES(?),(?),(?)) table(id)) UNION SELECT id FROM table У меня есть список данных, например, список (1,2,3,4), который различного размера. Как я могу интерполировать список значений в SQL …
29 май '18 в 00:37
2
ответа
Создать список экземпляров класса дел
У меня есть 3 вальса, каждого типа Array[String] все они равны по длине val1.length == val2.length // true Затем я создал класс case следующим образом: case class resource(name: String, count: Int, location: String) Я хочу создать список, List[resou…
02 май '18 в 11:59
1
ответ
Как мне создать экземпляр Meta Doobie для MySQL, используя Play JSON?
Как реализовать базовую сериализацию / десериализацию на уровне запросов с использованием Doobie, MySQL и Play JSON?
02 окт '18 в 20:41
0
ответов
Повторная попытка Monix Task - почему здесь требуется Task.defer?
Недавно я обнаружил случай, который я не могу полностью понять, работая с Monix Task: Есть две функции (в очереди обработчик сообщений): def handle(msg: RollbackMsg): Task[Unit] = { logger.info(s"Attempting to rollback transaction ${msg.lockId}") Ta…
27 окт '18 в 19:24
0
ответов
Параллельный запуск запросов в Doobie
Можно ли выполнять несколько запросов параллельно, используя Doobie? У меня есть следующие (псевдо) запросы: def prepareForQuery(input: String): ConnectionIO[Unit] = ??? val gettAllResults: ConnectionIO[List[(String, BigDecimal)]] = ??? def program(…
13 июн '18 в 09:30
2
ответа
Scala Doobie фрагмент с параметром универсального типа
Я пытаюсь абстрагироваться от вставки объектов разных типов в таблицы SQL аналогичной структуры. Вот что я пытаюсь сделать: class TableAccess[A : Meta](table: String) { def insert(key: String, a: A): ConnectionIO[Unit] = { (fr"insert into " ++ Fragm…
17 фев '18 в 02:47
1
ответ
Doobie с настройкой Hikari
Эй, ребята, пытаясь заставить настройку Hikari Transactor действовать так же, как стандартный Transactor val xa = HikariTransactor.newHikariTransactor[IO]( "com.mysql.jdbc.Driver", JdbcUrl, Username, Password ) sql"""select DISTINCT gcpProject FROM …
20 фев '18 в 22:45
2
ответа
Составить необязательные запросы для понимания в doobie?
Я хотел бы выполнить несколько запросов в одной транзакции, используя для понимания в doobie. Что-то вроде: def addImage(path:String) : ConnectionIO[Image] = { sql"INSERT INTO images(path) VALUES($path)".update.withUniqueGeneratedKeys('id', 'path') …
23 фев '18 в 09:07
0
ответов
Структура микросервиса Scala: чтение и запись выполняются двумя отдельными объектами
Итак, у нас есть сценарий использования, когда мы читаем файл и храним его в хранилище NoSQL в нескольких сегментах. Это выполняется объектом, который настроен для запуска этого задания как daemon Периодически, думаю, что запланированный сервис Но, …
30 мар '18 в 13:07
1
ответ
Как написать транзакцию Дуби, когда IO застрял в середине
Я хочу написать базовую транзакцию чтения / записи Дуби, но главное, что есть IO ответный звонок посередине. Я хочу сделать что-то вроде этого: abstract class MyDAO { def readSomething(id: String): ConnectionIO[Option[Something]] def writeSomething(…
13 дек '18 в 20:43
1
ответ
Преобразование Doobie ConnectionIO[Option[Int]] без явного соответствия
У меня есть ConnectionIO[Option[Int]] и карта над Option производить ConnectionIO[Option[String]] с запросом Some[Int] в противном случае сохраните Nones. I was able to do this with aзаcomprehension and amatch`: def findWidgetByOwner(name: String): …
19 фев '18 в 00:35
2
ответа
Получить или вставить в транзакции на Doobie в Scala
Я читаю документацию Doobie и пытаюсь выполнить простое получение или создание внутри транзакции. Я получаю опцию от первого запроса и пытаюсь сделать getOrElse и запустить вставку в остальном, однако я продолжаю получать value map is not a member o…
22 дек '18 в 09:27
1
ответ
Транзакция Doobie по списку программ ConnectionIO
Допустим, у меня есть список программ Doobie (все с Unit параметры типа, fwiw): val progList: List[ConnectionIO[Unit]] = prog1 :: prog2 :: ... :: Nil Есть ли способ, которым я могу запустить их в одной транзакции? Понимание здесь не сработает, потом…
29 июл '18 в 13:45
1
ответ
Состав Doobie и доступа к БД за 1 транзакцию
Книга Doobie говорит, что это хорошая практика, чтобы вернуть ConnectionIO из вашего уровня хранилища. Это дает возможность связывать звонки и выполнять их за одну транзакцию. Красиво и понятно. Теперь давайте представим, что мы работаем над сервис…
22 май '18 в 16:55
2
ответа
Перечислите несколько анонимных / подчеркивающих параметров для понимания
Я немного новичок в Scala/ функционал, поэтому я еще не могу использовать технический язык. Я испытываю проблемы с пониманием val queries = for { _ <- createBanco _ <- createBancoMedio bankInsertions <- Update[Banco](insertStr).updateMany(N…
27 июн '18 в 17:39
1
ответ
Скала (doobie): тип инвариантен
Я работаю над проектом со Scala и Doobie. Я пытаюсь реализовать черту транзактора, которая может быть введена MacWire и использована с различными монадами Task/Future (например, для тестов). import doobie.imports import doobie.imports._ import fs2.T…
30 авг '17 в 15:27
2
ответа
Как правильно обрабатывать пул соединений Hikari с Doobie
Я использовал doobie (cats), чтобы подключиться к базе данных postgresql из приложения scalatra. Недавно я заметил, что приложение создает новый пул соединений для каждой транзакции. В конце концов я обошел это - см. Ниже, но этот подход сильно отли…
08 ноя '17 в 11:25
0
ответов
Doobie. Создайте.update.withGeneratedKeys() и.update.run
Ссылка на этот вопрос.Я хочу вставить некоторую сущность по какому-то условию. Это может быть вставлено или нет. Тогда условие истинно, и сущность вставлена, я хочу вставить некоторые другие данные в различные таблицы. Это выглядит так: val q = sql"…
30 май '19 в 07:16
1
ответ
Как получить дополнительный результат в операторах вставки с Doobie?
У меня есть дополнительный запрос вставки: val q = sql"insert into some_table (some_field) select 42 where ...(some condition)" Выполнение этого запроса с: q.update.withUniqueGeneratedKeys[Option[Long]]("id") не удается с Набор результатов исчерпан:…
28 май '19 в 12:24