aboutsummaryrefslogtreecommitdiffstats
path: root/lib/odbc/doc/src
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2010-03-09 13:11:42 +0000
committerErlang/OTP <[email protected]>2010-03-09 13:11:42 +0000
commit065a54e7a0be98e8dc9842616b267c0e8fbeb318 (patch)
treee5ea085cbd2569cb96b4ab145c50b8ca724492ce /lib/odbc/doc/src
parent4d64020cbefff673c840bdd5fa136fa1c570651d (diff)
downloadotp-065a54e7a0be98e8dc9842616b267c0e8fbeb318.tar.gz
otp-065a54e7a0be98e8dc9842616b267c0e8fbeb318.tar.bz2
otp-065a54e7a0be98e8dc9842616b267c0e8fbeb318.zip
OTP-7452 Support for SQL_WCHAR, SQL_WVARCHAR and strings as binaries
ODBC now handles the types SQL_WCHAR and SQL_WVARCHAR. ODBC also has a new connection option to return all strings as binaries and also expect strings to be binaries in the param_query function. This provides some but not a full unicode support.
Diffstat (limited to 'lib/odbc/doc/src')
-rw-r--r--lib/odbc/doc/src/databases.xml26
-rw-r--r--lib/odbc/doc/src/error_handling.xml16
-rw-r--r--lib/odbc/doc/src/notes.xml19
-rw-r--r--lib/odbc/doc/src/odbc.xml41
4 files changed, 65 insertions, 37 deletions
diff --git a/lib/odbc/doc/src/databases.xml b/lib/odbc/doc/src/databases.xml
index c06327e11d..2c1b932084 100644
--- a/lib/odbc/doc/src/databases.xml
+++ b/lib/odbc/doc/src/databases.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2002</year><year>2009</year>
+ <year>2002</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Databases</title>
@@ -117,7 +117,11 @@
</row>
<row>
<cell align="left" valign="middle">SQL_CHAR(size)</cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">SQL_WCHAR(size) </cell>
+ <cell align="left" valign="middle">Unicode binary encoded as UTF16 little endian.</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_NUMERIC(p,s) <br></br>
@@ -171,7 +175,11 @@ when p >= 16 </cell>
</row>
<row>
<cell align="left" valign="middle">SQL_VARCHAR(size) </cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">SQL_WVARCHAR(size) </cell>
+ <cell align="left" valign="middle">Unicode binary encoded as UTF16 little endian.</cell>
</row>
<tcaption>Mapping of ODBC data types to the Erlang data types returned to the Erlang application.</tcaption>
</table>
@@ -194,19 +202,19 @@ when p >= 16 </cell>
</row>
<row>
<cell align="left" valign="middle">SQL_LONGVARCHAR </cell>
- <cell align="left" valign="middle">String</cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_BINARY</cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_VARBINARY</cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_LONGVARBINARY</cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_TINYINT </cell>
diff --git a/lib/odbc/doc/src/error_handling.xml b/lib/odbc/doc/src/error_handling.xml
index 26ad7f9848..c30acc5fdc 100644
--- a/lib/odbc/doc/src/error_handling.xml
+++ b/lib/odbc/doc/src/error_handling.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2003</year><year>2009</year>
+ <year>2003</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Error handling</title>
@@ -126,15 +126,7 @@
c-process will exit. If the c-process crashes/exits it will
bring the erlang-process down too and vice versa i.e. the
connection is terminated.</p>
- <note>
- <p>The function connect/2 will start the odbc application if
- that is not already done. In this case a supervisor information
- log will be produced stating that the odbc application was started
- as a temporary application. It is really the responsibility of the
- application that uses the API too make sure it is started in the
- desired way.</p>
- </note>
-
+
<section>
<title>Error types</title>
<p>The types of errors that may occur can be divide into the
diff --git a/lib/odbc/doc/src/notes.xml b/lib/odbc/doc/src/notes.xml
index 99584efec9..29fed0e286 100644
--- a/lib/odbc/doc/src/notes.xml
+++ b/lib/odbc/doc/src/notes.xml
@@ -30,6 +30,25 @@
</header>
<p>This document describes the changes made to the odbc application.
</p>
+
+ <section><title>ODBC 2.10.8</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ ODBC now handles the types SQL_WCHAR and SQL_WVARCHAR.
+ ODBC also has a new connection option to return all
+ strings as binaries and also expect strings to be
+ binaries in the param_query function. This provides some
+ but not a full unicode support.</p>
+ <p>
+ Own Id: OTP-7452</p>
+ </item>
+ </list>
+ </section>
+
+ </section>
<section><title>ODBC 2.10.7</title>
diff --git a/lib/odbc/doc/src/odbc.xml b/lib/odbc/doc/src/odbc.xml
index 450531c81c..3efbac8dd4 100644
--- a/lib/odbc/doc/src/odbc.xml
+++ b/lib/odbc/doc/src/odbc.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1999</year><year>2009</year>
+ <year>1999</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>odbc</title>
@@ -101,7 +101,7 @@
odbc_data_type() = sql_integer | sql_smallint | sql_tinyint |
{sql_decimal, precision(), scale()} |
{sql_numeric, precision(), scale()} |
- {sql_char, size()} | {sql_varchar, size()} | {sql_float, precision()} |
+ {sql_char, size()} | {sql_wchar, size()} | {sql_varchar, size()} | {sql_wvarchar, size()}| {sql_float, precision()} |
{sql_float, precision()} | sql_real | sql_double | sql_bit | atom()
</code>
<code type="none">
@@ -141,16 +141,9 @@
<d>An example of a connection string:<c>"DSN=sql-server;UID=aladdin;PWD=sesame"</c>where DSN is your ODBC Data Source Name, UID is a database user id and PWD is the password for that user. These are usually the attributes required in the connection string, but some drivers have other driver specific attributes, for example<c>"DSN=Oracle8;DBQ=gandalf;UID=aladdin;PWD=sesame"</c>where DBQ is your TNSNAMES.ORA entry name e.g. some Oracle specific configuration attribute.</d>
<v>Options = [] | [option()]</v>
<d>All options has default values. </d>
- <v>option() = {auto_commit, auto_commit_mode()} | {timeout, milliseconds()} | {tuple_row, tuple_mode()} | {scrollable_cursors, use_scrollable_cursors()} | {trace_driver, trace_mode()} </v>
- <d>The default timeout is infinity </d>
- <v>auto_commit_mode() = on | off </v>
- <d>Default is on.</d>
- <v>tuple_mode() = on | off </v>
- <d>Default is on. The option is deprecated and should not be used in new code.</d>
- <v>use_scrollable_cursors() = on | off </v>
- <d>Default is on.</d>
- <v>trace_mode() = on | off </v>
- <d>Default is off.</d>
+ <v>option() = {auto_commit, on | off} | {timeout, milliseconds()}
+ | {binary_strings, on | off} | {tuple_row, on | off} | {scrollable_cursors, on | off} |
+ {trace_driver, on | off} </v>
<v>Ref = connection_reference() - should be used to access the connection. </v>
<v>Reason = port_program_executable_not_found | common_reason()</v>
</type>
@@ -161,21 +154,36 @@
to handle the connection. These processes will terminate if
the process that created the connection dies or if you call
disconnect/1.</p>
- <p>If automatic commit mode is turned on, each query will be
+
+ <p>If automatic commit mode is turned on, each query will be
considered as an individual transaction and will be
automatically committed after it has been executed. If you want
more than one query to be part of the same transaction the automatic
commit mode should be turned off. Then you will have to call
commit/3 explicitly to end a transaction. </p>
+
+ <p>The default timeout is infinity </p>
+
+ <p> >If the option binary_strings is turned on all strings
+ will be returned as binaries and strings inputed to
+ param_query will be expected to be binaries. The user needs
+ to ensure that the binary is in an encoding that the
+ database expects. By default this option is turned off.</p>
+
<p>As default result sets are returned as a lists of
tuples. The <c>TupleMode</c> option still exists to keep some
degree of backwards compatibility. If the option is set to
off, result sets will be returned as a lists of lists
instead of a lists of tuples.</p>
+
<p>Scrollable cursors are nice but causes some overhead. For
some connections speed might be more important than flexible
data access and then you can disable scrollable cursor for a
- connection, limiting the API but gaining speed</p>
+ connection, limiting the API but gaining speed.</p>
+
+ <note><p>Turning the scrollable_cursors option off is noted
+ to make old odbc-drivers able to connect that will otherwhise fail.</p></note>
+
<p>If trace mode is turned on this tells the ODBC driver to
write a trace log to the file SQL.LOG that is placed in the
current directory of the erlang emulator. This information
@@ -183,6 +191,7 @@
erlang ODBC application, and it might be relevant for you to
send this file to our support. Otherwise you will probably
not have much use of this.</p>
+
<note>
<p>For more information about the <c>ConnectStr</c> see
description of the function SQLDriverConnect in [1].</p>