~ubuntu-branches/ubuntu/wily/sqlite3/wily

« back to all changes in this revision

Viewing changes to c3ref/table_column_metadata.html

  • Committer: Package Import Robot
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2012-06-13 21:43:48 UTC
  • mto: This revision was merged to the branch mainline in revision 23.
  • Revision ID: package-import@ubuntu.com-20120613214348-uy14uupdeq0hh04k
Tags: upstream-3.7.13/www
Import upstream version 3.7.13, component www

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
2
<html><head>
 
3
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 
4
<title>Extract Metadata About A Column Of A Table</title>
 
5
<style type="text/css">
 
6
body {
 
7
    margin: auto;
 
8
    font-family: Verdana, sans-serif;
 
9
    padding: 8px 1%;
 
10
}
 
11
 
 
12
a { color: #044a64 }
 
13
a:visited { color: #734559 }
 
14
 
 
15
.logo { position:absolute; margin:3px; }
 
16
.tagline {
 
17
  float:right;
 
18
  text-align:right;
 
19
  font-style:italic;
 
20
  width:300px;
 
21
  margin:12px;
 
22
  margin-top:58px;
 
23
}
 
24
 
 
25
.toolbar {
 
26
  text-align: center;
 
27
  line-height: 1.6em;
 
28
  margin: 0;
 
29
  padding: 0px 8px;
 
30
}
 
31
.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }
 
32
.toolbar a:visited { color: white; }
 
33
.toolbar a:hover { color: #044a64; background: white; }
 
34
 
 
35
.content    { margin: 5%; }
 
36
.content dt { font-weight:bold; }
 
37
.content dd { margin-bottom: 25px; margin-left:20%; }
 
38
.content ul { padding:0px; padding-left: 15px; margin:0px; }
 
39
 
 
40
/* rounded corners */
 
41
.se  { background: url(../images/se.gif) 100% 100% no-repeat #044a64}
 
42
.sw  { background: url(../images/sw.gif) 0% 100% no-repeat }
 
43
.ne  { background: url(../images/ne.gif) 100% 0% no-repeat }
 
44
.nw  { background: url(../images/nw.gif) 0% 0% no-repeat }
 
45
 
 
46
/* Things for "fancyformat" documents start here. */
 
47
.fancy img+p {font-style:italic}
 
48
.fancy .codeblock i { color: darkblue; }
 
49
.fancy h1,.fancy h2,.fancy h3,.fancy h4 {font-weight:normal;color:#044a64}
 
50
.fancy h2 { margin-left: 10px }
 
51
.fancy h3 { margin-left: 20px }
 
52
.fancy h4 { margin-left: 30px }
 
53
.fancy th {white-space:nowrap;text-align:left;border-bottom:solid 1px #444}
 
54
.fancy th, .fancy td {padding: 0.2em 1ex; vertical-align:top}
 
55
.fancy #toc a        { color: darkblue ; text-decoration: none }
 
56
.fancy .todo         { color: #AA3333 ; font-style : italic }
 
57
.fancy .todo:before  { content: 'TODO:' }
 
58
.fancy p.todo        { border: solid #AA3333 1px; padding: 1ex }
 
59
.fancy img { display:block; }
 
60
.fancy :link:hover, .fancy :visited:hover { background: wheat }
 
61
.fancy p,.fancy ul,.fancy ol { margin: 1em 5ex }
 
62
.fancy li p { margin: 1em 0 }
 
63
/* End of "fancyformat" specific rules. */
 
64
 
 
65
</style>
 
66
  
 
67
</head>
 
68
<body>
 
69
<div><!-- container div to satisfy validator -->
 
70
 
 
71
<a href="../index.html">
 
72
<img class="logo" src="../images/sqlite370_banner.gif" alt="SQLite Logo"
 
73
 border="0"></a>
 
74
<div><!-- IE hack to prevent disappearing logo--></div>
 
75
<div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div>
 
76
 
 
77
<table width=100% style="clear:both"><tr><td>
 
78
  <div class="se"><div class="sw"><div class="ne"><div class="nw">
 
79
  <table width=100% style="padding:0;margin:0;cell-spacing:0"><tr>
 
80
  <td width=100%>
 
81
  <div class="toolbar">
 
82
    <a href="../about.html">About</a>
 
83
    <a href="../sitemap.html">Sitemap</a>
 
84
    <a href="../docs.html">Documentation</a>
 
85
    <a href="../download.html">Download</a>
 
86
    <a href="../copyright.html">License</a>
 
87
    <a href="../news.html">News</a>
 
88
    <a href="../support.html">Support</a>
 
89
  </div>
 
90
<script>
 
91
  gMsg = "Search SQLite Docs..."
 
92
  function entersearch() {
 
93
    var q = document.getElementById("q");
 
94
    if( q.value == gMsg ) { q.value = "" }
 
95
    q.style.color = "black"
 
96
    q.style.fontStyle = "normal"
 
97
  }
 
98
  function leavesearch() {
 
99
    var q = document.getElementById("q");
 
100
    if( q.value == "" ) { 
 
101
      q.value = gMsg
 
102
      q.style.color = "#044a64"
 
103
      q.style.fontStyle = "italic"
 
104
    }
 
105
  }
 
106
</script>
 
107
<td>
 
108
    <div style="padding:0 1em 0px 0;white-space:nowrap">
 
109
    <form name=f method="GET" action="http://www.sqlite.org/search">
 
110
      <input id=q name=q type=text
 
111
       onfocus="entersearch()" onblur="leavesearch()" style="width:24ex;padding:1px 1ex; border:solid white 1px; font-size:0.9em ; font-style:italic;color:#044a64;" value="Search SQLite Docs...">
 
112
      <input type=submit value="Go" style="border:solid white 1px;background-color:#044a64;color:white;font-size:0.9em;padding:0 1ex">
 
113
    </form>
 
114
    </div>
 
115
  </table>
 
116
</div></div></div></div>
 
117
</td></tr></table>
 
118
<div class=startsearch></div>
 
119
  
 
120
<a href="intro.html"><h2>SQLite C Interface</h2></a><h2>Extract Metadata About A Column Of A Table</h2><blockquote><pre>int sqlite3_table_column_metadata(
 
121
  sqlite3 *db,                /* Connection handle */
 
122
  const char *zDbName,        /* Database name or NULL */
 
123
  const char *zTableName,     /* Table name */
 
124
  const char *zColumnName,    /* Column name */
 
125
  char const **pzDataType,    /* OUTPUT: Declared data type */
 
126
  char const **pzCollSeq,     /* OUTPUT: Collation sequence name */
 
127
  int *pNotNull,              /* OUTPUT: True if NOT NULL constraint exists */
 
128
  int *pPrimaryKey,           /* OUTPUT: True if column part of PK */
 
129
  int *pAutoinc               /* OUTPUT: True if column is auto-increment */
 
130
);
 
131
</pre></blockquote><p>
 
132
This routine returns metadata about a specific column of a specific
 
133
database table accessible using the <a href="../c3ref/sqlite3.html">database connection</a> handle
 
134
passed as the first function argument.</p>
 
135
 
 
136
<p>The column is identified by the second, third and fourth parameters to
 
137
this function. The second parameter is either the name of the database
 
138
(i.e. "main", "temp", or an attached database) containing the specified
 
139
table or NULL. If it is NULL, then all attached databases are searched
 
140
for the table using the same algorithm used by the database engine to
 
141
resolve unqualified table references.</p>
 
142
 
 
143
<p>The third and fourth parameters to this function are the table and column
 
144
name of the desired column, respectively. Neither of these parameters
 
145
may be NULL.</p>
 
146
 
 
147
<p>Metadata is returned by writing to the memory locations passed as the 5th
 
148
and subsequent parameters to this function. Any of these arguments may be
 
149
NULL, in which case the corresponding element of metadata is omitted.</p>
 
150
 
 
151
<p><blockquote>
 
152
<table border="1">
 
153
<tr><th> Parameter <th> Output<br>Type <th>  Description</p>
 
154
 
 
155
<p><tr><td> 5th <td> const char* <td> Data type
 
156
<tr><td> 6th <td> const char* <td> Name of default collation sequence
 
157
<tr><td> 7th <td> int         <td> True if column has a NOT NULL constraint
 
158
<tr><td> 8th <td> int         <td> True if column is part of the PRIMARY KEY
 
159
<tr><td> 9th <td> int         <td> True if column is <a href="../autoinc.html">AUTOINCREMENT</a>
 
160
</table>
 
161
</blockquote></p>
 
162
 
 
163
<p>The memory pointed to by the character pointers returned for the
 
164
declaration type and collation sequence is valid only until the next
 
165
call to any SQLite API function.</p>
 
166
 
 
167
<p>If the specified table is actually a view, an <a href="../c3ref/c_abort.html">error code</a> is returned.</p>
 
168
 
 
169
<p>If the specified column is "rowid", "oid" or "_rowid_" and an
 
170
<a href="../lang_createtable.html#rowid">INTEGER PRIMARY KEY</a> column has been explicitly declared, then the output
 
171
parameters are set for the explicitly declared column. If there is no
 
172
explicitly declared <a href="../lang_createtable.html#rowid">INTEGER PRIMARY KEY</a> column, then the output
 
173
parameters are set as follows:</p>
 
174
 
 
175
<p><pre>
 
176
data type: "INTEGER"
 
177
collation sequence: "BINARY"
 
178
not null: 0
 
179
primary key: 1
 
180
auto increment: 0
 
181
</pre></p>
 
182
 
 
183
<p>This function may load one or more schemas from database files. If an
 
184
error occurs during this process, or if the requested table or column
 
185
cannot be found, an <a href="../c3ref/c_abort.html">error code</a> is returned and an error message left
 
186
in the <a href="../c3ref/sqlite3.html">database connection</a> (to be retrieved using sqlite3_errmsg()).</p>
 
187
 
 
188
<p>This API is only available if the library was compiled with the
 
189
<a href="../compile.html#enable_column_metadata">SQLITE_ENABLE_COLUMN_METADATA</a> C-preprocessor symbol defined.
 
190
</p><p>See also lists of
 
191
  <a href="objlist.html">Objects</a>,
 
192
  <a href="constlist.html">Constants</a>, and
 
193
  <a href="funclist.html">Functions</a>.</p>