問題タブ [plv8]
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.
javascript - 正規表現を使用してさまざまな方法で単語を分割する
Solr のWordDelimiterFilterに似たものに取り組んでいますが、Java ではありません。
次のように単語をトークンに分割したい:
上記の例に固有のものではなく、一般的な解決策を探しています。できれば、後読みをサポートしていない正規表現のフレーバーですが、必要に応じて、後読みを実行できる PL/perl を使用できます。
SOでいくつかの回答が見つかりましたが、それらはすべて後読みを使用しているようです。
分割するもの:
- 小文字から大文字への変換
- 文字から数字へ、または数字から文字への移行
- (オプション) 他のいくつかの文字に分割 (- _)
一番気になるのは1と2です。
javascript - postgres plv8 プロシージャで文字列をログに記録する方法は?
plv8 プロシージャで plv8.elog() を使用して SQL クエリを出力しようとしています。
理由はわかりませんが、コンソールに出力が表示されません。可能な解決策を検索したところ、 plv8 が最大長 512 文字までの文字列を出力できるという有用な情報が見つかりました。以下にリンクを示します。
http://code.google.com/p/plv8js/issues/detail?id=78
これを確認するために、同じ文字列を str.slice で出力しようとしました
今度は期待通りのログ出力を見ることができます。512文字を超える文字列をログに記録するにはどうすればよいですか?
postgresql - plv8関数内から別のスキーマの関数を呼び出すことは可能ですか?
plv8 を使用して postgres 関数を作成しようとしています。今、私は次のような方法で pgcrypt ライブラリを使用したいと思います:
crypt は pgcrypt ライブラリに付属しており、別のスキーマにあります。しかし、実行するとエラーが発生します:
何か案が?ありがとう!
postgresql - plv8の欠点または制限?
PostgreSQL のトリガーとストアド プロシージャを作成するために PLV8 をいじっています。これまでのところ、PLPGSQL と比較して不利な点は特にありません。特に JSON を扱う場合は、PLPGSQL よりもさらにスマートに見えます。PLV8 を使用する場合、既知の欠点や制限はありますか? PLV8 は PLPGSQL を完全に置き換えることができますか? 誰かがこれに関する彼の経験を共有できれば素晴らしいでしょう.
javascript - 'RETURNS TABLE' を使用した Postgres PLV8 関数が 'ERROR: ReferenceError: $1 is not defined' をスローする
PLV8
ストアド プロシージャからテーブルを返そうとしています。
入力引数の認識に失敗します。つまり$1
、関数が with の場合 RETURNS TABLE(...)
です。
関数がスカラーを返す場合に機能します。
function の場合にも機能しますRETURNS SETOF
。
(ケース 1 ) カスタム データ型の場合:
(ケース 2 ) ありSETOF record
:
しかし、それは動作しないようですRETURNS TABLE
:
なぜ窒息しているの$1
ですか?
私は Postgres 9.4.0 と Plv8 1.4.4 を使用しています。
java - Java+Hibernate で PSQLException デッドロックを処理する方法
クライアント サーバー アプリケーション (Java8、Hibernate4、Spring4、postgresql 9.3.3 を使用して記述) を管理しなければならず、デッドロック状態に直面しています。
デッドロックの状況を正確にキャッチ (デッドロックを他のエラーと区別) し、それをわかりやすいメッセージに変換する必要がありますが、実際には sqlState はXX000
、エラー コードは0
です。多分私は別の場所を探す必要があるか、私のチェーンに何か問題がありますか?
詳細: PG DB には 2 つの SP があり、同様の作業update_bulk1(..)
を行っており、同じテーブルでupdate_bulk2(..)
書き込みおよび操作を行っています。コードは次のようになります。plv8
configuration
サーバーはこれらの SP をトリガーします。HQL
2人のユーザーがこれら2つのメソッドを並行して呼び出すと、デッドロック例外が発生しますが、コードでそれを処理し、「行が他のユーザーによって更新/更新されています」などのわかりやすいメッセージでユーザーに通知する方法がわかりません-実際にこれが必要です(デッドロックを回避し、ロジックを書き直すことは将来のためであり、実際にはオプションではありません) キャッチされた例外の階層は次のとおりです。
エラーコードは0です
以下のスタック トレース
postgresql - CentOS 6.7 の postgresql 9.5 に plv8 をインストールするには?
このリンクに従って、CentOS 6.7 に PG 9.5 をインストールしました。
次に、GitHub からダウンロードplv8-1.4.4.zip
し、次のリンクの指示に従いました: https://github.com/plv8/plv8およびhttp://pgxn.org/dist/plv8/および README。私はmake static
そうしましたが、問題なくビルドできるようです。次のステップでブロックされました
plv8をDBにインストールするには? ファイルが見つからないCREATE EXTENSION plv8
と言ったからです。手動でPG インストール パスplv8.control
にコピーすると、エラーが表示されますplv8.so
plv8.control
plv8-1.4.4.sql
symbol not found: oid_hash