[PHP-users 11192] Re: pg_convert について

Yasuo Ohgaki php-users@php.gr.jp
Wed, 30 Oct 2002 15:24:57 +0900


大垣です。

# マニュアル書きさぼっています。

Osamu Shigematsu wrote:
> 重松です。こんにちは。
> 
> 今、CSV データをゴリゴリと DB に突っ込むのを作ってるのですが、
> pg_insert() を使うと、ものすごく楽ができそうです。
> そこで、使ってみようと思いますが、pg_convert() が気になります。
> # 4.3.0 PR2 もでたことですし。
> 
> マニュアルには、「SQL命令として実行可能な形式の連想配列の値に変換する」
> としか書いてないので、
> 
> 	http://www.php.net/manual/ja/function.pg-convert.php
> 
> たとえば、boolean なども、配列の要素に "あいうえお" が入っていたとして、
> true にするのか、そこまで大きなお世話はしないのか、

そこまで、余計なお世話はしません。't', 'f', TRUE, FALSE, 0, 1, 'y', 'n',
'yes', 'no', 'true', 'false', を渡してください。それ以外はエラーになります。

# 色々ありすぎだったりして...

PGSQL_CONV_FORCE_NULLをオプションに指定すると、""(ヌル文字)がの
場合、NULLを挿入します。

> 日付などは、どういう変換をするのか、わかりません。
> # php には日付型はないですよね?

日付、時間はISO形式の*ような*形式のみサポートしています。
今のところ、タイムゾーン、AM,PMはサポートしていません。

2002/10/29 14:30:23
14:32
01:05
14:23:22
2002/01/02
などの形式のみ受け付けます。

intervalは大方、使えると思います。動作しない場合は教えてください。
直します。

INET/CIDR/MAC Addressは使えます。

DATE/DATETIME/TEXT/CHAR/VAR CHAR/INTEGER/NUMBER/FLOAT/BOOL
OID/BYTEAなど基本的なデータ型には対応しています。

> 
> 結局、使ってみるか、ソースを読むかしかないような気もするのですが、
> もう少し、まとまっている仕様書はないのでしょうか?

ありません :)

今まで作った部分を互換性を損なう形で変更はしない予定ですが、
実は、まだ追加/変更を加えたい部分たくさんあります。

1) 永続的なmetadataキャッシュ (これがあるとかなり早くなる
2) 未対応のデータ型対応 (circle、line、配列などは
3) ユーザー定義型のへの対応 (コールバックを登録して処理

追加したい事ばかりなので、ほとんど何も書いていません。

> ところで、いつも思うんですが、Object から任意の型変換 (の定義)
> というのは、いつになったらできるのでしょうか?
> 
> これができるようになれば、こういう問題もすっきりする気もするんですが。

ZendEngine2(PHP5)リストでは話題になっていましたが、最終的に
どうなったのか忘れました。

--
Yasuo Ohgaki