= CSS 3.2.16 stored procedure 対応版(CSS 3.2.16.1) = CSS 3.2.16の不満に挙げられる最大の問題点は、DataBrowserの動作が遅いことである。[[br]] これは、DBのサイズ(件数、ファイル)が大きいのと、検索結果の全データをCSSクライアント側に持ってきてから処理することに起因する。[[br]] DBサイズは今のところ解決策がないが、データ転送量は、サーバー側での負担は増えるが、データの最大/最小/平均値をサーバー側で計算して間引くことで減らすことができる。[[br]] CSS4.0では対応する全てのDBシステム用のStored Procedure(SQL Function)が用意されているが、CSS 3.2.xの開発中にはPostgreSQLだけ使われていなかったようで未対応だった。(Oracle,MySQLは対応済)[[br]] 試しにCSS4.0とPostgreSQL9.4で実験してみたところ、データ転送量が劇的に減少したので、CSS4.0からCSS3.2.16へバックマージしたもの作成した。 '''注意: この機能を使うには、サーバー側DBにstored procedureをインストールする必要がある。''' * stored procedure 対応版(CSS 3.2.16.1 20150330_104909) || Windows 32bit版 || [http://erlserv1.kek.jp:8081/css/css_kek_3.2.16.1-win32.win32.x86_20150330_104909.zip css_kek_3.2.16.1-win32.win32.x86_20150330_104909.zip] || || Windows 64bit版 || [http://erlserv1.kek.jp:8081/css/css_kek_3.2.16.1-win32.win32.x86_64_20150330_104909.zip css_kek_3.2.16.1-win32.win32.x86_64_20150330_104909.zip] || || Mac OSX 32bit版 || [http://erlserv1.kek.jp:8081/css/css_kek_3.2.16.1-macosx.cocoa.x86_20150330_104909.zip css_kek_3.2.16.1-macosx.cocoa.x86_20150330_104909.zip] || || Mac OSX 64bit版 || [http://erlserv1.kek.jp:8081/css/css_kek_3.2.16.1-macosx.cocoa.x86_64_20150330_104909.zip css_kek_3.2.16.1-macosx.cocoa.x86_64_20150330_104909.zip] || || Linux 32bit版 || [http://erlserv1.kek.jp:8081/css/css_kek_3.2.16.1-linux.gtk.x86_20150330_104909.zip css_kek_3.2.16.1-linux.gtk.x86_20150330_104909.zip] || || Linux 64bit版 || [http://erlserv1.kek.jp:8081/css/css_kek_3.2.16.1-linux.gtk.x86_64_20150330_104909.zip css_kek_3.2.16.1-linux.gtk.x86_64_20150330_104909.zip] || || Source || [http://erlserv1.kek.jp:8081/css/css_kek_3.2.16.1-src_20150330_104909.zip css_kek_3.2.16.1-src_20150330_104909.zip] || == サーバー側DBの設定 == この機能を使うには、サーバー側DBに stored procedure をインストールする必要がある。[[br]] DBがPostgreSQL 9.xの場合には、[http://erlserv1.kek.jp:8081/css/postgresSQL_procedures.sql このSQL文]を、PostgreSQL8.xの場合には、[http://erlserv1.kek.jp:8081/css/postgresSQL_procedures_8x.sql このSQL文]を使用する。 === stored procedure インストール === psqlで稼働中のDBに接続する。[[br]] この例では、サーバーがpfrproc5(Linux)、ポート番号はデフォルトの5432、DBはPostgreSQL9.4.1を使用する。PostgreSQL8.xはpostgresSQL_procedures.sqlをpostgresSQL_procedures_8x.sqlに読み替える。[[br]] stored procedure のファイルを適当なディレクトリにダウンロード。[[br]] PostgreSQL 8.x の場合には、stored procedureをインストールする前に以下のコマンドを実行する必要がある。 {{{ [epics@pfrproc5] $ createlang plpgsql archive }}} ファイルをダウンロードしたディレクトリに移動して、以下のコマンドを実行。 {{{ [epics@pfrproc5] $ psql archive psql (9.4.1) Type "help" for help. archive=# \i postgresSQL_procedures.sql CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION archive=# \q }}} == クライアント側の設定 == クライアント側はデフォルトで対応するように変更済だが、設定の確認をするには、メインメニューから{{{Edit -> Preferences -> CSS Applications -> Trend -> RDB Archive Stored procedure }}}に{{{public.get_browser_data}}}が記述されているかを見ればいい。[[br]] [[Image(storedprocedure.png)]] この対応版CSSで設定をしたまま、stored procedureに対応していないDBに接続するとデータの取得ができなくなる。[[br]] なので、接続するDBは全てこの対応をするか、設定を削除する必要があるので注意。