問題タブ [plpython]

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 に答える
129 参照

postgresql - PostgreSQL に挿入された行はトリガー関数では使用できません

  • データベース: postgresql
  • 言語 : plpythonu
  • トピック: トリガー機能

挿入するたびに何かをする必要がありますが、挿入されたレコードは、内部で作成したクエリには表示されませんrequest_received_function()。挿入されたレコードはトリガー関数内でロックされていますか?

  1. トリガーはうまく起動し、デバッグできます
  2. 2番目の挿入レコードはショー自体です
0 投票する
4 に答える
5847 参照

python - Python で一致するペアを「接続されたコンポーネント」に集約する方法

現実の問題:

私は多くの企業の取締役に関するデータを持っていますが、「XYZ の取締役であるジョン・スミス」と「ABC の取締役であるジョン・スミス」が同一人物である場合もあれば、そうでない場合もあります。また、「John J. Smith, director of XYZ」と「John Smith, director of ABC」は同一人物である場合もあれば、同一でない場合もあります。多くの場合、追加情報の調査 (たとえば、「XYZ のディレクター、ジョン・スミス」と「ABC のディレクター、ジョン・スミス」に関する伝記データの比較) により、2 つの観測が同一人物であるかどうかを解決できます。

問題の概念的なバージョン:

その精神で、一致するペアを特定するデータを収集しています。たとえば、次の一致するペアがあるとします: {(a, b), (b, c), (c, d), (d, e), (f, g)}. 「同一人物」という関係の推移性を利用して、 の「連結成分」を生成したい{{a, b, c, d, e}, {f, g}}。それは{a, b, c, d, e}一人であり、{f, g}別の人です。(質問の以前のバージョンでは、明らかに別のものである「クリーク」に言及していました。これは、(私の目的では)「間違った」結果を与えていた理由を説明します) find_cliquesnetworkx

次の Python コードがその役割を果たします。しかし、私は疑問に思います: より良い (計算コストの少ない) アプローチ (例えば、標準または利用可能なライブラリを使用する) はありますか?

関連すると思われる例があちこちにありますが (例: Cliques in python )、これらは不完全であるため、それらが参照しているライブラリや、それらを使用するためのデータのセットアップ方法がわかりません。

サンプル Python 2 コード:

これにより、目的の出力が生成されます: [Set(['a', 'c', 'b', 'e', 'd']), Set(['g', 'f'])].

サンプル Python 3 コード:

これにより生成されます[set(['a', 'c', 'b', 'e', 'd']), set(['g', 'f'])]):

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

arrays - plpython関数はパラメータとして複数の行を取ることができますか?

複数行の配列を取り、結果の配列を返す関数を作成するには、それを知る必要があります。

例えば:

テーブル some_table

次に実行します:

そして、要素ごとの操作で配列を取得します (この例では avg):

行を操作する標準の集計関数のようなもの。

ドキュメントとグーグルを見てほぼ2時間後、これに対する明確な答えが見つかりません。

配列をテーブルに展開できることは知っていますが、それを避けようとしています。この種の関数が標準 SQL で解決できれば、それも有用です。

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

python - PostgreSQL実行クエリの複数の結果を追加する方法は?

getitems(id)この ID に関連するすべての行を提供する関数があります。

getitemsPostgreSQL に func1 という名前の関数があり、アイテムのリスト全体を返す必要があります。

現在、最後の反復の値を含む x を返します ( のgetitems最後の id の結果listof_id)。各反復を最後に追加するように変更するにはどうすればよいですか?

私はやろうとしました:

そしてそれはうまくいきません...

0 投票する
2 に答える
910 参照

python - plpython 関数間の引数として int[] を渡す方法

私は PostgreSQL と plpython 関数を使用しています。

私は機能を持っていますfunc1:

func1func2である c 引数で呼び出しますinteger[]

SQLクエリから実行する場合

次のエラーが表示されます。

を渡すと何かが機能しintger[]ません。私も試しました:

それもうまくいきません。

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

sql - PL/Python:空のセットを返す方法は?

で動作する関数がありますint[]。配列が空かどうかを確認し、その場合は何もすることがないので停止する機能が必要です。

これは私の機能です:

次のように定義された func_type:

チェックを追加したとき:

エラーが発生しました:

返さなければならないことは理解していますが、ビルドされていなかったのでビルドされませんでしたが、この時点で戻すにはどうすればよいですかfunc_type? また、 と呼ばれると仮定します。返される行が 0 行であることをどのように確認できますか?func_typeplpy.executefunc3func2func3

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

postgresql - PL/Python で PostgreSQL 関数の単体テストを作成する - 可能/合理的ですか?

pgTAPと呼ばれる PL/PGSQL プロシージャの単体テスト用の興味深い PL/PGSQL フレームワークを見つけました。しかし、PostgreSQL はストアド プロシージャ用の別の言語をサポートしています。Python は、標準ライブラリと assert ステートメントに既に単体テスト フレームワークを備えています。PL/Python で PGSQL プロシージャの単体テストを作成するとどうなりますか?

出来ますか?それは良い考えですか?