概要
TDV標準のPostgreSQLアダプタではデフォルト設定でBoolean型の比較演算子をデータソース側にプッシュダウンできません。
本手順では、Boolean型の比較演算子をプッシュダウン可能にする手順を説明します。
本手順ではPostgreSQL 9.1 アダプタで行うますが、PostgreSQL 12などの他のPostgreSQLアダプタでも適用可能です。
検証環境
製品 | バージョン | 備考 |
---|---|---|
TDV Server |
8.5.5 |
Windows Server 2019環境で実行 |
TDV Studo |
手順
1. アダプタの設定ファイルが存在する以下のパスに移動します。
[TDV Serverインストールフォルダ]\conf\adapters\system\postgresql_9_1
2. postgresql_9_1_values.xml
をテキストエディタなどで開きます。
3. ファイル先頭から4行目あたり、Please insert customized elements after this line.
のコメント下に以下の内容を記載します。
<common:attributes xmlns:common="http://www.compositesw.com/services/system/util/common">
<ns499:attribute xmlns:ns499="http://www.compositesw.com/services/system/util/common">
<ns499:name>/custom/comp.eq_pattern</ns499:name>
<ns499:type>STRING</ns499:type>
<ns499:value>(@date,@date)||(@boolean,@boolean)||(~number,~number)||(@char,@char)||(@char,~number)||(@char,raw)||(@char,@varchar)||(@char,@timestamp)||(@varchar,@varchar)||(varchar,~number)||(varchar2,~number)||(nvarchar,~number)||(nvarchar2,~number)||(varchar,raw)||(varchar2,raw)||(nvarchar,raw)||(nvarchar2,raw)||(varchar,@timestamp)||(varchar2,@timestamp)||(nvarchar,@timestamp)||(nvarchar2,@timestamp)||(@timestamp,@timestamp)||(raw,raw)||(mlslabel,mlslabel)||(@date,@timestamp)||(@timestamp,@date)||(~interval_year,~interval_year)||(~interval_day,~interval_day)||(@time,@time)</ns499:value>
<ns499:configID>comp.eq_pattern</ns499:configID>
</ns499:attribute>
<ns509:attribute xmlns:ns509="http://www.compositesw.com/services/system/util/common">
<ns509:name>/custom/comp.ne_pattern</ns509:name>
<ns509:type>STRING</ns509:type>
<ns509:value>(@date,@date)||(@boolean,@boolean)||(~number,~number)||(@char,@char)||(@char,~number)||(@char,raw)||(@char,@varchar)||(@char,@timestamp)||(@varchar,@varchar)||(varchar,~number)||(varchar2,~number)||(nvarchar,~number)||(nvarchar2,~number)||(varchar,raw)||(varchar2,raw)||(nvarchar,raw)||(nvarchar2,raw)||(varchar,@timestamp)||(varchar2,@timestamp)||(nvarchar,@timestamp)||(nvarchar2,@timestamp)||(@timestamp,@timestamp)||(raw,raw)||(mlslabel,mlslabel)||(@date,@timestamp)||(@timestamp,@date)||(~interval_year,~interval_year)||(~interval_day,~interval_day)||(@time,@time)</ns509:value>
<ns509:configID>comp.ne_pattern</ns509:configID>
</ns509:attribute>
configIDがcomp.eq_pattern
のattributeがboolean型に対する比較演算子「=」をプッシュダウンさせるための設定で、configIDがcomp.ne_pattern
のattributeが比較演算子「!=」をプッシュダウンさせるための設定となります。
4. TDVサーバを再起動し、boolean型の比較演算子がプッシュダウンされていることを確認します。