[pgsql-jp: 36284] Re: odbc経由の配列

hirano hirano @ valuenet.co.jp
2005年 10月 31日 (月) 11:20:34 JST


平野と申します。

MDAC 2.8 SP1 ON WINDOWS XP(Pro) SP2 - Delphi7Ent 

> Postgresのodbcドライバーは、version 8.00.01.02 です。

このドライバがみつかりませんでしたので、以下のドライバで
ちょっと確認してみました。
----
PostgreSQL ODBCドライバ  Ver 7.03.02.08
(PostgreSQL Version 8.0.4 日本語インストーラ付属のもの)
----

この環境では、(実行結果を下部に貼り付けましたが)
どうやら、配列を添え字指定しないでSelectすると
「ftString」(Delphiの文字列)としてDelphiのDataSet
クラスが判定しているようです。
添え字指定の場合は「ftFixedChar」として判定している
模様。
ftArrayという型判定の選択肢もありますが、ftArrayには
判定していない様子。

> みなさんの所では、ちゃんと配列型で認識されていますでしょうか
> ご存じの片がいらっしゃいましたら、ご返答よろしくお願いいたします。

ODBCで上記を判定したのか、Delphi側で判定したのか不明
ですが、私の環境でも「配列型で認識していないです」と
いう報告まで。


(以下、弊社ツールでの実行ログ)
select version()
version                                                                                  
---------------------------------------------------------------------------------------- 
PostgreSQL 8.0.3 on i686-pc-mingw32, compiled by GCC gcc.exe (GCC) 3.4.2 (mingw-special) 

結果:1件 (10ms)


DROP TABLE AAA
実行しました。 (1642ms)

CREATE TABLE AAA(
 c1 INTEGER NOT NULL PRIMARY KEY,
 c2 BOOLEAN[3] NOT NULL DEFAULT ARRAY[true,true,true]
)
実行しました。 (1712ms)

insert into aaa  (c1) values (1)
結果: 1 件更新 (10ms)

insert into aaa  (c1) values (2)
結果: 1 件更新 (10ms)

insert into aaa  (c1) values (3)
結果: 1 件更新 (10ms)

select * from aaa
c1 c2      
-- ------- 
 1 {t,t,t} 
 2 {t,t,t} 
 3 {t,t,t} 

結果:3件 (30ms)

select c1,c2[1] from aaa
c1 c2 
-- -- 
 1 1  
 2 1  
 3 1  

結果:3件 (10ms)

select c1,c2 from aaa where c2[1] = true
c1 c2      
-- ------- 
 1 {t,t,t} 
 2 {t,t,t} 
 3 {t,t,t} 

結果:3件 (10ms)

select c1,c2 from aaa where c2[1] = false
c1 c2 
-- -- 

結果:0件 (10ms)


0--------1---------2---------3---------4---------5
株式会社バリューソフトウエア

平野 源
hirano @ valuenet.co.jp

ValueSQL -- For all SQL developers --  
http://gwsrv.valuenet.co.jp/ValueSQL/pukiwiki.php
0--------1---------2---------3---------4---------5




pgsql-jp メーリングリストの案内