argra****@users*****
argra****@users*****
2012年 3月 17日 (土) 00:57:59 JST
Index: docs/modules/DBI-1.612/DBI.pod diff -u docs/modules/DBI-1.612/DBI.pod:1.6 docs/modules/DBI-1.612/DBI.pod:1.7 --- docs/modules/DBI-1.612/DBI.pod:1.6 Tue Feb 14 02:11:38 2012 +++ docs/modules/DBI-1.612/DBI.pod Sat Mar 17 00:57:58 2012 @@ -1065,10 +1065,8 @@ =end original -The following technique illustrates qualifying a C<WHERE> clause with -several columns, whose associated values (C<defined> or C<undef>) are -in a hash %h: -(TBT) +以下のテクニックは、結びつける値 (C<defined> or C<undef>) がハッシュ %h に +入っている複数の列の C<WHERE> 句の作成方法を示しています: for my $col ("age", "phone", "email") { if (defined $h{$col}) { @@ -1094,11 +1092,10 @@ =end original -The techniques above call prepare for the SQL statement with each call to -execute. Because calls to prepare() can be expensive, performance -can suffer when an application iterates many times over statements -like the above. -(TBT) +上述のテクニックは実行するそれぞれの呼び出しの SQL 文のために prepare を +呼び出します。 +prepare() の呼び出しはコストが高いので、上述のようにアプリケーションが +文を何回も繰り返すと性能に影響を与えるかもしれません。 =begin original @@ -1113,15 +1110,15 @@ =end original -A better solution is a single C<WHERE> clause that supports both -NULL and non-NULL comparisons. Its SQL statement would need to be -prepared only once for all cases, thus improving performance. -Several examples of C<WHERE> clauses that support this are presented -below. But each example lacks portability, robustness, or simplicity. -Whether an example is supported on your database engine depends on -what SQL extensions it provides, and where it supports the C<?> -placeholder in a statement. -(TBT) +よりよい解決法は、NULL と非 NULL 比較の両方に対応した単一の +C<WHERE> 句です。 +この SQL 文は全ての場合に置いて 1 回だけ prepare する必要があるので、 +性能が向上します。 +これに対応するためのいくつかの C<WHERE> 句の例を以下に示します。 +しかしそれぞれの例には互換性、堅牢性、単純性に欠けています。 +あなたが使うデータベースエンジンでどの例が対応しているかは、 +どの SQL 拡張を提供しているかと、文中のどこに C<?> プレースホルダが +対応しているかに依存します。 0) age = ? 1) NVL(age, xx) = NVL(?, xx) @@ -1139,10 +1136,8 @@ =end original -Statements formed with the above C<WHERE> clauses require execute -statements as follows. The arguments are required, whether their -values are C<defined> or C<undef>. -(TBT) +上述の C<WHERE> 句の形式の文は、以下のように文を実行する必要があります。 +値が C<defined> か C<undef> かを示す引数が必要です。 0,1,2,3) $sth->execute($age); 4,5) $sth->execute($age, $age); @@ -1158,12 +1153,10 @@ =end original -Example 0 should not work (as mentioned earlier), but may work on -a few database engines anyway (e.g. Sybase). Example 0 is part -of examples 4, 5, and 6, so if example 0 works, these other -examples may work, even if the engine does not properly support -the right hand side of the C<OR> expression. -(TBT) +例 0 は(前述したように)動作しないかもしれませんが、それでも(Sybase のような) +いくつかのデータベースエンジンでは動作します。 +例 0 は例 4, 5, 6 の一部なので、例 0 が動作すれば、例えエンジンが C<OR> 式の +右側を正しく対応していないとしても、他の例も動作します。 =begin original @@ -1174,7 +1167,7 @@ =end original -Examples 1 and 2 are not robust: they require that you provide a +例 1 と 2 は頑強ではありません: they require that you provide a valid column value xx (e.g. '~') which is not present in any row. That means you must have some notion of what data won't be stored in the column, and expect clients to adhere to that. @@ -1188,10 +1181,9 @@ =end original -Example 5 requires that you provide a stored procedure (SP_ISNULL -in this example) that acts as a function: it checks whether a value -is null, and returns 1 if it is, or 0 if not. -(TBT) +例 5 は、関数のように動作するストアドプロシージャ (例えば SP_ISNULL) を +提供する必要があります: これは値が null かどうかをチェックして、そうなら +1 を、さもなければ 0 を返します。 =begin original @@ -1241,12 +1233,11 @@ =end original -DBI provides a sample perl script that will test the examples above -on your database engine and tell you which ones work. It is located -in the F<ex/> subdirectory of the DBI source distribution, or here: +DBI は、上述の例をあなたのデータベースでテストして動作するかどうかを +知らせてくれるサンプル perl スクリプトを提供しています。 +これは DBI ソース配布の F<ex/> サブディレクトリか、以下の場所にあります: L<http://svn.perl.org/modules/dbi/trunk/ex/perl_dbi_nulls_test.pl> -Please use the script to help us fill-in and maintain this table. -(TBT) +スクリプトを、この表を埋めて保守する助けに使ってください。 =begin original @@ -1421,10 +1412,9 @@ =end original -Breaks apart a DBI Data Source Name (DSN) and returns the individual -parts. If $dsn doesn't contain a valid DSN then parse_dsn() returns -an empty list. -(TBT) +DBI データソース名(Data Source Name) (DSN) を分解して、それぞれの部分を +返します。 +$dsn に有効な DSN が含まれていない場合、parse_dsn() は空リストを返します。 =begin original @@ -1437,13 +1427,14 @@ =end original -$scheme is the first part of the DSN and is currently always 'dbi'. -$driver is the driver name, possibly defaulted to $ENV{DBI_DRIVER}, -and may be undefined. $attr_string is the contents of the optional attribute -string, which may be undefined. If $attr_string is not empty then $attr_hash -is a reference to a hash containing the parsed attribute names and values. -$driver_dsn is the last part of the DBI DSN string. For example: -(TBT) +$scheme は DSN の最初の部分で、現在のところ常に 'dbi' です。 +$driver はドライバ名で、おそらくデフォルトは $ENV{DBI_DRIVER} で、 +未定義値かもしれません。 +$attr_string はオプションの属性文字列の内容で、未定義値かもしれません。 +$attr_string が空でないなら、$attr_hash はパースされた属性名と値を含む +ハッシュへのリファレンスです。 +$driver_dsn は DBI DSN 文字列の最後の部分です。 +例えば: ($scheme, $driver, $attr_string, $attr_hash, $driver_dsn) = DBI->parse_dsn("DBI:MyDriver(RaiseError=>1):db=test;port=42"); @@ -1578,16 +1569,15 @@ =end original -It is recommended that drivers support the ODBC style, shown in the -last example above. It is also recommended that that they support the -three common names 'C<host>', 'C<port>', and 'C<database>' (plus 'C<db>' -as an alias for C<database>). This simplifies automatic construction -of basic DSNs: C<"dbi:$driver:database=$db;host=$host;port=$port">. -Drivers should aim to 'do something reasonable' when given a DSN -in this form, but if any part is meaningless for that driver (such -as 'port' for Informix) it should generate an error if that part -is not empty. -(TBT) +ドライバは上述の最後の例である ODBC 形式に対応することが推奨されています。 +また、三つの共通の名前 'C<host>', 'C<port>', 'C<database>' (および +C<database> の別名としての 'C<db>') に対応することも推奨されています。 +これにより基本的な DSN の自動的な構築が簡単になります: +C<"dbi:$driver:database=$db;host=$host;port=$port">。 +ドライバは、DSN がこの形式で与えられたとき、「何か意味のあることをする」 +ことを目指すべきですが、(Infomix にとっての 'port' のように)どれかの部分が +このドライバにとって意味がない場合、その部分が空でないときには +エラーを発生させるべきです。 =begin original @@ -1987,10 +1977,9 @@ =end original -Returns a list of driver name and driver handle pairs for all drivers -'installed' (loaded) into the current process. The driver name does not -include the 'DBD::' prefix. -(TBT) +現在のプロセスに「インストールされた」(読み込まれた)全てのドライバの +ドライバ名とドライバハンドルの組のリストを返します。 +ドライバ名には 'DBD::' 接頭辞は付いていません。 =begin original @@ -2025,11 +2014,11 @@ =end original -Calls available_drivers() and attempts to load each of them in turn -using install_driver(). For each load that succeeds the driver -name and version number are added to a hash. When running under -L<DBI::PurePerl> drivers which appear not be pure-perl are ignored. -(TBT) +available_drivers() を呼び出して、そのそれぞれに対して install_driver() を +使って読み込もうとします。 +読み込みに成功したドライバの名前とバージョン番号はハッシュに追加されます。 +L<DBI::PurePerl> ドライバで実行するとピュア perl でないように見える +ドライバは無視されます。 =begin original @@ -2039,7 +2028,7 @@ =end original 配列コンテキストで呼び出されると、読み込みに成功したドライバのリストが -('DBD::' の前置詞なしで) 返されます。 +('DBD::' の接頭辞なしで) 返されます。 =begin original @@ -2049,10 +2038,9 @@ =end original -When called in scalar context a reference to the hash is returned -and the hash will also contain other entries for the C<DBI> version, -C<OS> name, etc. -(TBT) +スカラコンテキストで呼び出されると、ハッシュへのリファレンスが返され、 +このハッシュには C<DBI> バージョン、C<OS> 名などのその他のエントリも +含まれます。 =begin original @@ -2073,11 +2061,10 @@ =end original -Due to the potentially high memory cost and unknown risks of loading -in an unknown number of drivers that just happen to be installed -on the system, this method is not recommended for general use. -Use available_drivers() instead. -(TBT) +潜在的にメモリコストが高いことと、何個か分からないシステムに +インストールされているドライバを読み込むという不明なリスクがあるので、 +このメソッドは一般的な使用は推奨されません。 +代わりに available_drivers() を使ってください。 =begin original @@ -2177,10 +2164,9 @@ =end original -The C<DBI-E<gt>trace> method sets the I<global default> trace -settings and returns the I<previous> trace settings. It can also -be used to change where the trace output is sent. -(TBT) +C<DBI-E<gt>trace> メソッドは I<グローバルにデフォルトの> トレース設定を +セットし、I<以前の> トレース設定を返します。 +これはまた、トレース出力をどこに送るかを変更するためにも使います。 =begin original @@ -2328,11 +2314,10 @@ =end original -The initial C<UTF8> on/off refers to Perl's internal SvUTF8 flag. -If $string has the SvUTF8 flag set but the sequence of bytes it -contains are not a valid UTF-8 encoding then data_string_desc() -will report C<UTF8 on but INVALID encoding>. -(TBT) +最初の C<UTF8> on/off は Perl 内部の SvUTF8 フラグを参照します。 +$string に SvUTF8 フラグがセットされているけれどもその内容が有効な +UTF-8 エンコーディングでない場合、data_string_desc() は +C<UTF8 on but INVALID encoding> と報告します。 =begin original @@ -3320,11 +3305,10 @@ =end original -Returns true if $method_name is implemented by the driver or a -default method is provided by the DBI. -It returns false where a driver hasn't implemented a method and the -default method is provided by the DBI is just an empty stub. -(TBT) +$method_name がドライバによって実装されているか、デフォルトメソッドが +DBI によって提供されているなら真を返します。 +ドライバがこのメソッドを実装しておらず、DBI によって提供されている +デフォルトメソッドが空のスタブである場合は偽を返します。 =head3 C<parse_trace_flags> @@ -3348,10 +3332,9 @@ =end original -The $trace_settings argument is a string containing a trace level -between 0 and 15 and/or trace flag names separated by vertical bar -("C<|>") or comma ("C<,>") characters. For example: C<"SQL|3|foo">. -(TBT) +$trace_settings 引数は縦棒 ("C<|>") またはカンマ ("C<,>") 文字で区切られた、 +0 から 15 のトレースレベルやトレースフラグ名からなる文字列です。 +例: C<"SQL|3|foo">。 =begin original @@ -3384,11 +3367,10 @@ =end original -Returns the bit flag corresponding to the trace flag name in -$trace_flag_name. Drivers are expected to override this method and -check if $trace_flag_name is a driver specific trace flags and, if -not, then call the DBI's default parse_trace_flag(). -(TBT) +$trace_flag_name のトレースフラグ名に対応するビットフラグを返します。 +ドライバはこのメソッドをオーバーライドして、$trace_flag_name が +ドライバ固有のフラグかどうかをチェックし、そうでなければ DBI の +デフォルトの parse_trace_flag() を呼び出すことを想定されています。 =begin original @@ -3410,10 +3392,9 @@ =end original -Returns a reference to a hash whose keys are the names of driver-private -handle attributes available for the kind of handle (driver, database, statement) -that the method was called on. -(TBT) +メソッドが呼び出されたハンドルの種類(ドライバ、データベース、文)で +利用可能なドライバ固有のハンドル属性の名前をキーとしたハッシュへの +リファレンスを返します。 =begin original @@ -3465,7 +3446,7 @@ =end original -ハンドルに等価な中枢です。 +ハンドルの脳移植です。 ハンドルの外科医になろうと思っているのでない限りこれについて知る 必要はありません。 @@ -3480,13 +3461,14 @@ =end original -A DBI handle is a reference to a tied hash. A tied hash has an -I<inner> hash that actually holds the contents. The swap_inner_handle() -method swaps the inner hashes between two handles. The $h1 and $h2 -handles still point to the same tied hashes, but what those hashes -are tied to has been swapped. In effect $h1 I<becomes> $h2 and -vice-versa. This is powerful stuff, expect problems. Use with care. -(TBT) +DBI ハンドルは tie されたハッシュへのリファレンスです。 +tie されたハッシュは実際に内容を保持している I<内部> ハッシュを持っています。 +swap_inner_handle() メソッドは二つのハンドルの内部ハッシュを入れ替えます。 +$h1 と $h2 のハンドルは同じ tie されたハッシュを示したままですが、 +どのハッシュに tie しているかは入れ替わります。 +事実上 $h1 は $h2 に I<なり>、逆もまた真なりです。 +これは問題もはらんでいる、強力な機能です。 +注意して使ってください。 =begin original @@ -5447,7 +5429,8 @@ =end original -このセクションはデータベース・ハンドルに関連するメソッドと属性についてカバーします。 +このセクションはデータベース・ハンドルに関連するメソッドと属性について +カバーします。 =head2 Database Handle Methods @@ -5484,10 +5467,8 @@ =end original -The attributes for the cloned connect are the same as those used -for the original connect, with some other attributes merged over -them depending on the \%attr parameter. -(TBT) +複製された接続の属性は元の接続のものと同じものに、\%attr 引数によるものが +マージされたものです。 =begin original @@ -13535,14 +13516,14 @@ =end original - 0 - トレースを不可 + 0 - トレース無効 1 - トップレベル DBI メソッド呼び出しの戻りを結果またはエラーと一緒にトレース 2 - 加えてトップレベルメソッドのエントリをパラメータと一緒にトレース 3 - 加えてドライバからのいくつかのハイレベルな情報と DBIからのいくつかの内部情報を追加。 4 - 加えてドライバからのさらに詳細な情報を追加。 これはフェッチされる全ての行をトレースする最初のレベルです。 - 5 から 15 - 上記と同様。しかし値にしたがってさらに内部の情報。 + 5 から 15 - 上記と同様。しかし大きくなるに従ってさらに内部の情報。 =begin original @@ -13585,12 +13566,11 @@ =end original -Trace I<flags> are used to enable tracing of specific activities -within the DBI and drivers. The DBI defines some trace flags and -drivers can define others. DBI trace flag names begin with a capital -letter and driver specific names begin with a lowercase letter, as -usual. -(TBT) +トレース I<フラグ> は DBI とドライバの内部の特定の機能のトレースを +有効にするために使われます。 +DBI がいくつかのトレースフラグを定義し、ドライバもいくつか定義します。 +通常通り、DBI のトレースフラグ名は大文字で始まり、ドライバ固有の名前は +小文字で始まります。 =begin original @@ -13619,9 +13599,8 @@ =end original -The L</parse_trace_flags> and L</parse_trace_flag> methods are used -to convert trace flag names into the corresponding integer bit flags. -(TBT) +L</parse_trace_flags> メソッドと L</parse_trace_flag> メソッドは +トレースフラグ名を対応する整数ビットフラグに変換するために使われます。 =head2 Enabling Trace @@ -13634,9 +13613,8 @@ =end original -The C<$h-E<gt>trace> method sets the trace settings for a handle -and C<DBI-E<gt>trace> does the same for the DBI. -(TBT) +C<$h-E<gt>trace> メソッドはハンドルのためのトレース設定を設定し、 +C<DBI-E<gt>trace> は DBI のためのものです。 =begin original @@ -13658,9 +13636,8 @@ =end original -Finally, you can set, or get, the trace settings for a handle using -the C<TraceLevel> attribute. -(TBT) +最後に、ハンドルのトレース設定は C<TraceLevel> 属性を使って +設定・取得できます。 =begin original @@ -13671,11 +13648,11 @@ =end original -All of those methods use parse_trace_flags() and so allow you set -both the trace level and multiple trace flags by using a string -containing the trace level and/or flag names separated by vertical -bar ("C<|>") or comma ("C<,>") characters. For example: -(TBT) +これら全てのメソッドは parse_trace_flags() を使っているので、 +トレースレベルとフラグ名を縦棒 ("C<|>") またはカンマ ("C<,>") 文字で +区切った文字列を使うことでトレースレベルと複数のトレースフラグの同時に +設定できます。 +例えば: local $h->{TraceLevel} = "3|SQL|foo"; @@ -13764,10 +13741,8 @@ =end original -Tied filehandles are not currently supported, as -tie operations are not available to the PerlIO -methods used by the DBI. -(TBT) +tie されたファイルハンドルは現在のところ対応していません; +tie 操作は DBI で使っている PerlIO で利用できないからです。 =item * @@ -13788,9 +13763,9 @@ =end original -As of version 5.8, Perl provides the ability to layer various -"disciplines" on an open filehandle via the L<PerlIO> module. -(TBT) +バージョン 5.8 から、Perl は開いたファイルハンドルに対して +L<PerlIO> モジュールを通して様々な「ディシプリン」を積み重ねる機能を +提供しています。 =begin original @@ -13811,7 +13786,6 @@ =end original ここで全てのトレース出力は単純に $scalar に追加されます。 -(TBT) =begin original @@ -13875,9 +13849,8 @@ =end original -To redirect DBI traces to this logger requires creating -a package for the layer: -(TBT) +DBI トレースをこのロガーにリダイレクトするには、層のためのパッケージを作る +必要があります: package PerlIO::via::MyFancyLogLayer; @@ -13937,9 +13910,8 @@ =end original -Now all trace output will be processed by MyFancyLogger's -log() method. -(TBT) +ここで全てのトレース出力は MyFancyLogger の log() メソッドによって +処理されます。 =head2 Trace Content @@ -13953,10 +13925,11 @@ =end original -Many of the values embedded in trace output are formatted using the neat() -utility function. This means they may be quoted, sanitized, and possibly -truncated if longer than C<$DBI::neat_maxlen>. See L</neat> for more details. -(TBT) +トレース出力に含まれている値の多くは neat() ユーティリティ関数を使って +フォーマットされます。 +つまり、クォートされ、サニタイズされ、C<$DBI::neat_maxlen> より長い場合は +切り詰められるかもしれないことを意味します。 +さらなる詳細については L</neat> を参照してください。 =head2 Tracing Tips @@ -14201,7 +14174,7 @@ =end original -もはや使うべきではない古い変数; DBI_TRACE と等価。 +もはや使うべきではない古い変数です; DBI_TRACE と等価です。 =head2 DBI_PROFILE @@ -14212,9 +14185,9 @@ =end original -The DBI_PROFILE environment variable can be used to enable profiling -of DBI method calls. See L<DBI::Profile> for more information. -(TBT) +DBI_PROFILE 環境変数は DBI メソッド呼び出しのプロファイリングを +有効にするために使われます。 +さらなる情報については L<DBI::Profile> を参照してください。 =head2 DBI_PUREPERL @@ -14225,9 +14198,9 @@ =end original -The DBI_PUREPERL environment variable can be used to enable the -use of DBI::PurePerl. See L<DBI::PurePerl> for more information. -(TBT) +DBI_PUREPERL 環境変数は DBI::PurePerl の使用を有効にするために +使われます。 +さらなる情報については L<DBI::PurePerl> を参照してください。 =head1 WARNING AND ERROR MESSAGES @@ -14336,10 +14309,10 @@ =end original -A pure-perl emulation of the DBI is included in the distribution -for people using pure-perl drivers who, for whatever reason, can't -install the compiled DBI. See L<DBI::PurePerl>. -(TBT) +なんらかの理由によってコンパイルされた DBI をインストールできないために +ピュア Perl ドライバを使う人々のために、DBI の +ピュア Perl エミュレーションがこの配布に含まれています。 +L<DBI::PurePerl> を参照してください。 =head1 SEE ALSO @@ -14483,7 +14456,7 @@ Programming the Perl DBI, by Alligator Descartes and Tim Bunce. L<http://books.perl.org/book/154> -(TBT) +(訳注: 入門Perl DBI) =begin original @@ -14494,7 +14467,7 @@ Programming Perl 3rd Ed. by Larry Wall, Tom Christiansen & Jon Orwant. L<http://books.perl.org/book/134> -(TBT) +(訳注: プログラミング Perl) =begin original @@ -14505,7 +14478,7 @@ Learning Perl by Randal Schwartz. L<http://books.perl.org/book/101> -(TBT) +(訳注: 初めてのPerl) =begin original @@ -14539,11 +14512,9 @@ =end original -For a good comparison of RDBMS-OO mappers and some OO-RDBMS mappers -(including Class::DBI, Alzabo, and DBIx::RecordSet in the former -category and Tangram and SPOPS in the latter) see the Perl -Object-Oriented Persistence project pages at: -(TBT) +RDBMS-OO マッパーと OO-RDBMS マッパー(前者は Class::DBI, Alzabo, +DBIx::RecordSet、後者は Tangram と SPOPS)の良い比較については +以下の Perl Object-Oriented Persistence プロジェクトを参照してください: http://poop.sourceforge.net