■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
PostgreSQLのRETURNS TABLEについて
2022/09/21 15:33
OB
1
TY
Amazon Aurora(postgreSQL)を対象に
SI Object Browser for Postgres 22をインストールして動作検証を行っているのですが、
RETURNS TABLEを用いたファンクションをObjectBrowserの実行機能を用いて実行を行おうとした場合、
エラーメッセージとして
「ERROR:function [スキーマ名].[ファンクション名]([本来の引数],[TABLEの出力列1],[TABLEの出力列2]…,[TABLEの出力列n]) does not exist. No function matches the given name and argument types.You might need to add explicit type casts.」
と表示されます。
内容からTABLEに設定した出力列を引数と解釈してしまい、
結果としてそのような引数を持つファンクションは存在しないと返していると思うのですが、
何か解決方法等ありましたらお教えいただけますでしょうか。
ちなみに同様のエラーはファンクションの削除機能でも発生します。
SI Object Browser for Postgres 22をインストールして動作検証を行っているのですが、
RETURNS TABLEを用いたファンクションをObjectBrowserの実行機能を用いて実行を行おうとした場合、
エラーメッセージとして
「ERROR:function [スキーマ名].[ファンクション名]([本来の引数],[TABLEの出力列1],[TABLEの出力列2]…,[TABLEの出力列n]) does not exist. No function matches the given name and argument types.You might need to add explicit type casts.」
と表示されます。
内容からTABLEに設定した出力列を引数と解釈してしまい、
結果としてそのような引数を持つファンクションは存在しないと返していると思うのですが、
何か解決方法等ありましたらお教えいただけますでしょうか。
ちなみに同様のエラーはファンクションの削除機能でも発生します。
返信を投稿
OB
OBサポートです。
OBサポートです。
ご回答が大変遅くなってしまい、誠に申し訳ありません。
■returns tableを持つファンクションの実行について
お問い合わせ頂いた事象につきまして、弊社でも同様の動作を確認いたしました。
ご指摘いただいた通り、
RETURNS TABLEで設定した出力列を引数として内部的に認識しているための動作と考えられます。
本動作につきましては、SI Object Browser側でRETURNS TABLE句を想定してないことと、
PostgreSQLのカタログ情報をもとに引数項目の生成・表示を行う際に、
カタログ情報が返す引数リストとして出力列の項目が返されているために起こる動作となります。
大変ご不便・ご迷惑をおかけしてしまい、誠に申し訳ありません。
■回避策
ファンクション実行時のSQLにつきましては、
現状SI Object Browserの内部で生成が行われるため、本事象の回避ができません。
誠に恐れ入りますが、該当のファンクションを実行する際には
別途SQL実行画面からの実行をお願いできますでしょうか。
大変ご不便をおかけしてしまい、誠に申し訳ありません。
本事象につきましては、開発に伝えた上で
今後の機能改善として検討させていただきます。
何卒よろしくお願い申し上げます。
ご回答が大変遅くなってしまい、誠に申し訳ありません。
■returns tableを持つファンクションの実行について
お問い合わせ頂いた事象につきまして、弊社でも同様の動作を確認いたしました。
ご指摘いただいた通り、
RETURNS TABLEで設定した出力列を引数として内部的に認識しているための動作と考えられます。
本動作につきましては、SI Object Browser側でRETURNS TABLE句を想定してないことと、
PostgreSQLのカタログ情報をもとに引数項目の生成・表示を行う際に、
カタログ情報が返す引数リストとして出力列の項目が返されているために起こる動作となります。
大変ご不便・ご迷惑をおかけしてしまい、誠に申し訳ありません。
■回避策
ファンクション実行時のSQLにつきましては、
現状SI Object Browserの内部で生成が行われるため、本事象の回避ができません。
誠に恐れ入りますが、該当のファンクションを実行する際には
別途SQL実行画面からの実行をお願いできますでしょうか。
大変ご不便をおかけしてしまい、誠に申し訳ありません。
本事象につきましては、開発に伝えた上で
今後の機能改善として検討させていただきます。
何卒よろしくお願い申し上げます。
返信を投稿
OB