問題タブ [doobie]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
238 参照

postgresql - Doobie での Postgresql 配列エンコーディング – text[] vs Various[]

次の postgresql スキーマがあるとします。

以下はプレーン SQL で機能し、行 1 と 2 を返します (@>は pg の「含む」演算子です)。

しかし、Doobieでも同じです(postgresql 拡張を使用):

次の場合に失敗します。

searchTerms補間された値をキャストtext[]すると、問題が解決するようです。

同様に、データベース スキーマでfields列の型を からtext[]に変更しvarchar[]て、キャストを回避することもできます。これにより、正しい行がコンパイルされて返されます。

私の主な問題は、なぜ Doobie がそのように振る舞うかがわからないことです。カスタム型で同じ問題に再び遭遇する可能性があるため、なぜ が に$searchTermsデコードされて にデコードされvarying[]ないのかを理解する必要があります。また、この動作を変更して、列の型を維持し、キャストを回避text[]できるようにするために何ができるかを理解する必要があります。text[]おそらくこれを制御する暗黙のインスタンスがどこかにあると思いますが、それが何であるかはわかりませんでした。

0 投票する
1 に答える
796 参照

scala - Cats-Effects で「unsafeRunSync()」を使用しても問題ありませんか?

私は Doobie を使用しています。私が見つけた例でunsafeRunSyncは、次のように使用しています。

内部では、この関数は次のように実装されています。

docsで、「この関数はテスト用であることに注意してください。メインラインの本番コードには決して使用しないでください!」と記載されています。unsafeRunSyncこの機能を内部で使用する場合、本番環境で使用しても問題ないのでしょうか?

また、そうでない場合、実行にタイムアウトを設定するにはどうすればよいunsafeRunTimedですか?