~ubuntu-branches/ubuntu/precise/libdbi-drivers/precise

« back to all changes in this revision

Viewing changes to drivers/sqlite/dbd_sqlite/x197.html

  • Committer: Bazaar Package Importer
  • Author(s): Steve Langasek
  • Date: 2008-08-02 09:00:11 UTC
  • mfrom: (3.1.6 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080802090011-j05v2349u2ptvg05
Tags: 0.8.2-1-4.1
* Non-maintainer upload with maintainer's approval.
* High urgency upload for RC bugfix.
* Pass --freetds-inc-dir to configure, to bypass the ridiculous upstream
  AC_FIND_FILE() checks for files that *aren't used during the build*;
  fixes a build failure with FreeTDS 0.82.  Closes: #493349.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<HTML
 
2
><HEAD
 
3
><TITLE
 
4
>sqlite driver misfeatures</TITLE
 
5
><META
 
6
NAME="GENERATOR"
 
7
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
 
8
"><LINK
 
9
REL="HOME"
 
10
TITLE="sqlite driver manual"
 
11
HREF="index.html"><LINK
 
12
REL="UP"
 
13
TITLE="Peculiarities you should know about"
 
14
HREF="c118.html"><LINK
 
15
REL="PREVIOUS"
 
16
TITLE="SQLite (mis)features"
 
17
HREF="x121.html"></HEAD
 
18
><BODY
 
19
CLASS="SECT1"
 
20
BGCOLOR="#FFFFFF"
 
21
TEXT="#000000"
 
22
LINK="#0000FF"
 
23
VLINK="#840084"
 
24
ALINK="#0000FF"
 
25
><DIV
 
26
CLASS="NAVHEADER"
 
27
><TABLE
 
28
SUMMARY="Header navigation table"
 
29
WIDTH="100%"
 
30
BORDER="0"
 
31
CELLPADDING="0"
 
32
CELLSPACING="0"
 
33
><TR
 
34
><TH
 
35
COLSPAN="3"
 
36
ALIGN="center"
 
37
>sqlite driver manual: A libdbi driver using the SQLite embedded database engine</TH
 
38
></TR
 
39
><TR
 
40
><TD
 
41
WIDTH="10%"
 
42
ALIGN="left"
 
43
VALIGN="bottom"
 
44
><A
 
45
HREF="x121.html"
 
46
ACCESSKEY="P"
 
47
>Prev</A
 
48
></TD
 
49
><TD
 
50
WIDTH="80%"
 
51
ALIGN="center"
 
52
VALIGN="bottom"
 
53
>Chapter 4. Peculiarities you should know about</TD
 
54
><TD
 
55
WIDTH="10%"
 
56
ALIGN="right"
 
57
VALIGN="bottom"
 
58
>&nbsp;</TD
 
59
></TR
 
60
></TABLE
 
61
><HR
 
62
ALIGN="LEFT"
 
63
WIDTH="100%"></DIV
 
64
><DIV
 
65
CLASS="SECT1"
 
66
><H1
 
67
CLASS="SECT1"
 
68
><A
 
69
NAME="AEN197">4.2. sqlite driver misfeatures</H1
 
70
><P
 
71
>And now we have to discuss how successful the sqlite driver is in squeezing the SQLite idea of a database engine into the libdbi framework which was shaped after MySQL and PostgreSQL. Keep in mind that the limitations mentioned here are not intrinsic, that is a sufficient amount of coding might fix these problems eventually.</P
 
72
><P
 
73
></P
 
74
><UL
 
75
><LI
 
76
><P
 
77
>The sqlite driver has not been tested for memory leaks yet. It may leak memory like hell.</P
 
78
></LI
 
79
><LI
 
80
><P
 
81
>The typeless nature of SQLite has some nasty consequences. The sqlite driver takes great care to reconstruct the type of a field that you request in a query, but this isn't always successful. Some of the functions that SQLite supports work both on numeric and text data. The sqlite driver currently cannot deduce the field type correctly as it would have to check all arguments of each function. Instead the sqlite driver makes a few assumptions that may be right or wrong in a given case. The affected functions are <TT
 
82
CLASS="FUNCTION"
 
83
>coalesce(X,Y,...)</TT
 
84
>, <TT
 
85
CLASS="FUNCTION"
 
86
>max(X)</TT
 
87
>, <TT
 
88
CLASS="FUNCTION"
 
89
>min(X)</TT
 
90
>, and <TT
 
91
CLASS="FUNCTION"
 
92
>count(X)</TT
 
93
>.</P
 
94
></LI
 
95
><LI
 
96
><P
 
97
>The sqlite driver currently assumes that the directory separator of your filesystem is a slash (/). This may be wrong on your particular system. It is not a problem for Windows systems as long as the sqlite driver is built with the Cygwin tools (see <TT
 
98
CLASS="FILENAME"
 
99
>README.win32</TT
 
100
>).</P
 
101
><DIV
 
102
CLASS="NOTE"
 
103
><BLOCKQUOTE
 
104
CLASS="NOTE"
 
105
><P
 
106
><B
 
107
>Note: </B
 
108
>Building the sqlite driver on Windows/Cygwin has not been tested yet, but it uses the same procedure as the other libdbi drivers. Chances are that it works.</P
 
109
></BLOCKQUOTE
 
110
></DIV
 
111
></LI
 
112
><LI
 
113
><P
 
114
>Listing tables with the <TT
 
115
CLASS="FUNCTION"
 
116
>dbi_conn_get_table_list()</TT
 
117
> libdbi function currently returns only permanent tables. Temporary tables are ignored.</P
 
118
></LI
 
119
><LI
 
120
><P
 
121
>The sqlite driver assumes that table and field names do not exceed 128 characters in length, including the trailing \0. I don't know whether SQLite internally has such a limit or not (both MySQL and PostgreSQL have a lower limit). The limit can be increased by changing a single #define in the <TT
 
122
CLASS="FILENAME"
 
123
>dbd_sqlite.h</TT
 
124
> header file.</P
 
125
></LI
 
126
><LI
 
127
><P
 
128
>In a few cases, the sqlite driver expects you to type SQL keywords in all lowercase or all uppercase, but not mixed. This holds true for the 'from' in a SELECT statement. Type it either as 'from' or as 'FROM', but refrain from using 'fRoM' or other funny mixtures of uppercase and lowercase. Most other database engines treat the keywords as case-insensitive and would accept all variants.</P
 
129
></LI
 
130
></UL
 
131
></DIV
 
132
><DIV
 
133
CLASS="NAVFOOTER"
 
134
><HR
 
135
ALIGN="LEFT"
 
136
WIDTH="100%"><TABLE
 
137
SUMMARY="Footer navigation table"
 
138
WIDTH="100%"
 
139
BORDER="0"
 
140
CELLPADDING="0"
 
141
CELLSPACING="0"
 
142
><TR
 
143
><TD
 
144
WIDTH="33%"
 
145
ALIGN="left"
 
146
VALIGN="top"
 
147
><A
 
148
HREF="x121.html"
 
149
ACCESSKEY="P"
 
150
>Prev</A
 
151
></TD
 
152
><TD
 
153
WIDTH="34%"
 
154
ALIGN="center"
 
155
VALIGN="top"
 
156
><A
 
157
HREF="index.html"
 
158
ACCESSKEY="H"
 
159
>Home</A
 
160
></TD
 
161
><TD
 
162
WIDTH="33%"
 
163
ALIGN="right"
 
164
VALIGN="top"
 
165
>&nbsp;</TD
 
166
></TR
 
167
><TR
 
168
><TD
 
169
WIDTH="33%"
 
170
ALIGN="left"
 
171
VALIGN="top"
 
172
>SQLite (mis)features</TD
 
173
><TD
 
174
WIDTH="34%"
 
175
ALIGN="center"
 
176
VALIGN="top"
 
177
><A
 
178
HREF="c118.html"
 
179
ACCESSKEY="U"
 
180
>Up</A
 
181
></TD
 
182
><TD
 
183
WIDTH="33%"
 
184
ALIGN="right"
 
185
VALIGN="top"
 
186
>&nbsp;</TD
 
187
></TR
 
188
></TABLE
 
189
></DIV
 
190
></BODY
 
191
></HTML
 
192
>
 
 
b'\\ No newline at end of file'