Index

imagesSpecial Characters

$argc parameter, 225

$func_ref parameter, 225

$name parameter, 225

$name variable, 250

$type_id variable, 250

$x variable, 245

% operator, 61

& operator, 61

* operator, 61

_rowid_ value, 94

| operator, 61

|| operator, 61

+ operator, 61

< operator, 61

<< operator, 61

<= operator, 61

<> operator, 61

!= operator, 61

= operator, 61

== operator, 61

> operator, 61

>= operator, 61

>> operator, 61

/ operator, 61

- operator, 61

imagesA

abort policy, 113

abort resolution, 113115

abs( ) function, 66

access functions, for B-tree module API, 308309

activation, of WAL, 319

add column clause, 55

ADD COLUMN command, 12

ADD CONSTRAINT command, 12

Add File dialog box, 263

Additional Dependencies property page, 28

administration, 118124

attaching databases, 118119

cleaning databases, 119

of databases, 3545

backing up database, 4243

creating database, 3537

database file information, 4445

exporting data, 39

formatting data, 4041

getting schema information, 3739

importing data, 40

unattended maintenance, 4142

explain query plan command, 123

and pragmas, 120122

auto_vacuum, 122

cache size, 120

database schema, 120121

integrity_check, 122

synchronous, 121122

temp_store, 122

temp_store_directory, 122

sqlite_master table, 123

administrators, SQLite for, 3

Advanced tab, 19

after keyword, 108

after trigger, 110

after value, 134

aggregates, 67

in Extension C API, 204209

example of, 206209

registering, 205206

with language extensions

for Perl, 225226

for Python, 231232

user-defined, 137

aliases, for tables, 7779

ALTER COLUMN command, 12

ALTER TABLE command, 12, 54

alter table statement, 286, 288

altering tables, 5455

ambiguity, of column names, 77

aName variable, 272

AND operator, 61

Android DDMS, 280

Android Developer Tools, 280281

Android development, 279301

backup service for databases, 300

and large databases, 300301

prerequisites for, 279284

additional components, 281284

downloading Android Developer Tools, 280281

downloading Android SDK Starter Package, 280

JDK (Java Development Kit), 280

Seinfeld Android app, 294300

adding database to project, 296

creating project, 295296

linking data and user interface, 298299

querying foods table, 296297

user interface for, 297298

viewing app, 299300

SQLiteDatabase class, 286290

convenience methods for, 288289

executing queries with, 287288

implementing, 290292

opening and closing databases with, 286287

transactions with, 289

useful methods for, 290

SQLiteOpenHelper class, 285286, 290292

SQLiteQueryBuilder class, 293294

Android Platforms component, 282

Android Virtual Device (AVD), 283

android.database.sqlite namespace, 285

API, for B-tree module

access functions, 308309

configuration functions, 310

cursor functions, 309

record functions, 310

table functions, 309

Appcelerator Titanium framework, 258, 284

Application Settings, 26, 28

applicationDidFinishLaunching event, 276

applicationDidFinishLaunching function, 269

applicationWillTerminate event, 272

apt utility, 31

apt-get utility, 31

architecture, 58

back end, 78

compiler, 6

interface, 6

utilities, 8

virtual machine, 67

Arithmetic operators, 62

as keyword, 79

asc sort order, 65

atomic principle, 111

attach command, 118

ATTACH event, 182

attach statement, 184

attaching databases, 118119

auto_vacuum pragma, 119, 122, 128

autocommit mode, and write transactions, 143145

autoincrement column, 95

autoincrement constraint, 9596

autoincrement keyword, 9495

available_drivers( ) function, 222

AVD (Android Virtual Device), 283

avg( ) function, 67, 137, 195

avg aggregate, 67

imagesB

b column, 317

back end, architecture of SQLite, 78

backing up, 4243

BackupAgentHelper API, 300

BackupManager API, 300

Bakery row, 64

bar.db database, 1011

base table, 54

before keyword, 108

before trigger, 110

begin command, 111, 116118, 139, 141

begin exclusive command, 118, 148

begin immediate command, 118, 148149

begin line, 141

begin statement, 117

begin.commit command, 141

begin…commit/rollback transaction scope, 112

beginTransaction( ) method, 249, 289

beginTransactionWithListener( ) method, 289

binaries

for Linux, 3031

for Mac OS X, 3031

for POSIX systems, 3031

binary collation, 101, 138, 216

Binary large object (BLOB), 4, 102

binary operators, for where clause, 6062

bind_param( ) method, 234

bind_params( ) method, 234

BLOB (Binary large object), 4, 102

blob class, 102103, 196

blob columns, 315

B-tree module, 303310

API for

access functions, 308309

configuration functions, 310

cursor functions, 309

record functions, 310

table functions, 309

data structures of SQLite, 127

and database file format

B+trees, 304305

field types in, 305306

hierarchical data organization in, 307

overflow pages in, 307308

page reuse in, 304

record structure in, 305

records in, 304

btree.c file, 310

btree.h file, 310

Build and Run menu option, 272

buildUnionQuery( ) method, 294

busy( ) function, 147

busy conditions, error handling in C API of, 176177

busy handler, using with transactions, 146147

imagesC

C API, 153193

error handling in, 174176

of busy conditions, 176177

of schema changes, 177178

fetching records with, 164169

column information for, 165166

column values in, 166167

example of, 168169

operational control functions, 178189

commit_hook() function, 178179

rollback_hook() function, 179

set_authorizer() function, 180189

update_hook() function, 179180

parameterized queries with, 169174

named parameters, 173

numbered parameters, 172

Tcl parameters, 173174

prepared queries with, 161164

compilation of, 161162

execution of, 162

finalization of, 163164

threading support in, 190193

and memory management, 193

shared cache mode, 190193

wrapper functions in, 153160

for connecting and disconnecting, 153155

exec() function, 155159

get_table() function, 159160

Cache partition size parameter, 284

cache_size pragma, 120, 145

Cartesian join, 75

cascade action, 101

case expression, 8384

cast( ) function, 212, 317

cast table, 115

cast.name column, 115

check constraints, 99100, 137, 315, 317318

checkpoints, and WAL, 318

Churcher, Claire, 47

class values, 103

Classes folder, 265

-classpath option, 237

clauses

distinct clause, 72

group by clause, 6771

limit clause, 64

order by clause, 6466

where clause, 5964

binary operators, 6062

glob operator, 64

like operator, 63

logical operators, 63

operators, 60

values, 60

cleaning databases, 119

cleanup handlers, for functions in Extension C API, 202203

clone command, 23

close( ) method, 228, 244, 285, 287

Close instruction, 151

closing databases, with SQLiteDatabase class, 286287

CLP (command-line program), 17, 3235

in command-line mode, 3435

installing on Windows, 1821

in shell mode, 3334

cnx argument, 197

coalesce function, 8586

code and SQLite, 149152

importance of finalizing, 150151

shared cache mode, 151152

using multiple connections, 149150

collate keyword, 101

collate nocase constraint, 54

collate1.sql file, 209

collate2.sql file, 210

Collation interface, 199

collation_name parameter, 119

collations

for columns, and indexes, 107

and domain integrity, 101

in Extension C API, 209217

defined, 210212

on demand, 216217

example of, 212216

overview of, 210212

types of, 212

user-defined, 138

column constraints, 54

column names, and ambiguity of, 77

column types, and type affinity, 313

column_def attribute, 55

column_definitions attribute, 54

column_list variable, 87

columns

collations for, and indexes, 107

information about, in C API, 165166

values of, in C API, 166167

columns( ) method, 239

columns variable, 106

command-line program. See CLP

commands

delete command, 92

explain query plan command, 123

insert command, 8791

multiple rows, 9091

one row, 8789

set of rows, 8990

select command, 5759

syntax for SQL in SQLite, 5152

update command, 9192

comma-separated values (CSV), 40

comments, syntax for SQL in SQLite, 53

commit( ) method, 249

commit command, 111, 115, 118, 139, 141, 143

commit line, 141

commit_hook( ) function, in C API, 178179

compactness, features of SQLite, 9

compilation, of prepared queries, 161162

compile( ) method, 239

compiler, 6

compileStatement( ) method, 288

compound queries, 8183

con.commit( ) lines, 230

concurrency, and WAL, 319

Configuration drop-down box, 26, 28

configuration functions, for B-tree module API, 310

configure command, 30

conflict resolution, and transactions, 112115

connect( ) function, 227

connecting to SQLite, using language extension

for Java, 238

for Perl, 222

for PHP, 248

for Python, 227

for Ruby, 233

for Tcl, 244

Connection::create_aggregate( ) method, 231

connections, data structures of SQLite, 126127

constraints

of check, 99100

of foreign key, 100101

of not null, 9899

of primary key, 9497

of unique, 93

contacts database, 93

contacts table, 92, 94, 97

contacts.name column, 101

Control Panel, 19

convenience, features of SQLite, 1011

correlated subquery, 80

:cosmo parameter, 173

count( ) function, 67, 69, 137, 195

count aggregate, 6768, 72

count(*)<20 predicate, 71

create index command, 115

Create Table As Select (CTAS), 91

create table command, 5355, 88, 90

create table statement, 91, 100, 161, 286, 288

create_function( ) method, 230

CREATE_IF_NECESSARY behavior, 287

createaggregatefunction( ) function, 137

crf( ) function, 216

cross joins, 7576

cross product, 75

c:sqlite directory, 25, 33

CSV (comma-separated values), 40

CTAS (Create Table As Select), 91

ctx argument, 198

current_date reserved word, 98

current_time reserved word, 98

current_timestamp reserved word, 98

cursor functions, for B-tree module API, 309

Cursor.executemany( ) method, 229

imagesD

data argument, 179, 216

data definition language (DDL), 38, 53

data integrity, 92104

domain integrity, 97101

check constraints, 99100

and collations, 101

default values, 98

foreign key constraints, 100101

NOT NULL constraints, 9899

entity integrity, 9397

primary key constraints, 9497

unique constraints, 93

indexes, 106108

and collations for columns, 107

utilization of, 107108

storage classes for SQLite, 101104

triggers, 108111

error handling with, 110

and updatable views, 110111

update triggers, 109110

views in SQLite, 104106

Data Manipulation Language (DML), 39, 53, 87

data source name (DSN), 248

data structures, 126135

B-tree and pager, 127

connections and statements, 126127

database administrator (DBA), 3

database file format, and B-tree module

B+trees, 304305

field types in, 305306

hierarchical data organization in, 307

overflow pages in, 307308

page reuse in, 304

record structure in, 305

records in, 304

database schema pragma, 120121

database_list pragma, 118, 121

database_name parameter, 118119

Database::create_function( ) method, 236

Database::get_first_row( ) method, 235

Database::get_first_value( ) method, 235

databaseName variable, 271

databasePath variable, 270

Database::prepare( ) method, 233

Database::query( ) method, 235

databases

attaching, 118119

backing up, 4243

cleaning, 119

connecting to, 128

creating, 3537, 5355

example, 4750

installation, 4849

running examples, 4950

exporting data from, 3941

file information for, 4445

formatting data, 4041

importing data into, 40

querying, 5586

daterepr property, 241

db argument, 216

db parameter, 293

db2 database, 119

db2.foo table, 119

DBA (database administrator), 3

DBI::connect function, 222

DBL (declarative burger language), 51

DDL (data definition language), 38, 53

DDMS, Android, 280

deadlocks, and transactions, 116117

declarative burger language (DBL), 51

declarative language, 50

default constraint, 9899

default keyword, 98

default values, and domain integrity, 98

default_cache_size pragma, 120

deferrable clause, 101

deferred transaction type, 117

delete command, 92, 108, 111

delete operation, 135, 179180

Delete SQLITE_BUSY value, 146

delete statement, 12, 132, 159, 184

delete trigger, 109, 111

derived tables, 80, 104

desc sort order, 65

description value, 83

detach command, 119, 185

DETACH event, 182

detach statement, 184

details view, 105

Developer Program, membership of, 254

Developer Tools, Android, 280281

developers, 23

difference operation, 82

disconnect method, 222

distinct clause, 72

distinct keyword, 72, 293

distutils package, 226

divide operation, 56

Djava.library.path=. option, 237

DLL (Dynamic-link library), installing on Windows, 2122, 2527

dlltool utility, 22

DML (Data Manipulation Language), 39, 53, 87

do( ) method, 223

Documentation component, 282

domain integrity, 97101

check constraints, 99100

and collations, 101

default values, 98

foreign key constraints, 100101

NOT NULL constraints, 9899

double data type, 241

downloading SQLite, 1718

dpkg utility, 31

DROP COLUMN command, 12

drop index command, 107, 193

drop table command, 193

drop table statement, 286

DROP VIEW command, 106

dselect utility, 31

DSN (data source name), 248

.dump command, 3940, 4243

dylib file, 262

.dylib shared library, 17

Dynamic-link library (DLL), installing on Windows, 2122, 2527

imagesE

.e command, 34

echo( ) function, 203204, 233

.echo command, 40

Edit System Variables dialog box, 19

else condition, 84

embedded databases, 1

Empty Project check box, 26, 28

endTransaction( ) method, 289

entity integrity, 9397

primary key constraints, 9497

unique constraints, 93

Environmental Variables button, 19

episodes table, 7, 48, 7879, 145146, 151, 306

episodes_foods table, 78

equality (=) operator, 108

errmsg argument, 157

error conditions, for functions in Extension C API, 203

error handling

in C API, 174176

of busy conditions, 176177

of schema changes, 177178

and SQLite API, 133134

with triggers, 110

eTextRep argument, 197

example database, 4750

installation, 4849

running examples, 4950

examples folder, 195

examples zip file, 221

except keyword, 81

except operation, 82

exclusive command, 118

EXCLUSIVE lock, 138, 143145, 148

exclusive state

and transactions, 145

for write transactions, 142143

exclusive transaction type, 117118

exec( ) function, in C API, 155159

exec_query( ) function, 240

execSQL( ) methods, 287288

execute( ) method, 222224, 228229, 233

executemany( ) method, 230

.exit command, 20, 32, 34, 37, 42

explain query plan command, 123

exporting data from database, 3941

Extension C API, 195217

aggregates with, 204209

example of, 206209

registering, 205206

collations with, 209217

defined, 210212

on demand, 216217

example of, 212216

overview of, 210212

types of, 212

functions with, 200204

cleanup handlers for, 202203

error conditions for, 203

returning input values, 203204

values for, 202

registering functions in, 196197

step function for, 198

values for, 198199

imagesF

f parameter, 266

factory parameter, 287

fail resolution, 113114

fcntl( ) implementation, 12

features, 811

compactness, 9

convenience, 1011

flexibility, 9

liberal licensing, 9

portability, 8

reliability, 10

simplicity, 9

zero configuration, 8

fetch( ) method, 222223

fetchrow_array( ) method, 223

fetchrow_hashref( ) method, 223

f.id variable, 80

field types, and database file format, 305306

file information, for database, 4445

file value, 122

file.csv file, 41

filename argument, 154

filename parameter, 118

file.sql file, 3940

fillData( ) method, 298

final( ) function, 198

finalize( ) method, 137, 150151, 231

find utility, 3

finish( ) method, 224

Fink package management system, 31

flags parameter, 155, 287

flexibility of SQLite, 9

FLOAT class, 196

float data type, 241

FlushFileBuffers( ) function, 143

foo table, 118119, 185186

foo_idx index, 108

Food class, in iSeinfeld example app, 265266

foo.db database, 11

FoodViewController class, in iSeinfeld example app, 266268

FoodViewController UIViewController class, 266

FoodViewController.h file, 266267

FoodViewController.m file, 267

FoodViewController.xib file, 266267

FOR EACH ROW behavior, 12

FOR EACH STATEMENT trigger, 12

foreign key, constraints of, 100101

foreign key relationship, 72

fork( ) function, 190

formatting

data from database, 4041

SQL statements, 134135

Fossil source control, compiling source code on Windows, 2325

fossil.exe file, 23

framework alternatives, for iOS development, 258259

frequency column, 84

frequency values, 84

from clause, 5759, 67, 70, 73, 80

frq argument, 189

fsync( ) function, 143, 320

full mode, 122

full outer join, 76

FULL OUTER JOIN statement, 12

full synchronous pragma, 121

functions

for B-tree module API

access functions, 308309

configuration functions, 310

cursor functions, 309

record functions, 310

table functions, 309

in Extension C API, 200204

cleanup handlers for, 202203

error conditions for, 203

registering, 196197

returning input values, 203204

values for, 202

SQL for SQLite, 66

user-defined, 136137

imagesG

GCC (GNU Compiler Collection), 28, 31

gdbm storage manager, 4

get_table( ) function, 132133, 159160

getAttribute( ) method, PDO class, 249

getReadableDatabase( ) method, 285

getWriteableDatabase( ) method, 285

glob operator, where clause, 64

GNU Compiler Collection (GCC), 28, 31

GRANT command, 13

grep utility, 3

group by clause, 6771

group_concat( ) function, 206

imagesH

.h command, 34

.h file, 26

Häring, Gerhard, 226

having clause, 71

having predicate, 70

.headers command, 3738, 40

hello_newman( ) method, 136137, 200, 225, 231, 236, 240241, 247, 251

.help command, 20, 3233

-help switch, 34

Hewlett-Packard Unix (HP-UX), 3

Hipp, Richard, 3, 5

history of SQLite, 34

hot journal, 145

HP-UX (Hewlett-Packard Unix), 3

.htaccess controls, 248

imagesI

ICL (imperative chef language), 51

id column, 37, 54, 76, 87, 89, 9495, 110, 124

id value, 89, 100

identifiers, 53

if construct, 271

ignore argument, 110

ignore resolution, 113

IllegalStateException exception, 289

immediate transaction type, 117118

imperative chef language (ICL), 51

imperative language, 50

.import [file][table] command, 40

.import command, 39

importing data into database, 40

IN operator, 61, 79, 108

index_info schema pragma, 121

index_list schema pragma, 121

index_name variable, 106

indexes, 106108

and collations for columns, 107

utilization of, 107108

.indices [table name] command, 37

.indices shell command, 107

init function, 226, 265

init option, 42

initialValues ContentValue map, 289

initialValues map, 289

initWithName function, 265266

inline views, 80

inner joins, 7475

Input submenu, 26, 28

insert( ) method, 289

insert command, 8791

multiple rows, 9091

one row, 8789

set of rows, 8990

insert filter, 183

insert operation, 135, 179180

insert or replace expression, 114

INSERT OR REPLACE (…) statement, 10

insert statements, 37, 8889, 98, 132, 159, 183, 288, 312, 315

insert trigger, 109, 111

Install New Software screen, 280

Installation Type screen, 256

instead of keywords, 110

INSTEAD OF triggers, 12

int data type, 241

integer class, 102103, 196

integer column, 314

integer primary key, 54, 88, 9496

integer type, 54

integrity_check pragma, 122

interface, architecture of SQLite, 6

Interface Builder tool, 267268

intersect keyword, 81

intersect operation, 8182

intersection, 74

inTransaction( ) method, 289

iOS development, 253277

framework alternatives for, 258259

iSeinfeld example app, 259276

accessing database upon startup, 269272

adding SQLite framework to project, 261262

creating Xcode project, 259260

Food class in, 265266

foods database or, 263264

FoodViewController class in, 266268

and large databases, 276

prerequisites for, 253259

Developer Program membership, 254

downloading iOS SDK, 254258

is not null operator, 85

is null operator, 85

IS operator, 62

iSeinfeld example app, 259276

accessing database upon startup, 269272

adding SQLite framework to project, 261262

creating Xcode project, 259260

Food class in, 265266

foods database or, 263264

FoodViewController class in, 266268

iSeinfeldAppDelegate class, 269

iSeinfeldAppDelegate.h file, 269

iSeinfeldAppDelegate.m file, 269270, 274

isReadOnly( ) method, 285286

imagesJ

Java, language extension for, 236243

connecting to, 238

installation of, 237

JDBC support with, 241243

query processing with, 238240

user-defined functions with, 240241

Java Database Connectivity (JDBC), support for Java language extension, 241243

Java Development Kit (JDK), 280

Java runtime environment (JRE), 280

java.lang.String data type, 241

java.sql.Date data type, 241

javasqlite3.mak file, 237

javasqlite.mak file, 237

java.sql.Time data type, 241

java.sql.Timestamp data type, 241

JDBC (Java Database Connectivity), support for Java language extension, 241243

JDK (Java Development Kit), 280

join condition, 75

joining tables, 7277

cross joins, 7576

inner joins, 7475

natural joins, 77

outer joins, 76

preferred syntax for, 77

journal_mode PRAGMA, 320

JRE (Java runtime environment), 280

justincase savepoint, 112

imagesK

keywords, 53

imagesL

Label elements, 267

language extensions, 219252

Java, 236243

connecting to, 238

installation of, 237

JDBC support with, 241243

query processing with, 238240

user-defined functions with, 240241

Perl, 221226

aggregates with, 225226

connecting to, 222

installation of, 221222

parameters for, 224

query processing with, 222224

user-defined functions with, 224225

PHP, 247252

connecting to, 248

installation of, 248

query processing with, 248251

user-defined functions with, 251252

Python, 226232

aggregates with, 231232

APSW as alternative, 232

connecting to, 227

installation of, 226227

parameters for, 229230

query processing with, 227229

user-defined functions with, 231

Ruby, 232236

connecting to, 233

installation of, 232233

parameters for, 234235

query processing with, 233234

user-defined functions with, 236

selecting, 220221

Tcl, 243247

connecting to, 244

installation of, 243244

query processing with, 244246

user-defined functions with, 247

large databases, and Android development, 300301

large file support (LFS), 176

last_insert_rowid( ) function, 37, 8889, 159

last_step( ) function, 241

left outer join, 76

LEFT OUTER JOIN statement, 12

length_first collation, 212214, 216

length(name) expression, 67

LFS (large file support), 176

liberal licensing, features of SQLite, 9

libsqlite_jni.so file, 237

libsqlite3.0.dylib file, 262

libsqlite3.dylib library, 262

life cycles, for transactions, 138139

like operator, 37, 6264

limit clause, 64, 80, 293

limit keyword, 6465

Linker folder, 26, 28

Linux, 3032

binaries and packages, 3031

compiling SQLite from source, 3132

.list command, 40

literals, syntax for SQL in SQLite, 52

lock states, transactions, 139141

LockFile( ) function, 148

LockFileEx( ) function, 148

locks

and deadlocks, 116117

and transactions, 115116

log table, 109

log_sql( ) function, 201

logical operators, for where clause, 63

lower( ) function, 66

imagesM

Mac OS X, 3032

binaries and packages, 3031

compiling SQLite from source, 3132

MacPorts package management system, 31

main database, 119

main.xml file, 297

make command, 30

manifest typing, 311313

match predicate, 64

max( ) function, 67

maxed_out table, 96

maxed_out.id value, 95

Maximum VM application heap size option, 284

memcmp( ) function, 101, 103104, 195, 212

memory management, and threading support in C API, 193

:memory: string, 128

memory value, 122

MERGE statement, 10

methods, for SQLiteDatabase class, 288290

min( ) function, 67

MinGW, building SQLite with on Windows, 2830

.mode command, 3738, 40

modifying data, 8792

Module Definition File property page, 26

multiple connections, using in code, 149150

myDatabaseAdapter class, 298

myDatabaseHelper class, 294, 296, 300

imagesN

n parameter, 266

name attribute, 48, 106

name column, 5455, 8788, 93, 98, 101, 109, 115, 123

name parameter, 104, 106, 285

name table, 104

name value, 101, 109

named parameters, in C API, 173

nArg argument, 197198

natural joins, 77

nBytes argument, 198

new.name column, 110

newrow( ) method, 239

next( ) method, 233

no action action, 101

nocase collation, 101, 138, 212

normal synchronous pragma, 122

not null constraints, 54, 9899, 113

NOT operator, 64

null, 84

NULL class, 102103, 196

null values, 8384, 89

nullColumnHack parameter, 289

nullif function, 86

.nullvalue command, 40

numbered parameters, in C API, 172

imagesO

ODBC (Open Database Connectivity), 4

off synchronous pragma, 122

offset clause, 64

offset keyword, 6465

oid value, 94

on delete restrict option, 100

onCreate( ) method, 285286, 298

onOpen( ) method, 285286

onUpgrade( ) method, 285286

open command, 25

Open Database Connectivity (ODBC), 4

Open drop-down box, 19

openDatabase( ) method, 287

opening databases, with SQLiteDatabase class, 286287

openOrCreate Database( ) method, 287

operation_code argument, 180

operational control, with SQLite API, 135

operators

glob operator, where clause, 64

for where clause, 6063

binary operators, 6062

like operator, 63

logical operators, 63

OR operator, 61

order by clause, 6466, 8082, 210

order by keyword, 66

order by subquery, 80

outer joins, 76

.output [filename] command, 39

.output stdout command, 39

overflow pages, and database file format, 307308

Owens, Michael, 226

imagesP

p->zResult field, 208

package require directive, 244

packages

for Linux, 3031

for Mac OS X, 3031

for POSIX systems, 3031

page cache, and write transactions, 145146

page_size pragma, 128

pager, 127

pages, and database file format

overflow pages in, 307308

reuse of, 304

parameters

in C API, 169174

named parameters, 173

numbered parameters, 172

Tcl parameters, 173174

for language extensions

for Perl, 224

for Python, 229230

for Ruby, 234235

and SQLite API, 131132

Path entry, 19

PATH environment variable, 23

pBlocked parameter, 193

PDO (PHP Data Objects), 247248

PDO_ATTR_TIMEOUT parameter, 249

PDOStatement class, 248

PDOStatement::bindColumn( ) method, 250

PDOStatement::bindParam( ) method, 249

pending state, for write transactions, 142

performance

and limitations of SQLite, 1113

and WAL, 321

Perl, language extension for, 221226

aggregates with, 225226

connecting to, 222

installation of, 221222

parameters for, 224

query processing with, 222224

user-defined functions with, 224225

perlsum( ) aggregate, 225

perlsum.pm package, 225

phone column, 54, 93, 9899

phone value, 93, 99, 101

PhoneGap framework, 258, 284

PHP, language extension for, 247252

connecting to, 248

installation of, 248

query processing with, 248251

user-defined functions with, 251252

PHP Data Objects (PDO), 247248

phpsum aggregate, 251

Platforms component, Android, 282

pNotifyArg pointer, 192

portability, features of SQLite, 8

POSIX systems, 3032

binaries and packages, 3031

compiling SQLite from source, 3132

power consumption, 12

ppDb argument, 155

ppStmt parameter, 161

PRAGMA commands, 39

PRAGMA journal_mode=WAL setting, 319

pragmas, 120122

auto_vacuum, 122

cache size, 120

database schema, 120121

integrity_check, 122

synchronous, 121122

temp_store, 122

temp_store_directory, 122

Precompiled Binaries For Windows section, 21

--prefix=DIR option, 237

prepare( ) method, 131132, 222, 224, 249

prepared queries

with C API, 161164

compilation of, 161162

execution of, 162

finalization of, 163164

executing, 129131

prerequisites

for Android development, 279284

additional components, 281284

downloading Android Developer Tools, 280281

downloading Android SDK Starter Package, 280

JDK (Java Development Kit), 280

for iOS development, 253259

Developer Program membership, 254

downloading iOS SDK, 254258

primary key constraints, 54, 9497

print_sql_result( ) function, 187, 201

.prompt [value] command, 40

Property Pages dialog box, 26

public boolean isDbLockedByOtherThreads( ) method, 290

public int getVersion( ) method, 290

public long getMaximumSize( ) method, 290

public static int releaseMemory( ) method, 290

pUserData argument, 197198

pysum( ) aggregate, 137, 231

Python, language extension for, 226232

aggregates with, 231232

APSW as alternative, 232

connecting to, 227

installation of, 226227

parameters for, 229230

query processing with, 227229

user-defined functions with, 231

pzTail parameter, 164

imagesQ

queries, with SQLiteDatabase class, 287288

query( ) method, 239, 248249, 287288

querying databases, 5586

compound queries, 8183

executing prepared queries, 129131

executing wrapped queries, 132133

relational operations, 5556

subqueries, 7980

queryWithFactory( ) method, 288

imagesR

raise( ) function, 110

RANK( ) function, 13

rawQuery( ) method, 287288, 294

rawQueryWithFactory( ) method, 288

RDBMS (relational database management system), 1

.read command, 40

read transactions, 141

read_committed pragma, 191

read_uncommitted pragma, 151, 191

readFoodsFromDatabase function, 270

README file, 196

read-uncommitted isolation level, shared cache mode, 191192

read-uncommitted mode, 151

real class, 102103

record functions, for B-tree module API, 310

records, and database file format, 304305

recovery, issues with WAL, 321322

recursive triggers, 12

referential integrity, 92

regexp predicate, 64

registering in Extension C API

aggregates, 205206

functions, 196197

reindex command, 119

relational database management system (RDBMS), 1

relational operations, querying databases, 5556

relational operators, 62

release command, 112

reliability, features of SQLite, 10

rename clause, 55

rename operation, 77

RENAME TABLE command, 12

replace( ) methods, 289

replace command, 114

res folder, 297

RESERVED connection, 148

RESERVED lock, 140141, 144, 148

RESERVED state, 140142, 144145, 147148

reset( ) function, 132, 150151

Resources folder, 263

restrict action, 101

resultp argument, 159

resultp pointer, 159

reverse collation, 101

REVOKE command, 13

right outer join, 76

RIGHT OUTER JOIN statement, 12

R.java file, 298

rollback( ) method, 249

rollback command, 111112, 139

rollback resolution, 113, 115

rollback_hook( ) function, in C API, 179

rootpage column, 123

Row class, 239

ROW_NUMBER( ) function, 13

rowid argument, 180

rowid column, 9697

rowid value, 9496

rows, and insert command

multiple rows, 9091

one row, 8789

set of rows, 8990

rsync utility, 3

RTRIM collation, 138

Ruby, language extension for, 232236

connecting to, 233

installation of, 232233

parameters for, 234235

query processing with, 233234

user-defined functions with, 236

imagesS

SAggCtx struct, 208

Samples component, 282

savepoint command, 112

.schema [table name] command, 38

.schema command, 42, 55

.schema foods shell command, 88

schema information, administration of databases, 3739

.schema shell command, 55

schema view, 37, 40

scope, for transactions, 111112

SDK Starter Package, prerequisite for Android development, 280

Seinfeld Android app, 294300

adding database to project, 296

creating project, 295296

linking data and user interface, 298299

querying foods table, 296297

user interface for, 297298

viewing app, 299300

select clause, 5759, 65, 6768, 7071, 79, 89

select command, 5559, 67, 72, 75, 80, 87

select form, insert command, 90

select hello_newman( ) function, 137

select id clause, 77

SELECT statements, 1011, 129, 131, 210

selectrow( ) function, 222

select-stmt parameter, 104

.separator command, 40

SET clause, 92

set default action, 101

set null action, 101

set_authorizer( ) function, in C API, 180189

setAttribute( ) method, PDO class, 249

setDistinct( ) method, 293

setProjectionMap (Map<String, String> columnMap) method, 293

setTables( ) method, 293

setTransactionSuccessful( ) method, 289

setup.cfg file, 227

setup.exe file, 2829

shared cache mode

overview, 151152

threading support in C API, 190193

read-uncommitted isolation level, 191192

unlock notification, 192193

SHARED connection, 148

Shared library, 31

SHARED locks, 142, 144, 146147, 149151

shared object (so), 17

SHARED state, 140142, 144145

shell mode, command-line program in, 3334

shell.c file, 26, 28

short data type, 241

.show command, 40

show_datatypes pragma, 242

simplicity, features of SQLite, 9

sleep( ) function, 177

so (shared object), 17

source clause, 78

source code

compiling on Linux, 3132

compiling on Mac OS X, 3132

compiling on POSIX systems, 3132

compiling on Windows, 2225

Fossil source control, 2325

stable source distribution, 22

Source Code section, 22

spam_mother_in_law( ) function, 147

sprintf( ) function, 134

sql argument, 156, 159

sql column, 123

SQL for SQLite

administration, 118124

attaching databases, 118119

cleaning databases, 119

explain query plan command, 123

and pragmas, 120122

of pragmas, 122

sqlite_master table, 123

aggregates, 67

aliases, for tables, 7779

and ambiguity of column names, 77

case expression, 8384

compound queries, 8183

creating databases, 5355

altering tables, 5455

creating tables, 5354

data integrity, 92104

domain integrity, 97101

entity integrity, 9397

indexes, 106108

storage classes for SQLite, 101104

triggers, 108111

views in SQLite, 104106

delete command, 92

distinct clause, 72

example database, 4750

installation, 4849

running examples, 4950

functions, 66

group by clause, 6771

indexes, 106108

and collations for columns, 107

utilization of, 107108

insert command, 8791

multiple rows, 9091

one row, 8789

set of rows, 8990

joining tables, 7277

cross joins, 7576

inner joins, 7475

natural joins, 77

outer joins, 76

preferred syntax for, 77

limit clause, 64

modifying data, 8792

null in SQLite, 84

order by clause, 6466

querying databases, 5586

select command, 5759

storage classes for, 101104

subqueries, 7980

syntax for, 5053

commands, 5152

comments, 53

identifiers, 53

keywords, 53

literals, 52

transactions, 111118

and conflict resolution, 112115

and deadlocks, 116117

and locks, 115116

scope for, 111112

types of, 117118

triggers, 108111

error handling with, 110

and updatable views, 110111

update triggers, 109110

update command, 9192

views in, 104106

where clause, 5964

binary operators, 6062

glob operator, 64

like operator, 63

logical operators, 63

operators, 60

values, 60

SQLite

for administrators, 3

for developers, 23

downloading, 1718

embedded database, 1

history of, 34

tools for, 45

where used, 45

SQLite API, 125138

core API, 127135

connecting to database, 128

and error handling, 133134

executing prepared queries, 129131

executing wrapped queries, 132133

formatting SQL statements, 134135

and parameters, 131132

operational control with, 135

principal data structures, 126135

B-tree and pager, 127

connections and statements, 126127

user-defined extensions

aggregates, 137

collations, 138

functions, 136137

using threads, 136

sqlite directory, 33

sqlite_analyzer view, 44

SQLITE_ATTACH event, 182

SQLITE_BUSY error, 118, 133

SQLITE_BUSY value, 146148, 151

sqlite_column_type( ) function, 199

sqlite_complete( ) function, 164

sqlite_create_funtion( ) function, 64

SQLITE_CREATE_INDEX event, 181

SQLITE_CREATE_TABLE event, 181

SQLITE_CREATE_TEMP_INDEX event, 181

SQLITE_CREATE_TEMP_TABLE event, 181

SQLITE_CREATE_TEMP_TRIGGER event, 181

SQLITE_CREATE_TEMP_VIEW event, 181

SQLITE_CREATE_TRIGGER event, 181

SQLITE_CREATE_VIEW event, 181

SQLITE_DELETE event, 181

SQLITE_DENY constant, 180

SQLITE_DETACH event, 182

SQLITE_DONE value, 129, 151

SQLITE_DROP_INDEX event, 181

SQLITE_DROP_TABLE event, 181

SQLITE_DROP_TEMP_INDEX event, 181

SQLITE_DROP_TEMP_TABLE event, 181

SQLITE_DROP_TEMP_TRIGGER event, 181

SQLITE_DROP_TEMP_VIEW event, 181

SQLITE_DROP_TRIGGER event, 181

SQLITE_DROP_VIEW event, 181

SQLITE_ENABLE_COLUMN_METADATA directive, 166

SQLITE_ENABLE_MEMORY_MANAGEMENT directive, 193

SQLITE_ERROR error, 133

SQLITE_FULL error, 95

SQLITE_IGNORE constant, 180, 183

SQLITE_INSERT event, 181

SQLITE_LOCKED value, 151

sqlite_master table, 107, 123, 186, 188, 192, 303304

sqlite_master view, 38, 44, 135

SQLITE_NOMEM error, 208

SQLITE_OK constant, 180

SQLITE_OPEN_CREATE flag, 154

SQLITE_OPEN_FULLMUTEX flag, 155

SQLITE_OPEN_NOMUTEX flag, 155

SQLITE_OPEN_PRIVATECACHE flag, 155

SQLITE_OPEN_SHAREDCACHE flag, 155

SQLITE_PRAGMA event, 181

SQLITE_READ event, 180181, 187

SQLITE_RESULT value, 151

sqlite_result_xxx( ) functions, 202

SQLITE_ROW value, 129

SQLITE_SCHEMA condition, 178, 189

SQLITE_SCHEMA errors, 162, 178, 192

SQLITE_SCHEMA event, 189

SQLITE_SELECT event, 181, 187

sqlite_sequence table, 95

SQLITE_TRANSACTION event, 182

SQLITE_UPDATE event, 180, 182

sqlite3 command, 244

sqlite3 handle, 126, 128, 132

sqlite3 package, 244

sqlite3 structure, 248

sqlite3_aggregate_context( ) function, 198, 207208

sqlite3_analyzer tool, 145

sqlite3_bind( ) function, 176

sqlite3_bind_double( ) function, 170

sqlite3_bind_parameter_index( ) function, 173

sqlite3_bind_xxx( ) functions, 167, 170, 202

sqlite3_busy_handler( ) function, 176177

sqlite3_busy_timeout( ) function, 147, 176177

sqlite3_changes( ) function, 159

sqlite3_close( ) function, 155, 192, 272

sqlite3_collation_needed( ) function, 216

sqlite3_column_blob( ) function, 167

sqlite3_column_bytes( ) function, 167

sqlite3_column_count( ) function, 165

sqlite3_column_decltype( ) function, 165166

sqlite3_column_name( ) function, 165

sqlite3_column_origin_name( ) function, 166

sqlite3_column_text( ) method, 272

sqlite3_column_type( ) function, 165

sqlite3_column_xxx( ) functions, 161, 166, 199, 203, 272

sqlite3_commit_hook( ) function, 135, 178179

sqlite3_complete( ) function, 164

sqlite3_create_collation( ) function, 138

sqlite3_create_collation_v2( ) function, 213

sqlite3_create_function( ) function, 136, 196198, 205, 213

sqlite3_data_count( ) function, 165

sqlite3_db_handle( ) function, 169

sqlite3_errcode( ) function, 134

sqlite3_errmsg( ) function, 134, 162, 169, 174

sqlite3_exec( ) function, 132, 155156, 158159, 161, 164, 189190, 248

sqlite3_finalize( ) function, 129, 161, 163, 171, 224, 272

sqlite3_free( ) function, 157, 203

sqlite3_free_table( ) function, 159

sqlite3_free(errmsg) function, 157

sqlite3_get_table( ) function, 132133, 159161, 164, 189

sqlite3_interrupt( ) function, 189

sqlite3_last_insert_rowid( ) function, 159

sqlite3_malloc( ) function, 159, 202

sqlite3_mprintf( ) function, 134, 171, 203

sqlite3_open( ) function, 128, 154

sqlite3_open_v2( ) function, 154155, 174, 271

sqlite3_open_v2( ), sqlite3_prepare( ) method, 263

sqlite3_open16( ) function, 154

sqlite3_prepare( ) function, 163164, 169170, 172173, 178, 228

sqlite3_prepare( )_v2 function, 131

sqlite3_prepare_v2( ) function, 129, 131, 161162, 164, 174, 202, 223

sqlite3_progress_handler( ) function, 189, 237

sqlite3_release_memory( ) function, 193

sqlite3_reset( ) function, 132, 161, 163, 171, 229, 235

sqlite3_result_error( ) function, 203

sqlite3_result_error_nomem( ) function, 208

sqlite3_result_text( ) function, 202203, 208

sqlite3_result_value( ) function, 203

sqlite3_result_xxx( ) function, 203, 208

sqlite3_rollback_hook( ) function, 135, 179

sqlite3_set_authorizer( ) function, 135, 176, 180, 188, 237

sqlite3_soft_heap_limit( ) function, 193

sqlite3_step( ) function, 129, 161162, 170171, 177178, 192, 223, 228

sqlite3_stmt handle, 127, 129, 227

sqlite3_stmt structure, 161, 170, 233234, 248

sqlite3_trace( ) function, 178, 201, 237

sqlite3_unlock_notify( ) function, 192

sqlite3_update_hook( ) function, 135, 179

sqlite3_user_data( ) function, 198

sqlite3_value_blob( ) function, 199

sqlite3_value_bytes( ) function, 199

sqlite3_value_text( ) function, 208

sqlite3_value_type( ) function, 199

sqlite3_value_xxx( ) functions, 198199

sqlite3_vmprintf( ) method, 240

sqlite3_wal_autocheckpoint( ) function, 320321

sqlite3_wal_checkpoint( ) function, 320321

sqlite3_wal_hook( ) function, 320

sqlite3BtreeBeginStmt routine, 309

sqlite3BtreeBeginTrans routine, 308

sqlite3BtreeClearTable routine, 309

sqlite3BtreeClose routine, 308

sqlite3BtreeCloseCursor function, 309

sqlite3BtreeCommit routine, 308

sqlite3BtreeCommitStmt routine, 309

sqlite3BtreeCreateTable routine, 309

sqlite3BtreeCursor function, 309

sqlite3BtreeData function, 310

sqlite3BtreeDataSize function, 310

sqlite3BtreeDelete function, 310

sqlite3BtreeDropTable routine, 309

sqlite3BtreeFirst function, 309

sqlite3BtreeGetAutoVacuum function, 310

sqlite3BtreeGetPageSize function, 310

sqlite3BtreeInsert function, 310

sqlite3BtreeKey function, 310

sqlite3BtreeKeySize function, 310

sqlite3BtreeLast function, 309

sqlite3BtreeMoveto function, 309

sqlite3BtreeNext function, 309

sqlite3BtreeOpen routine, 308

sqlite3BtreePrevious function, 309

sqlite3BtreeRollback routine, 309

sqlite3BtreeRollbackStmt routine, 309

sqlite3BtreeSetAutoVacuum function, 310

sqlite3BtreeSetBusyHandler function, 310

sqlite3BtreeSetCacheSize function, 310

sqlite3BtreeSetPageSize function, 310

sqlite3BtreeSetSafetyLevel function, 310

sqlite3.def file, 21, 26

sqlite3.dll file, 21

sqlite3.exe file, 1920, 30

sqlite3.lib library, 2122, 28

SQLite.Callback interface, 237, 239

sqliteCreateAggregate( ) method, 251

sqliteCreateFunction( ) method, 251

SQLiteDatabase class, 286290

convenience methods for, 288289

executing queries with, 287288

implementing, 290292

opening and closing databases with, 286287

transactions with, 289

useful methods for, 290

SQLiteDatabase::compile( ) method, 238

SQLite.Database.create_function( ) function, 241

SQLiteDatabase.CursorFactory class, 285

SQLite.Database::exec( ) method, 240

SQLite.Database.function_type( ) function, 241

SQLiteDatabase::open( ) method, 238

sqlite.fossil file, 23

SQLite.Function interface, 240241

sqlite.jar file, 237, 241

SQLite.JDBCDriver class, 241

SQLiteJDBCExample.java file, 242

SQLiteJNIExample.java file, 238

SQLiteman tool, 45

SQLiteManager tool, 46

SQLiteOpenHelper( ) method, 287

SQLiteOpenHelper class, for Android development, 285286, 290292

SQLiteQueryBuilder class, for Android development, 293294

sql.sql file, 49

src folder, 25

stable source distribution, compiling source code on Windows, 22

stackable flags parameter, 287

startup, accessing database upon, 269272

Statement::bind_params( ) method, 234

Statement.close( ) method, 234

statements, data structures of SQLite, 126127

Statically linked command-line program, 31

step( ) function, 131, 137, 146148, 151, 198, 231, 241

storage classes

for SQLite, 101104

and type affinity, 314

and type conversions, 315318

str_agg( ) function, 206207, 209

str_agg_finalize( ) function, 206208

str_agg_step( ) function, 206208

strcat( ) function, 206

subqueries, 7980

subselects, 79

sum( ) function, 67, 137, 195

sum_agg( ) finalize function, 208

Synaptic utility, 31

synchronous pragma, 121122, 143

syncs( ) function, 310

syntax for SQL in SQLite, 5053

commands, 5152

comments, 53

identifiers, 53

keywords, 53

literals, 52

System Variables list, 19

imagesT

t parameter, 266

table functions, for B-tree module API, 309

table parameter, 293

table_info pragma, 121, 242

table_name attribute, 54

table_name variable, 106

table_name.column_name notation, 73

tables

aliases for, 7779

altering, 5455

creating, 5354

joining, 7277

cross joins, 7576

inner joins, 7475

natural joins, 77

outer joins, 76

preferred syntax for, 77

.tables [pattern] command, 37

tables variable, 58

TakeOffGW network installer, 2829

TakeOffGW package, 2830

tar -xzvf sqlite-amalgamation-3.6.23.1.tar.gz command, 30

Tcl

language extension for, 243247

connecting to, 244

installation of, 243244

query processing with, 244246

user-defined functions with, 247

parameters in C API, 173174

Tcl Extension Architecture (TEA), 18

tclsqlite.c file, 26

TEA (Tcl Extension Architecture), 18

temp database, 118

temp keyword, 54

temp_store pragma, 122, 131

temporary keyword, 54

temporary table, 54

test table, 3638, 4042, 114

test_idx index, 38

test2 table, 41

test2.db database, 42

test3.db database, 42

test.csv file, 41

test.db database, 35, 42

test.db file, 36, 39, 43

test.sql file, 4243, 49

text class, 102103, 196

Text Field elements, 267

threading

with SQLite API, 136

support in C API, 190193

and memory management, 193

shared cache mode, 190193

THREADSAFE preprocessor flag, 21

three-value logic, 85

/tmp folder, 33

tokens, 52

Transaction method, 246

transactions, 111118, 138149

and conflict resolution, 112115

and deadlocks, 116117

and exclusive state, 145

life cycles for, 138139

lock states, 139141

and locks, 115116

read transactions, 141

scope for, 111112

sizing page cache, 145146

with SQLiteDatabase class, 289

types of, 117118

using busy handler, 146147

write transactions, 141145

and autocommit, 143145

exclusive state, 142143

and page cache, 145

pending state, 142

reserved state, 141142

triggers, 108111

error handling with, 110

and updatable views, 110111

update triggers, 109110

tristate logic, 85

type affinity, 313315

and column types, 313

example of, 314315

and storage classes, 314

type conversions, and storage classes, 315318

type_id attribute, 48, 65, 68, 71

type_id column, 72, 76, 8788, 100

type_id group, 68

type_id values, 68, 7172, 83, 89

typeof( ) function, 102, 317

typeof(b) column, 315

types( ) method, 239

types subquery, 80

imagesU

UIViewController class, 266

unary operators, 60

union all operation, 81

union keyword, 81

union operation, 81

UNION statement, 12

unique constraints, 54, 9193, 9697, 106, 112113, 115

unique keyword, 106

unlock notification, shared cache mode, 192193

UNLOCKED state, 140144

UnlockFile( ) function, 148

updatable views, and triggers, 110111

update command, 9192, 98, 108, 115, 141142, 145, 147, 149

update filter, 183

update operation, 135, 179180

UPDATE statement, 1012, 110, 112

update triggers, 109110

update_hook( ) function, in C API, 179180

update_list column assignment, 91

upper( ) function, 66

UPSERT statement, 10

USB Driver for Windows component, 282

user interface, linking data with, 298299

User Interfaces group, 266

user-defined functions, with language extensions

for Java, 240241

for Perl, 224225

for PHP, 251252

for Python, 231

for Ruby, 236

for Tcl, 247

utilities, 8

imagesV

vacuum command, 119, 122

VACUUM operation, 189

value argument, 199

value field, 36, 41

value_list variable, 87

values

for Extension C API, 198199

for where clause, 60

varchar(100) column, 9

VDBE (virtual database engine), 6, 161

Venn diagram, 74

version parameter, 285

views, in SQLite, 104106

virtual database engine (VDBE), 6, 161

VM (virtual machine), 67, 238

VM::step( ) method, 239

void method, 288

imagesW

WAL (Write Ahead Log), 318322

activation of, 319

advantages and disadvantages of, 320

and checkpoints, 318

and concurrency, 319

configuration of, 320

operational issues with, 321322

overview, 318

when condition, 8384

where clause, 5964

binary operators, 6062

glob operator, 64

like operator, 63

logical operators, 63

operators, 60

values, 60

where keyword, 57

where predicate, 84

while loop, 149

.width option, 49

Win 32 Application Wizard, 28

Win32 Project template, 27

Windows, 1830

building dynamically linked SQLite client with Visual C++, 2728

building SQLite DLL with Microsoft Visual C++, 2527

building SQLite with MinGW, 2830

compiling SQLite source code on Windows, 2225

installing command-line program, 1821

installing SQLite DLL, 2122

Windows command shell, 19

windowssystem32 folder, 19

--with-jardir=DIR option, 237

wrapped queries, executing, 132133

wrapper functions, in C API, 153160

for connecting and disconnecting, 153155

exec() function, 155159

get_table() function, 159160

Write Ahead Log. See WAL

write transactions, 141145

and autocommit, 143145

exclusive state, 142143

and page cache, 145

pending state, 142

reserved state, 141142

Write-Ahead Log mode, 192

imagesX

xCallback function, 179

xcode_3.2.4_and_ios_sdk_4.1.dmg file, 254

xCompare argument, 213

xFinal argument, 197, 206

xFunc argument, 197, 206

xNotify function, 192

xStep argument, 197, 206

imagesY

<yourdb>-shm file, 320

<yourdb>-wal file, 320

imagesZ

zero configuration, features of SQLite, 8

zFunctionName argument, 197

zVfs parameter, 155

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.251.70