reference/pdo_cubrid/reference.xml
11a49566970d661597de32aa3ef434e80d96804e
...
...
@@ -1,88 +1,98 @@
1
1
<?xml version="1.0" encoding="utf-8"?>
2
-
<!-- $Revision$ -->
2
+
<reference xml:id="ref.pdo-cubrid" xmlns="http://docbook.org/ns/docbook"><?phpdoc extension-membership="pecl" ?>
3
+
<title>CUBRID Functions (PDO_CUBRID)</title>
4
+
<titleabbrev>CUBRID (PDO)</titleabbrev>
5
+
<partintro>
3
6

4
-
<reference xml:id="ref.pdo-cubrid" xmlns="http://docbook.org/ns/docbook">
5
-
<title>CUBRID Functions (PDO_CUBRID)</title>
6
-
<titleabbrev>CUBRID (PDO)</titleabbrev>
7
-
<partintro>
7
+
<section xml:id="pdo-cubrid.intro">&reftitle.intro;
8
+
<para>
9
+
PDO_CUBRID is a driver that implements the
10
+
<link linkend="intro.pdo">PHP Data Objects (PDO) interface</link>
11
+
to enable access from PHP to CUBRID databases.
12
+
</para>
13
+
<note><para>
14
+
Current version of PDO_CUBRID doesn't support persistent connection now.
15
+
</para></note>
16
+
</section>
17
+

18
+
<!-- Information found in configure.xml -->
19
+
&reference.pdo-cubrid.configure;
20
+

21
+
<section xml:id="ref.pdo-cubrid.features">
22
+
<title>PDO_CUBRID Features</title>
23
+

24
+
<section>
25
+
<title>Scrollable cursors</title>
26
+
<simpara>
27
+
PDO_CUBRID supports scrollable cursors. The default cursor type is
28
+
forward only, and you can use parameter driver_options in
29
+
<methodname>PDO::prepare</methodname> to change cursor type.
30
+
</simpara>
31
+
</section>
32
+

33
+
<section>
34
+
<title>Timeout</title>
35
+
<simpara>
36
+
PDO_CUBRID supports sql statement execution timeout setting;
37
+
You can use <methodname>PDO::setAttribute</methodname> to set timeout value.
38
+
</simpara>
39
+
</section>
40
+

41
+
<section>
42
+
<title>Autocommit_mode and Transaction</title>
43
+

44
+
<simpara>
45
+
PDO_CUBRID supports both autocommit_mode and transaction, and
46
+
autocommit_mode is enabled by default. You can use
47
+
<methodname>PDO::setAttribute</methodname> to change its state.
48
+
</simpara>
49
+

50
+
<simpara>
51
+
If you use <methodname>PDO::beginTransaction</methodname> to begin a
52
+
transaction, it will disable autocommit_mode automatically and
53
+
restore it after <methodname>PDO::commit</methodname> or
54
+
<methodname>PDO::rollBack</methodname>.
55
+
</simpara>
8
56

9
-
<section xml:id="pdo-cubrid.intro">
10
-
&reftitle.intro;
11
-
<para>
12
-
PDO_CUBRID is a driver that implements the <link linkend="intro.pdo">PHP Data Objects (PDO) interface</link> to
13
-
enable access from PHP to CUBRID databases.
14
-
</para>
15
57
<note>
16
-
<para>
17
-
Current version of PDO_CUBRID doesn't support persistent connection now.
18
-
</para>
19
-
</note>
58
+
<simpara>
59
+
Prior do disabling autocommit_mode
60
+
any pending work is automatically committed.
61
+
</simpara>
62
+
</note>
63
+
</section>
64
+

65
+
<section>
66
+
<title>Multiple SQL Statements</title>
67
+
68
+
<simpara>
69
+
PDO_CUBRID supports Multiple SQL statements.
70
+
Multiple SQL statements are separated by semicolons (<literal>;</literal>).
71
+
</simpara>
72
+
</section>
73
+

74
+
<section>
75
+
<title>Schema Information</title>
76
+

77
+
<simpara>
78
+
PDO_CUBRID implements <methodname>PDO::cubrid_schema</methodname>
79
+
to get schema information.
80
+
</simpara>
20
81
</section>
21
82

22
-
<!-- Information found in configure.xml -->
23
-
&reference.pdo-cubrid.configure;
24
-

25
-
<section xml:id="ref.pdo-cubrid.features">
26
-
<title>Features</title>
27
-
<table>
28
-
<title>PDO_CUBRID Features</title>
29
-
<tgroup cols="2">
30
-
<thead>
31
-
<row>
32
-
<entry>Feature</entry>
33
-
<entry>Description</entry>
34
-
</row>
35
-
</thead>
36
-
<tbody>
37
-
<row>
38
-
<entry>Scrollable cursors</entry>
39
-
<entry>
40
-
PDO_CUBRID supports scrollable cursors. The default cursor type is
41
-
forward only, and you can use parameter driver_options in
42
-
<function>PDO::prepare</function> to change cursor type.
43
-
</entry>
44
-
</row>
45
-
<row>
46
-
<entry>Timeout</entry>
47
-
<entry>PDO_CUBRID supports sql statement execution timeout setting;
48
-
You can use <function>PDO::setAttribute</function> to set timeout value.</entry>
49
-
</row>
50
-
<row>
51
-
<entry>Autocommit_mode and Transaction</entry>
52
-
<entry>
53
-
PDO_CUBRID supports both autocommit_mode and transaction, and
54
-
autocommit_mode is enabled by default. You can use
55
-
<function>PDO::setAttribute</function> to change its state.
56
-
57
-
<para>
58
-
If you use <function>PDO::beginTransaction</function> to begin a
59
-
transaction, it will disable autocommit_mode automatically and
60
-
restore it after <function>PDO::commit</function> or
61
-
<function>PDO::rollBack</function>. Note that before disabling the
62
-
autocommit_mode, any pending work is automatically committed.
63
-
</para>
64
-
</entry>
65
-
</row>
66
-
<row>
67
-
<entry>Multiple SQL Statements</entry>
68
-
<entry>PDO_CUBRID supports Multiple SQL statements. Multiple SQL
69
-
statements are separated by semicolons (;)</entry>
70
-
</row>
71
-
<row>
72
-
<entry>Schema Information</entry>
73
-
<entry>PDO_CUBRID implements a function
74
-
<function>PDO::cubrid_schema</function> to get schema information.
75
-
</entry>
76
-
</row>
77
-
<row>
78
-
<entry>LOBs</entry>
79
-
<entry>PDO_CUBRID supports BLOB/CLOB data type. The LOB in PDO is
80
-
represented as a stream, so you can insert LOBs by binding a stream,
81
-
and get LOBs by reading a stream returned by CUBRID PDO. For example:
82
-

83
-
<para>
84
-
<example><title>Insert LOBs in CUBRID PDO</title>
85
-
<programlisting role="php">
83
+
<section>
84
+
<title>LOBs</title>
85
+

86
+
<simpara>
87
+
PDO_CUBRID supports BLOB/CLOB data type. The LOB in PDO is
88
+
represented as a stream, so you can insert LOBs by binding a stream,
89
+
and get LOBs by reading a stream returned by CUBRID PDO.
90
+
For example:
91
+
</simpara>
92
+

93
+
<example>
94
+
<title>Insert LOBs in CUBRID PDO</title>
95
+
<programlisting role="php">
86
96
<![CDATA[
87
97
<?php
88
98
$fp = fopen('lob_test.png', 'rb');
...
...
@@ -94,12 +104,12 @@ $ret = $stmt->bindParam(1, $fp, PDO::PARAM_LOB);
94
104
$ret = $stmt->execute();
95
105
?>
96
106
]]>
97
-
</programlisting>
98
-
</example>
99
-
</para>
100
-
<para>
101
-
<example><title>Fetch LOBs in CUBRID PDO</title>
102
-
<programlisting role="php">
107
+
</programlisting>
108
+
</example>
109
+

110
+
<example>
111
+
<title>Fetch LOBs in CUBRID PDO</title>
112
+
<programlisting role="php">
103
113
<![CDATA[
104
114
<?php
105
115
$sql_stmt = "SELECT content FROM lob_test WHERE name='lob_test.png'";
...
...
@@ -112,41 +122,47 @@ header("Content-Type: image/png");
112
122
fpassthru($result[0]);
113
123
?>
114
124
]]>
115
-
</programlisting>
116
-
</example>
117
-
</para>
118
-
</entry>
119
-
</row>
120
-
<row>
121
-
<entry>Column meta</entry>
122
-
<entry>
123
-
The <function>PDOStatement::getColumnMeta</function> in CUBRID PDO
124
-
will return an associative array containing the following values:
125
-
<simplelist>
126
-
<member>type</member>
127
-
<member>name</member>
128
-
<member>table</member>
129
-
<member>def</member>
130
-
<member>precision</member>
131
-
<member>scale</member>
132
-
<member>not_null</member>
133
-
<member>auto_increment</member>
134
-
<member>unique_key</member>
135
-
<member>multiple_key</member>
136
-
<member>primary_key</member>
137
-
<member>foreign_key</member>
138
-
<member>reverse_index</member>
139
-
<member>reverse_unique</member>
140
-
</simplelist>
141
-
</entry>
142
-
</row>
143
-
<row>
144
-
<entry>Collection Data Type</entry>
145
-
<entry>PDO_CUBRID supports SET/MULTISET/SEQUENCE data type. If you don't specify data type,
146
-
the default data type is char,for example:
147
-
<para>
148
-
<example><title>Insert set in CUBRID PDO with default data type.</title>
149
-
<programlisting role="php">
125
+
</programlisting>
126
+
</example>
127
+
</section>
128
+

129
+
<section>
130
+
<title>Column meta</title>
131
+

132
+
<para>
133
+
The <methodname>PDOStatement::getColumnMeta</methodname> in CUBRID PDO
134
+
will return an associative array containing the following values:
135
+
<simplelist>
136
+
<member>type</member>
137
+
<member>name</member>
138
+
<member>table</member>
139
+
<member>def</member>
140
+
<member>precision</member>
141
+
<member>scale</member>
142
+
<member>not_null</member>
143
+
<member>auto_increment</member>
144
+
<member>unique_key</member>
145
+
<member>multiple_key</member>
146
+
<member>primary_key</member>
147
+
<member>foreign_key</member>
148
+
<member>reverse_index</member>
149
+
<member>reverse_unique</member>
150
+
</simplelist>
151
+
</para>
152
+
</section>
153
+

154
+
<section>
155
+
<title>Collection Data Type</title>
156
+

157
+
<simpara>
158
+
PDO_CUBRID supports SET/MULTISET/SEQUENCE data type.
159
+
If you don't specify data type, the default data type is char.
160
+
For example:
161
+
</simpara>
162
+

163
+
<example>
164
+
<title>Insert set in CUBRID PDO with default data type.</title>
165
+
<programlisting role="php">
150
166
<![CDATA[
151
167
<?php
152
168
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
...
...
@@ -163,12 +179,12 @@ $ret = $stmt->execute();
163
179
var_Dump($ret);
164
180
?>
165
181
]]>
166
-
</programlisting>
167
-
</example>
168
-
</para>
169
-
<para>
170
-
<example><title>Specify data type when insert set in CUBRID PDO</title>
171
-
<programlisting role="php">
182
+
</programlisting>
183
+
</example>
184
+

185
+
<example>
186
+
<title>Specify data type when insert set in CUBRID PDO</title>
187
+
<programlisting role="php">
172
188
<![CDATA[
173
189
<?php
174
190
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
...
...
@@ -185,36 +201,35 @@ $ret = $stmt->execute();
185
201
var_Dump($ret);
186
202
?>
187
203
]]>
188
-
</programlisting>
189
-
</example>
190
-
</para>
191
-
CUBRID Bind Data Types:(The fifth parameter of PDOStatement::bindParam):
192
-
<simplelist>
193
-
<member>CHAR</member>
194
-
<member>STRING</member>
195
-
<member>NCHAR</member>
196
-
<member>VARNCHAR</member>
197
-
<member>BIT</member>
198
-
<member>VARBIT</member>
199
-
<member>NUMERIC</member>
200
-
<member>NUMBER</member>
201
-
<member>INT</member>
202
-
<member>SHORT</member>
203
-
<member>BIGINT</member>
204
-
<member>MONETARY</member>
205
-
<member>FLOAT</member>
206
-
<member>DOUBLE</member>
207
-
<member>DATE</member>
208
-
<member>TIME</member>
209
-
<member>DATETIME</member>
210
-
<member>TIMESTAMP</member>
211
-
</simplelist>
212
-
</entry>
213
-
</row>
214
-
</tbody>
215
-
</tgroup>
216
-
</table>
204
+
</programlisting>
205
+
</example>
206
+

207
+
<para>
208
+
CUBRID Bind Data Types for the fifth parameter of
209
+
<methodname>PDOStatement::bindParam</methodname>:
210
+
<simplelist>
211
+
<member>CHAR</member>
212
+
<member>STRING</member>
213
+
<member>NCHAR</member>
214
+
<member>VARNCHAR</member>
215
+
<member>BIT</member>
216
+
<member>VARBIT</member>
217
+
<member>NUMERIC</member>
218
+
<member>NUMBER</member>
219
+
<member>INT</member>
220
+
<member>SHORT</member>
221
+
<member>BIGINT</member>
222
+
<member>MONETARY</member>
223
+
<member>FLOAT</member>
224
+
<member>DOUBLE</member>
225
+
<member>DATE</member>
226
+
<member>TIME</member>
227
+
<member>DATETIME</member>
228
+
<member>TIMESTAMP</member>
229
+
</simplelist>
230
+
</para>
217
231
</section>
232
+
</section>
218
233

219
234
<!-- Information found in constants.xml -->
220
235
&reference.pdo-cubrid.constants;
221
236