Skip to content

Commit 3ddfd19

Browse files
author
Yoshinari Takaoka
committed
Improve and fix ODBC meta information retrieval functions
git-svn-id: https://svn.php.net/repository/phpdoc/ja/trunk@350627 c90b9560-bf6c-de11-be94-00142212c4b1
1 parent 9b8533f commit 3ddfd19

11 files changed

+608
-170
lines changed

language-snippets.ent

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: cb45cf977218b72b0ba93015683ee169d97d278b Maintainer: takagi Status: working -->
3+
<!-- EN-Revision: e7aa6e14255c8f942df87559fd6010d80222c228 Maintainer: takagi Status: working -->
44
<!-- Credits: hirokawa,haruki,shimooka,mumumu -->
55

66
<!ENTITY installation.enabled.disable 'この拡張モジュールはデフォルトで有効になっています。無効にしたい場合は、次のオプションを指定してコンパイルします。'>
@@ -1153,8 +1153,15 @@ object</parameter></term><listitem><para>手続き型のみ: <function>timezone_
11531153
<!ENTITY odbc.connection.id '<para xmlns="http://docbook.org/ns/docbook">ODBC 接続 ID。詳細は
11541154
<function>odbc_connect</function> を参照ください。</para>'>
11551155

1156-
<!ENTITY odbc.parameter.search 'このパラメータには次のような検索パターンを使用できます。
1157-
"&#x25;" はゼロ個以上の文字にマッチし、"_" はひとつの文字にマッチします。'>
1156+
<!ENTITY odbc.parameter.catalog 'カタログ(ODBC 2 の用語では &apos;修飾子&apos;)。'>
1157+
1158+
<!ENTITY odbc.parameter.schema 'スキーマ (ODBC 2 の用語では &apos;所有者&apos;)。'>
1159+
1160+
<!ENTITY odbc.parameter.search 'このパラメータには以下の検索パターンを使用できます。
1161+
<literal xmlns="http://docbook.org/ns/docbook">&#x25;</literal> はゼロ個以上の文字にマッチし、
1162+
<literal xmlns="http://docbook.org/ns/docbook">_</literal> はひとつの文字にマッチします。'>
1163+
1164+
<!ENTITY odbc.result.driver-specific 'ドライバは追加のカラムを返すことが出来ます。'>
11581165

11591166
<!-- OAUTH -->
11601167
<!ENTITY oauth.callback.error 'コールバック関数をコールできなかったり、

reference/uodbc/functions/odbc-columnprivileges.xml

Lines changed: 55 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 4f1897928902b04d08e0d8be04e0d27dc02da70b Maintainer: hirokawa Status: ready -->
3+
<!-- EN-Revision: e7aa6e14255c8f942df87559fd6010d80222c228 Maintainer: hirokawa Status: ready -->
44
<!-- CREDITS: takagi,mumumu -->
55
<refentry xml:id="function.odbc-columnprivileges" xmlns="http://docbook.org/ns/docbook">
66
<refnamediv>
@@ -35,15 +35,16 @@
3535
<term><parameter>catalog</parameter></term>
3636
<listitem>
3737
<para>
38-
修飾子。
38+
&odbc.parameter.catalog;
3939
</para>
4040
</listitem>
4141
</varlistentry>
4242
<varlistentry>
4343
<term><parameter>schema</parameter></term>
4444
<listitem>
4545
<para>
46-
所有者。
46+
&odbc.parameter.schema;
47+
&odbc.parameter.search;
4748
</para>
4849
</listitem>
4950
</varlistentry>
@@ -52,6 +53,7 @@
5253
<listitem>
5354
<para>
5455
テーブル名。
56+
&odbc.parameter.search;
5557
</para>
5658
</listitem>
5759
</varlistentry>
@@ -60,16 +62,12 @@
6062
<listitem>
6163
<para>
6264
カラム名。
65+
&odbc.parameter.search;
6366
</para>
6467
</listitem>
6568
</varlistentry>
6669
</variablelist>
6770
</para>
68-
<para>
69-
<parameter>schema</parameter>, <parameter>table_name</parameter> および
70-
<parameter>column_name</parameter> には検索パターン
71-
(ゼロ以上の文字にマッチする '%' や単一の文字にマッチする '_') を使用可能です。
72-
</para>
7371
</refsect1>
7472
<refsect1 role="returnvalues">
7573
&reftitle.returnvalues;
@@ -80,19 +78,58 @@
8078
<para>
8179
結果は以下のカラムを有します。
8280
<itemizedlist>
83-
<listitem><simpara>TABLE_QUALIFIER</simpara></listitem>
84-
<listitem><simpara>TABLE_OWNER</simpara></listitem>
85-
<listitem><simpara>TABLE_NAME</simpara></listitem>
86-
<listitem><simpara>GRANTOR</simpara></listitem>
87-
<listitem><simpara>GRANTEE</simpara></listitem>
88-
<listitem><simpara>PRIVILEGE</simpara></listitem>
89-
<listitem><simpara>IS_GRANTABLE</simpara></listitem>
81+
<listitem><simpara><literal>TABLE_CAT</literal></simpara></listitem>
82+
<listitem><simpara><literal>TABLE_SCHEM</literal></simpara></listitem>
83+
<listitem><simpara><literal>TABLE_NAME</literal></simpara></listitem>
84+
<listitem><simpara><literal>COLUMN_NAME</literal></simpara></listitem>
85+
<listitem><simpara><literal>GRANTOR</literal></simpara></listitem>
86+
<listitem><simpara><literal>GRANTEE</literal></simpara></listitem>
87+
<listitem><simpara><literal>PRIVILEGE</literal></simpara></listitem>
88+
<listitem><simpara><literal>IS_GRANTABLE</literal></simpara></listitem>
9089
</itemizedlist>
90+
&odbc.result.driver-specific;
9191
</para>
92-
<para>
93-
結果セットは TABLE_QUALIFIER、TABLE_OWNER、TABLE_NAME でソートされます。
94-
</para>
92+
<simpara>
93+
結果セットは <literal>TABLE_CAT</literal>, <literal>TABLE_SCHEM</literal>,
94+
<literal>TABLE_NAME</literal>, <literal>COLUMN_NAME</literal>, <literal>PRIVILEGE</literal> でソートされます。
95+
</simpara>
9596
</refsect1>
97+
98+
<refsect1 role="examples">
99+
&reftitle.examples;
100+
<example xml:id="odbc-columnprivileges.example.basic">
101+
<title>カラムの権限の一覧を表示する</title>
102+
<programlisting role="php">
103+
<![CDATA[
104+
<?php
105+
$conn = odbc_connect($dsn, $user, $pass);
106+
$privileges = odbc_columnprivileges($conn, 'TutorialDB', 'dbo', 'test', 'id');
107+
while (($row = odbc_fetch_array($privileges))) {
108+
print_r($row);
109+
break; // further rows omitted for brevity
110+
}
111+
?>
112+
]]>
113+
</programlisting>
114+
&example.outputs.similar;
115+
<screen>
116+
<![CDATA[
117+
Array
118+
(
119+
[TABLE_CAT] => TutorialDB
120+
[TABLE_SCHEM] => dbo
121+
[TABLE_NAME] => test
122+
[COLUMN_NAME] => id
123+
[GRANTOR] => dbo
124+
[GRANTEE] => dbo
125+
[PRIVILEGE] => INSERT
126+
[IS_GRANTABLE] => YES
127+
)
128+
]]>
129+
</screen>
130+
</example>
131+
</refsect1>
132+
96133
</refentry>
97134

98135
<!-- Keep this comment at the end of the file

reference/uodbc/functions/odbc-columns.xml

Lines changed: 77 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 4f1897928902b04d08e0d8be04e0d27dc02da70b Maintainer: hirokawa Status: ready -->
3+
<!-- EN-Revision: e7aa6e14255c8f942df87559fd6010d80222c228 Maintainer: hirokawa Status: ready -->
44
<!-- CREDITS: takagi,mumumu -->
55
<refentry xml:id="function.odbc-columns" xmlns="http://docbook.org/ns/docbook">
66
<refnamediv>
@@ -35,15 +35,16 @@
3535
<term><parameter>catalog</parameter></term>
3636
<listitem>
3737
<para>
38-
修飾子。
38+
&odbc.parameter.catalog;
3939
</para>
4040
</listitem>
4141
</varlistentry>
4242
<varlistentry>
4343
<term><parameter>schema</parameter></term>
4444
<listitem>
4545
<para>
46-
所有者。
46+
&odbc.parameter.schema;
47+
&odbc.parameter.search;
4748
</para>
4849
</listitem>
4950
</varlistentry>
@@ -52,6 +53,7 @@
5253
<listitem>
5354
<para>
5455
テーブル名。
56+
&odbc.parameter.search;
5557
</para>
5658
</listitem>
5759
</varlistentry>
@@ -60,16 +62,12 @@
6062
<listitem>
6163
<para>
6264
カラム名。
65+
&odbc.parameter.search;
6366
</para>
6467
</listitem>
6568
</varlistentry>
6669
</variablelist>
6770
</para>
68-
<para>
69-
<parameter>schema</parameter>, <parameter>table_name</parameter> および
70-
<parameter>column_name</parameter> には検索パターン
71-
(ゼロ以上の文字にマッチする '%' や単一の文字にマッチする '_') を使用可能です。
72-
</para>
7371
</refsect1>
7472
<refsect1 role="returnvalues">
7573
&reftitle.returnvalues;
@@ -79,29 +77,84 @@
7977
<para>
8078
結果セットは以下のカラムを有しています。
8179
<itemizedlist>
82-
<listitem><simpara>TABLE_QUALIFIER</simpara></listitem>
83-
<listitem><simpara>TABLE_SCHEM</simpara></listitem>
84-
<listitem><simpara>TABLE_NAME</simpara></listitem>
85-
<listitem><simpara>COLUMN_NAME</simpara></listitem>
86-
<listitem><simpara>DATA_TYPE</simpara></listitem>
87-
<listitem><simpara>TYPE_NAME</simpara></listitem>
88-
<listitem><simpara>PRECISION</simpara></listitem>
89-
<listitem><simpara>LENGTH</simpara></listitem>
90-
<listitem><simpara>SCALE</simpara></listitem>
91-
<listitem><simpara>RADIX</simpara></listitem>
92-
<listitem><simpara>NULLABLE</simpara></listitem>
93-
<listitem><simpara>REMARKS</simpara></listitem>
80+
<listitem><simpara><literal>TABLE_CAT</literal></simpara></listitem>
81+
<listitem><simpara><literal>TABLE_SCHEM</literal></simpara></listitem>
82+
<listitem><simpara><literal>TABLE_NAME</literal></simpara></listitem>
83+
<listitem><simpara><literal>COLUMN_NAME</literal></simpara></listitem>
84+
<listitem><simpara><literal>DATA_TYPE</literal></simpara></listitem>
85+
<listitem><simpara><literal>TYPE_NAME</literal></simpara></listitem>
86+
<listitem><simpara><literal>COLUMN_SIZE</literal></simpara></listitem>
87+
<listitem><simpara><literal>BUFFER_LENGTH</literal></simpara></listitem>
88+
<listitem><simpara><literal>DECIMAL_DIGITS</literal></simpara></listitem>
89+
<listitem><simpara><literal>NUM_PREC_RADIX</literal></simpara></listitem>
90+
<listitem><simpara><literal>NULLABLE</literal></simpara></listitem>
91+
<listitem><simpara><literal>REMARKS</literal></simpara></listitem>
92+
<listitem><simpara><literal>COLUMN_DEF</literal></simpara></listitem>
93+
<listitem><simpara><literal>SQL_DATA_TYPE</literal></simpara></listitem>
94+
<listitem><simpara><literal>SQL_DATETIME_SUB</literal></simpara></listitem>
95+
<listitem><simpara><literal>CHAR_OCTET_LENGTH</literal></simpara></listitem>
96+
<listitem><simpara><literal>ORDINAL_POSITION</literal></simpara></listitem>
97+
<listitem><simpara><literal>IS_NULLABLE</literal></simpara></listitem>
9498
</itemizedlist>
99+
&odbc.result.driver-specific;
95100
</para>
96-
<para>
97-
結果セットは TABLE_QUALIFIER、TABLE_SCHEM、TABLE_NAME でソートされます。
98-
</para>
101+
<simpara>
102+
結果セットは <literal>TABLE_CAT</literal>, <literal>TABLE_SCHEM</literal>,
103+
<literal>TABLE_NAME</literal>, <literal>ORDINAL_POSITION</literal> でソートされます。
104+
</simpara>
99105
</refsect1>
106+
107+
<refsect1 role="examples">
108+
&reftitle.examples;
109+
<example xml:id="odbc-columns.example.basic">
110+
<title>テーブルのカラム一覧を表示する</title>
111+
<programlisting role="php">
112+
<![CDATA[
113+
<?php
114+
$conn = odbc_connect($dsn, $user, $pass);
115+
$columns = odbc_columns($conn, 'TutorialDB', 'dbo', 'test', '%');
116+
while (($row = odbc_fetch_array($columns))) {
117+
print_r($row);
118+
break; // further rows omitted for brevity
119+
}
120+
?>
121+
]]>
122+
</programlisting>
123+
&example.outputs.similar;
124+
<screen>
125+
<![CDATA[
126+
Array
127+
(
128+
[TABLE_CAT] => TutorialDB
129+
[TABLE_SCHEM] => dbo
130+
[TABLE_NAME] => TEST
131+
[COLUMN_NAME] => id
132+
[DATA_TYPE] => 4
133+
[TYPE_NAME] => int
134+
[COLUMN_SIZE] => 10
135+
[BUFFER_LENGTH] => 4
136+
[DECIMAL_DIGITS] => 0
137+
[NUM_PREC_RADIX] => 10
138+
[NULLABLE] => 0
139+
[REMARKS] =>
140+
[COLUMN_DEF] =>
141+
[SQL_DATA_TYPE] => 4
142+
[SQL_DATETIME_SUB] =>
143+
[CHAR_OCTET_LENGTH] =>
144+
[ORDINAL_POSITION] => 1
145+
[IS_NULLABLE] => NO
146+
)
147+
]]>
148+
</screen>
149+
</example>
150+
</refsect1>
151+
100152
<refsect1 role="seealso">
101153
&reftitle.seealso;
102154
<para>
103155
<simplelist>
104-
<member>付随する権限を取得するには <function>odbc_columnprivileges</function></member>
156+
<member><function>odbc_columnprivileges</function></member>
157+
<member><function>odbc_procedurecolumns</function></member>
105158
</simplelist>
106159
</para>
107160
</refsect1>

0 commit comments

Comments
 (0)