System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact ce4eb26f18e15236b4789f2b9e20db5f675b0d8a:


0000: 3c 21 44 4f 43 54 59 50 45 20 48 54 4d 4c 20 50  <!DOCTYPE HTML P
0010: 55 42 4c 49 43 20 22 2d 2f 2f 57 33 43 2f 2f 44  UBLIC "-//W3C//D
0020: 54 44 20 48 54 4d 4c 20 34 2e 30 31 2f 2f 45 4e  TD HTML 4.01//EN
0030: 22 20 22 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33  " "http://www.w3
0040: 2e 6f 72 67 2f 54 52 2f 68 74 6d 6c 34 2f 73 74  .org/TR/html4/st
0050: 72 69 63 74 2e 64 74 64 22 3e 0a 3c 68 74 6d 6c  rict.dtd">.<html
0060: 3e 3c 68 65 61 64 3e 0a 3c 6d 65 74 61 20 6e 61  ><head>.<meta na
0070: 6d 65 3d 22 76 69 65 77 70 6f 72 74 22 20 63 6f  me="viewport" co
0080: 6e 74 65 6e 74 3d 22 77 69 64 74 68 3d 64 65 76  ntent="width=dev
0090: 69 63 65 2d 77 69 64 74 68 2c 20 69 6e 69 74 69  ice-width, initi
00a0: 61 6c 2d 73 63 61 6c 65 3d 31 2e 30 22 3e 0a 3c  al-scale=1.0">.<
00b0: 6d 65 74 61 20 68 74 74 70 2d 65 71 75 69 76 3d  meta http-equiv=
00c0: 22 63 6f 6e 74 65 6e 74 2d 74 79 70 65 22 20 63  "content-type" c
00d0: 6f 6e 74 65 6e 74 3d 22 74 65 78 74 2f 68 74 6d  ontent="text/htm
00e0: 6c 3b 20 63 68 61 72 73 65 74 3d 55 54 46 2d 38  l; charset=UTF-8
00f0: 22 3e 0a 3c 6c 69 6e 6b 20 68 72 65 66 3d 22 73  ">.<link href="s
0100: 71 6c 69 74 65 2e 63 73 73 22 20 72 65 6c 3d 22  qlite.css" rel="
0110: 73 74 79 6c 65 73 68 65 65 74 22 3e 0a 3c 74 69  stylesheet">.<ti
0120: 74 6c 65 3e 53 51 4c 69 74 65 20 51 75 65 72 79  tle>SQLite Query
0130: 20 4c 61 6e 67 75 61 67 65 3a 20 43 52 45 41 54   Language: CREAT
0140: 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 3c  E VIRTUAL TABLE<
0150: 2f 74 69 74 6c 65 3e 0a 3c 2f 68 65 61 64 3e 0a  /title>.</head>.
0160: 3c 62 6f 64 79 3e 0a 3c 64 69 76 20 63 6c 61 73  <body>.<div clas
0170: 73 3d 6e 6f 73 65 61 72 63 68 3e 0a 3c 61 20 68  s=nosearch>.<a h
0180: 72 65 66 3d 22 69 6e 64 65 78 2e 68 74 6d 6c 22  ref="index.html"
0190: 3e 0a 3c 69 6d 67 20 63 6c 61 73 73 3d 22 6c 6f  >.<img class="lo
01a0: 67 6f 22 20 73 72 63 3d 22 69 6d 61 67 65 73 2f  go" src="images/
01b0: 73 71 6c 69 74 65 33 37 30 5f 62 61 6e 6e 65 72  sqlite370_banner
01c0: 2e 67 69 66 22 20 61 6c 74 3d 22 53 51 4c 69 74  .gif" alt="SQLit
01d0: 65 22 20 62 6f 72 64 65 72 3d 22 30 22 3e 0a 3c  e" border="0">.<
01e0: 2f 61 3e 0a 3c 64 69 76 3e 3c 21 2d 2d 20 49 45  /a>.<div><!-- IE
01f0: 20 68 61 63 6b 20 74 6f 20 70 72 65 76 65 6e 74   hack to prevent
0200: 20 64 69 73 61 70 70 65 61 72 69 6e 67 20 6c 6f   disappearing lo
0210: 67 6f 20 2d 2d 3e 3c 2f 64 69 76 3e 0a 3c 64 69  go --></div>.<di
0220: 76 20 63 6c 61 73 73 3d 22 74 61 67 6c 69 6e 65  v class="tagline
0230: 20 64 65 73 6b 74 6f 70 6f 6e 6c 79 22 3e 0a 53   desktoponly">.S
0240: 6d 61 6c 6c 2e 20 46 61 73 74 2e 20 52 65 6c 69  mall. Fast. Reli
0250: 61 62 6c 65 2e 3c 62 72 3e 43 68 6f 6f 73 65 20  able.<br>Choose 
0260: 61 6e 79 20 74 68 72 65 65 2e 0a 3c 2f 64 69 76  any three..</div
0270: 3e 0a 3c 64 69 76 20 63 6c 61 73 73 3d 22 6d 65  >.<div class="me
0280: 6e 75 20 6d 61 69 6e 6d 65 6e 75 22 3e 0a 3c 75  nu mainmenu">.<u
0290: 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22  l>.<li><a href="
02a0: 69 6e 64 65 78 2e 68 74 6d 6c 22 3e 48 6f 6d 65  index.html">Home
02b0: 3c 2f 61 3e 0a 3c 6c 69 20 63 6c 61 73 73 3d 27  </a>.<li class='
02c0: 6d 6f 62 69 6c 65 6f 6e 6c 79 27 3e 3c 61 20 68  mobileonly'><a h
02d0: 72 65 66 3d 22 6a 61 76 61 73 63 72 69 70 74 3a  ref="javascript:
02e0: 76 6f 69 64 28 30 29 22 20 6f 6e 63 6c 69 63 6b  void(0)" onclick
02f0: 3d 27 74 6f 67 67 6c 65 5f 64 69 76 28 22 73 75  ='toggle_div("su
0300: 62 6d 65 6e 75 22 29 27 3e 4d 65 6e 75 3c 2f 61  bmenu")'>Menu</a
0310: 3e 0a 3c 6c 69 20 63 6c 61 73 73 3d 27 77 69 64  >.<li class='wid
0320: 65 6f 6e 6c 79 27 3e 3c 61 20 68 72 65 66 3d 27  eonly'><a href='
0330: 61 62 6f 75 74 2e 68 74 6d 6c 27 3e 41 62 6f 75  about.html'>Abou
0340: 74 3c 2f 61 3e 0a 3c 6c 69 20 63 6c 61 73 73 3d  t</a>.<li class=
0350: 27 64 65 73 6b 74 6f 70 6f 6e 6c 79 27 3e 3c 61  'desktoponly'><a
0360: 20 68 72 65 66 3d 22 64 6f 63 73 2e 68 74 6d 6c   href="docs.html
0370: 22 3e 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c  ">Documentation<
0380: 2f 61 3e 0a 3c 6c 69 20 63 6c 61 73 73 3d 27 64  /a>.<li class='d
0390: 65 73 6b 74 6f 70 6f 6e 6c 79 27 3e 3c 61 20 68  esktoponly'><a h
03a0: 72 65 66 3d 22 64 6f 77 6e 6c 6f 61 64 2e 68 74  ref="download.ht
03b0: 6d 6c 22 3e 44 6f 77 6e 6c 6f 61 64 3c 2f 61 3e  ml">Download</a>
03c0: 0a 3c 6c 69 20 63 6c 61 73 73 3d 27 77 69 64 65  .<li class='wide
03d0: 6f 6e 6c 79 27 3e 3c 61 20 68 72 65 66 3d 27 63  only'><a href='c
03e0: 6f 70 79 72 69 67 68 74 2e 68 74 6d 6c 27 3e 4c  opyright.html'>L
03f0: 69 63 65 6e 73 65 3c 2f 61 3e 0a 3c 6c 69 20 63  icense</a>.<li c
0400: 6c 61 73 73 3d 27 64 65 73 6b 74 6f 70 6f 6e 6c  lass='desktoponl
0410: 79 27 3e 3c 61 20 68 72 65 66 3d 22 73 75 70 70  y'><a href="supp
0420: 6f 72 74 2e 68 74 6d 6c 22 3e 53 75 70 70 6f 72  ort.html">Suppor
0430: 74 3c 2f 61 3e 0a 3c 6c 69 20 63 6c 61 73 73 3d  t</a>.<li class=
0440: 27 64 65 73 6b 74 6f 70 6f 6e 6c 79 27 3e 3c 61  'desktoponly'><a
0450: 20 68 72 65 66 3d 22 70 72 6f 73 75 70 70 6f 72   href="prosuppor
0460: 74 2e 68 74 6d 6c 22 3e 50 75 72 63 68 61 73 65  t.html">Purchase
0470: 3c 2f 61 3e 0a 3c 6c 69 20 63 6c 61 73 73 3d 27  </a>.<li class='
0480: 73 65 61 72 63 68 27 20 69 64 3d 27 73 65 61 72  search' id='sear
0490: 63 68 5f 6d 65 6e 75 62 75 74 74 6f 6e 27 3e 0a  ch_menubutton'>.
04a0: 3c 61 20 68 72 65 66 3d 22 6a 61 76 61 73 63 72  <a href="javascr
04b0: 69 70 74 3a 76 6f 69 64 28 30 29 22 20 6f 6e 63  ipt:void(0)" onc
04c0: 6c 69 63 6b 3d 27 74 6f 67 67 6c 65 5f 64 69 76  lick='toggle_div
04d0: 28 22 73 65 61 72 63 68 6d 65 6e 75 22 29 27 3e  ("searchmenu")'>
04e0: 53 65 61 72 63 68 3c 2f 61 3e 0a 3c 2f 75 6c 3e  Search</a>.</ul>
04f0: 0a 3c 2f 64 69 76 3e 0a 3c 64 69 76 20 63 6c 61  .</div>.<div cla
0500: 73 73 3d 22 6d 65 6e 75 20 73 75 62 6d 65 6e 75  ss="menu submenu
0510: 22 20 69 64 3d 22 73 75 62 6d 65 6e 75 22 3e 0a  " id="submenu">.
0520: 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66  <ul>.<li><a href
0530: 3d 27 64 6f 63 73 2e 68 74 6d 6c 27 3e 44 6f 63  ='docs.html'>Doc
0540: 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 3c  umentation</a>.<
0550: 6c 69 3e 3c 61 20 68 72 65 66 3d 27 73 75 70 70  li><a href='supp
0560: 6f 72 74 2e 68 74 6d 6c 27 3e 53 75 70 70 6f 72  ort.html'>Suppor
0570: 74 3c 2f 61 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65  t</a>.<li><a hre
0580: 66 3d 27 70 72 6f 73 75 70 70 6f 72 74 2e 68 74  f='prosupport.ht
0590: 6d 6c 27 3e 50 75 72 63 68 61 73 65 3c 2f 61 3e  ml'>Purchase</a>
05a0: 0a 3c 2f 75 6c 3e 0a 3c 2f 64 69 76 3e 0a 3c 64  .</ul>.</div>.<d
05b0: 69 76 20 63 6c 61 73 73 3d 22 73 65 61 72 63 68  iv class="search
05c0: 6d 65 6e 75 22 20 69 64 3d 22 73 65 61 72 63 68  menu" id="search
05d0: 6d 65 6e 75 22 3e 0a 3c 66 6f 72 6d 20 6d 65 74  menu">.<form met
05e0: 68 6f 64 3d 22 47 45 54 22 20 61 63 74 69 6f 6e  hod="GET" action
05f0: 3d 22 73 65 61 72 63 68 22 3e 0a 3c 73 70 61 6e  ="search">.<span
0600: 20 63 6c 61 73 73 3d 22 64 65 73 6b 74 6f 70 6f   class="desktopo
0610: 6e 6c 79 22 3e 53 65 61 72 63 68 20 66 6f 72 3a  nly">Search for:
0620: 3c 2f 73 70 61 6e 3e 20 3c 69 6e 70 75 74 20 74  </span> <input t
0630: 79 70 65 3d 22 74 65 78 74 22 20 6e 61 6d 65 3d  ype="text" name=
0640: 22 71 22 3e 0a 3c 69 6e 70 75 74 20 74 79 70 65  "q">.<input type
0650: 3d 22 73 75 62 6d 69 74 22 20 76 61 6c 75 65 3d  ="submit" value=
0660: 22 47 6f 22 3e 0a 3c 2f 66 6f 72 6d 3e 0a 3c 2f  "Go">.</form>.</
0670: 64 69 76 3e 0a 3c 2f 64 69 76 3e 0a 3c 73 63 72  div>.</div>.<scr
0680: 69 70 74 3e 0a 66 75 6e 63 74 69 6f 6e 20 74 6f  ipt>.function to
0690: 67 67 6c 65 5f 64 69 76 28 6e 6d 29 20 7b 0a 76  ggle_div(nm) {.v
06a0: 61 72 20 77 20 3d 20 64 6f 63 75 6d 65 6e 74 2e  ar w = document.
06b0: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 6e  getElementById(n
06c0: 6d 29 3b 0a 69 66 28 20 77 2e 73 74 79 6c 65 2e  m);.if( w.style.
06d0: 64 69 73 70 6c 61 79 3d 3d 22 62 6c 6f 63 6b 22  display=="block"
06e0: 20 29 7b 0a 77 2e 73 74 79 6c 65 2e 64 69 73 70   ){.w.style.disp
06f0: 6c 61 79 20 3d 20 22 6e 6f 6e 65 22 3b 0a 7d 65  lay = "none";.}e
0700: 6c 73 65 7b 0a 77 2e 73 74 79 6c 65 2e 64 69 73  lse{.w.style.dis
0710: 70 6c 61 79 20 3d 20 22 62 6c 6f 63 6b 22 3b 0a  play = "block";.
0720: 7d 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 64 69 76  }.}.function div
0730: 5f 6f 66 66 28 6e 6d 29 7b 64 6f 63 75 6d 65 6e  _off(nm){documen
0740: 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64  t.getElementById
0750: 28 6e 6d 29 2e 73 74 79 6c 65 2e 64 69 73 70 6c  (nm).style.displ
0760: 61 79 3d 22 6e 6f 6e 65 22 3b 7d 0a 77 69 6e 64  ay="none";}.wind
0770: 6f 77 2e 6f 6e 62 65 66 6f 72 65 75 6e 6c 6f 61  ow.onbeforeunloa
0780: 64 20 3d 20 66 75 6e 63 74 69 6f 6e 28 65 29 7b  d = function(e){
0790: 64 69 76 5f 6f 66 66 28 22 73 75 62 6d 65 6e 75  div_off("submenu
07a0: 22 29 3b 7d 0a 2f 2a 20 44 69 73 61 62 6c 65 20  ");}./* Disable 
07b0: 74 68 65 20 53 65 61 72 63 68 20 66 65 61 74 75  the Search featu
07c0: 72 65 20 69 66 20 77 65 20 61 72 65 20 6e 6f 74  re if we are not
07d0: 20 6f 70 65 72 61 74 69 6e 67 20 66 72 6f 6d 20   operating from 
07e0: 43 47 49 2c 20 73 69 6e 63 65 20 2a 2f 0a 2f 2a  CGI, since */./*
07f0: 20 53 65 61 72 63 68 20 69 73 20 61 63 63 6f 6d   Search is accom
0800: 70 6c 69 73 68 65 64 20 75 73 69 6e 67 20 43 47  plished using CG
0810: 49 20 61 6e 64 20 77 69 6c 6c 20 6e 6f 74 20 77  I and will not w
0820: 6f 72 6b 20 77 69 74 68 6f 75 74 20 69 74 2e 20  ork without it. 
0830: 2a 2f 0a 69 66 28 20 21 6c 6f 63 61 74 69 6f 6e  */.if( !location
0840: 2e 6f 72 69 67 69 6e 2e 6d 61 74 63 68 28 2f 68  .origin.match(/h
0850: 74 74 70 2f 29 20 29 7b 0a 64 6f 63 75 6d 65 6e  ttp/) ){.documen
0860: 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64  t.getElementById
0870: 28 22 73 65 61 72 63 68 5f 6d 65 6e 75 62 75 74  ("search_menubut
0880: 74 6f 6e 22 29 2e 73 74 79 6c 65 2e 64 69 73 70  ton").style.disp
0890: 6c 61 79 20 3d 20 22 6e 6f 6e 65 22 3b 0a 7d 0a  lay = "none";.}.
08a0: 2f 2a 20 55 73 65 64 20 62 79 20 74 68 65 20 48  /* Used by the H
08b0: 69 64 65 2f 53 68 6f 77 20 62 75 74 74 6f 6e 20  ide/Show button 
08c0: 62 65 73 69 64 65 20 73 79 6e 74 61 78 20 64 69  beside syntax di
08d0: 61 67 72 61 6d 73 2c 20 74 6f 20 74 6f 67 67 6c  agrams, to toggl
08e0: 65 20 74 68 65 20 2a 2f 0a 66 75 6e 63 74 69 6f  e the */.functio
08f0: 6e 20 68 69 64 65 6f 72 73 68 6f 77 28 62 74 6e  n hideorshow(btn
0900: 2c 6f 62 6a 29 7b 0a 76 61 72 20 78 20 3d 20 64  ,obj){.var x = d
0910: 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65  ocument.getEleme
0920: 6e 74 42 79 49 64 28 6f 62 6a 29 3b 0a 76 61 72  ntById(obj);.var
0930: 20 62 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65   b = document.ge
0940: 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 62 74 6e  tElementById(btn
0950: 29 3b 0a 69 66 28 20 78 2e 73 74 79 6c 65 2e 64  );.if( x.style.d
0960: 69 73 70 6c 61 79 21 3d 27 6e 6f 6e 65 27 20 29  isplay!='none' )
0970: 7b 0a 78 2e 73 74 79 6c 65 2e 64 69 73 70 6c 61  {.x.style.displa
0980: 79 20 3d 20 27 6e 6f 6e 65 27 3b 0a 62 2e 69 6e  y = 'none';.b.in
0990: 6e 65 72 48 54 4d 4c 3d 27 73 68 6f 77 27 3b 0a  nerHTML='show';.
09a0: 7d 65 6c 73 65 7b 0a 78 2e 73 74 79 6c 65 2e 64  }else{.x.style.d
09b0: 69 73 70 6c 61 79 20 3d 20 27 27 3b 0a 62 2e 69  isplay = '';.b.i
09c0: 6e 6e 65 72 48 54 4d 4c 3d 27 68 69 64 65 27 3b  nnerHTML='hide';
09d0: 0a 7d 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b  .}.return false;
09e0: 0a 7d 0a 3c 2f 73 63 72 69 70 74 3e 0a 3c 2f 64  .}.</script>.</d
09f0: 69 76 3e 0a 3c 64 69 76 20 63 6c 61 73 73 3d 6e  iv>.<div class=n
0a00: 6f 73 65 61 72 63 68 3e 3c 68 31 20 61 6c 69 67  osearch><h1 alig
0a10: 6e 3d 22 63 65 6e 74 65 72 22 3e 53 51 4c 20 41  n="center">SQL A
0a20: 73 20 55 6e 64 65 72 73 74 6f 6f 64 20 42 79 20  s Understood By 
0a30: 53 51 4c 69 74 65 3c 2f 68 31 3e 3c 70 3e 3c 61  SQLite</h1><p><a
0a40: 20 68 72 65 66 3d 22 6c 61 6e 67 2e 68 74 6d 6c   href="lang.html
0a50: 22 3e 5b 54 6f 70 5d 3c 2f 61 3e 3c 2f 70 3e 3c  ">[Top]</a></p><
0a60: 68 32 3e 43 52 45 41 54 45 20 56 49 52 54 55 41  h2>CREATE VIRTUA
0a70: 4c 20 54 41 42 4c 45 3c 2f 68 32 3e 3c 2f 64 69  L TABLE</h2></di
0a80: 76 3e 3c 70 3e 3c 62 3e 3c 61 20 68 72 65 66 3d  v><p><b><a href=
0a90: 22 73 79 6e 74 61 78 2f 63 72 65 61 74 65 2d 76  "syntax/create-v
0aa0: 69 72 74 75 61 6c 2d 74 61 62 6c 65 2d 73 74 6d  irtual-table-stm
0ab0: 74 2e 68 74 6d 6c 22 3e 63 72 65 61 74 65 2d 76  t.html">create-v
0ac0: 69 72 74 75 61 6c 2d 74 61 62 6c 65 2d 73 74 6d  irtual-table-stm
0ad0: 74 3a 3c 2f 61 3e 3c 2f 62 3e 0a 3c 62 75 74 74  t:</a></b>.<butt
0ae0: 6f 6e 20 69 64 3d 27 78 31 30 30 37 27 20 6f 6e  on id='x1007' on
0af0: 63 6c 69 63 6b 3d 27 68 69 64 65 6f 72 73 68 6f  click='hideorsho
0b00: 77 28 22 78 31 30 30 37 22 2c 22 78 31 30 30 38  w("x1007","x1008
0b10: 22 29 27 3e 68 69 64 65 3c 2f 62 75 74 74 6f 6e  ")'>hide</button
0b20: 3e 3c 2f 70 3e 0a 20 3c 64 69 76 20 69 64 3d 27  ></p>. <div id='
0b30: 78 31 30 30 38 27 20 63 6c 61 73 73 3d 27 69 6d  x1008' class='im
0b40: 67 63 6f 6e 74 61 69 6e 65 72 27 3e 0a 20 3c 69  gcontainer'>. <i
0b50: 6d 67 20 61 6c 74 3d 22 73 79 6e 74 61 78 20 64  mg alt="syntax d
0b60: 69 61 67 72 61 6d 20 63 72 65 61 74 65 2d 76 69  iagram create-vi
0b70: 72 74 75 61 6c 2d 74 61 62 6c 65 2d 73 74 6d 74  rtual-table-stmt
0b80: 22 20 73 72 63 3d 22 69 6d 61 67 65 73 2f 73 79  " src="images/sy
0b90: 6e 74 61 78 2f 63 72 65 61 74 65 2d 76 69 72 74  ntax/create-virt
0ba0: 75 61 6c 2d 74 61 62 6c 65 2d 73 74 6d 74 2e 67  ual-table-stmt.g
0bb0: 69 66 22 20 2f 3e 0a 3c 2f 64 69 76 3e 0a 0a 0a  if" />.</div>...
0bc0: 3c 70 3e 41 20 3c 61 20 68 72 65 66 3d 22 76 74  <p>A <a href="vt
0bd0: 61 62 2e 68 74 6d 6c 22 3e 76 69 72 74 75 61 6c  ab.html">virtual
0be0: 20 74 61 62 6c 65 3c 2f 61 3e 20 69 73 20 61 6e   table</a> is an
0bf0: 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 61 6e   interface to an
0c00: 20 65 78 74 65 72 6e 61 6c 20 73 74 6f 72 61 67   external storag
0c10: 65 20 6f 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e  e or computation
0c20: 0a 65 6e 67 69 6e 65 20 74 68 61 74 20 61 70 70  .engine that app
0c30: 65 61 72 73 20 74 6f 20 62 65 20 61 20 74 61 62  ears to be a tab
0c40: 6c 65 20 62 75 74 20 64 6f 65 73 20 6e 6f 74 20  le but does not 
0c50: 61 63 74 75 61 6c 6c 79 20 73 74 6f 72 65 20 69  actually store i
0c60: 6e 66 6f 72 6d 61 74 69 6f 6e 0a 69 6e 20 74 68  nformation.in th
0c70: 65 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 2e  e database file.
0c80: 3c 2f 70 3e 0a 0a 3c 70 3e 49 6e 20 67 65 6e 65  </p>..<p>In gene
0c90: 72 61 6c 2c 20 79 6f 75 20 63 61 6e 20 64 6f 20  ral, you can do 
0ca0: 61 6e 79 74 68 69 6e 67 20 77 69 74 68 20 61 20  anything with a 
0cb0: 3c 61 20 68 72 65 66 3d 22 76 74 61 62 2e 68 74  <a href="vtab.ht
0cc0: 6d 6c 22 3e 76 69 72 74 75 61 6c 20 74 61 62 6c  ml">virtual tabl
0cd0: 65 3c 2f 61 3e 20 74 68 61 74 20 63 61 6e 20 62  e</a> that can b
0ce0: 65 20 64 6f 6e 65 0a 77 69 74 68 20 61 6e 20 6f  e done.with an o
0cf0: 72 64 69 6e 61 72 79 20 74 61 62 6c 65 2c 20 65  rdinary table, e
0d00: 78 63 65 70 74 20 74 68 61 74 20 79 6f 75 20 63  xcept that you c
0d10: 61 6e 6e 6f 74 20 63 72 65 61 74 65 20 69 6e 64  annot create ind
0d20: 69 63 65 73 20 6f 72 20 74 72 69 67 67 65 72 73  ices or triggers
0d30: 20 6f 6e 20 61 0a 76 69 72 74 75 61 6c 20 74 61   on a.virtual ta
0d40: 62 6c 65 2e 20 20 53 6f 6d 65 20 76 69 72 74 75  ble.  Some virtu
0d50: 61 6c 20 74 61 62 6c 65 20 69 6d 70 6c 65 6d 65  al table impleme
0d60: 6e 74 61 74 69 6f 6e 73 20 6d 69 67 68 74 20 69  ntations might i
0d70: 6d 70 6f 73 65 20 61 64 64 69 74 69 6f 6e 61 6c  mpose additional
0d80: 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 2e 20 20  .restrictions.  
0d90: 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6d 61 6e  For example, man
0da0: 79 20 76 69 72 74 75 61 6c 20 74 61 62 6c 65 73  y virtual tables
0db0: 20 61 72 65 20 72 65 61 64 2d 6f 6e 6c 79 2e 3c   are read-only.<
0dc0: 2f 70 3e 0a 0a 3c 70 3e 54 68 65 20 3c 73 70 61  /p>..<p>The <spa
0dd0: 6e 20 63 6c 61 73 73 3d 27 79 79 74 65 72 6d 27  n class='yyterm'
0de0: 3e 6d 6f 64 75 6c 65 2d 6e 61 6d 65 3c 2f 73 70  >module-name</sp
0df0: 61 6e 3e 20 69 73 20 74 68 65 20 6e 61 6d 65 20  an> is the name 
0e00: 6f 66 20 61 6e 20 6f 62 6a 65 63 74 20 74 68 61  of an object tha
0e10: 74 20 69 6d 70 6c 65 6d 65 6e 74 73 0a 74 68 65  t implements.the
0e20: 20 76 69 72 74 75 61 6c 20 74 61 62 6c 65 2e 20   virtual table. 
0e30: 20 54 68 65 20 3c 73 70 61 6e 20 63 6c 61 73 73   The <span class
0e40: 3d 27 79 79 74 65 72 6d 27 3e 6d 6f 64 75 6c 65  ='yyterm'>module
0e50: 2d 6e 61 6d 65 3c 2f 73 70 61 6e 3e 20 6d 75 73  -name</span> mus
0e60: 74 20 62 65 20 72 65 67 69 73 74 65 72 65 64 20  t be registered 
0e70: 77 69 74 68 0a 74 68 65 20 53 51 4c 69 74 65 20  with.the SQLite 
0e80: 64 61 74 61 62 61 73 65 20 63 6f 6e 6e 65 63 74  database connect
0e90: 69 6f 6e 20 75 73 69 6e 67 0a 3c 61 20 68 72 65  ion using.<a hre
0ea0: 66 3d 22 63 33 72 65 66 2f 63 72 65 61 74 65 5f  f="c3ref/create_
0eb0: 6d 6f 64 75 6c 65 2e 68 74 6d 6c 22 3e 73 71 6c  module.html">sql
0ec0: 69 74 65 33 5f 63 72 65 61 74 65 5f 6d 6f 64 75  ite3_create_modu
0ed0: 6c 65 28 29 3c 2f 61 3e 20 6f 72 20 3c 61 20 68  le()</a> or <a h
0ee0: 72 65 66 3d 22 63 33 72 65 66 2f 63 72 65 61 74  ref="c3ref/creat
0ef0: 65 5f 6d 6f 64 75 6c 65 2e 68 74 6d 6c 22 3e 73  e_module.html">s
0f00: 71 6c 69 74 65 33 5f 63 72 65 61 74 65 5f 6d 6f  qlite3_create_mo
0f10: 64 75 6c 65 5f 76 32 28 29 3c 2f 61 3e 0a 70 72  dule_v2()</a>.pr
0f20: 69 6f 72 20 74 6f 20 69 73 73 75 69 6e 67 20 74  ior to issuing t
0f30: 68 65 20 43 52 45 41 54 45 20 56 49 52 54 55 41  he CREATE VIRTUA
0f40: 4c 20 54 41 42 4c 45 20 73 74 61 74 65 6d 65 6e  L TABLE statemen
0f50: 74 2e 0a 54 68 65 20 6d 6f 64 75 6c 65 20 74 61  t..The module ta
0f60: 6b 65 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65  kes zero or more
0f70: 20 63 6f 6d 6d 61 2d 73 65 70 61 72 61 74 65 64   comma-separated
0f80: 20 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 65 20   arguments..The 
0f90: 61 72 67 75 6d 65 6e 74 73 20 63 61 6e 20 62 65  arguments can be
0fa0: 20 6a 75 73 74 20 61 62 6f 75 74 20 61 6e 79 20   just about any 
0fb0: 74 65 78 74 20 61 73 20 6c 6f 6e 67 20 61 73 20  text as long as 
0fc0: 69 74 20 68 61 73 20 62 61 6c 61 6e 63 65 64 0a  it has balanced.
0fd0: 70 61 72 65 6e 74 68 65 73 65 73 2e 20 20 54 68  parentheses.  Th
0fe0: 65 20 61 72 67 75 6d 65 6e 74 20 73 79 6e 74 61  e argument synta
0ff0: 78 20 69 73 20 73 75 66 66 69 63 69 65 6e 74 6c  x is sufficientl
1000: 79 20 67 65 6e 65 72 61 6c 20 74 68 61 74 20 74  y general that t
1010: 68 65 0a 61 72 67 75 6d 65 6e 74 73 20 63 61 6e  he.arguments can
1020: 20 62 65 20 6d 61 64 65 20 74 6f 20 61 70 70 65   be made to appe
1030: 61 72 20 61 73 20 3c 61 20 68 72 65 66 3d 22 6c  ar as <a href="l
1040: 61 6e 67 5f 63 72 65 61 74 65 74 61 62 6c 65 2e  ang_createtable.
1050: 68 74 6d 6c 23 74 61 62 6c 65 63 6f 6c 64 65 66  html#tablecoldef
1060: 22 3e 63 6f 6c 75 6d 6e 20 64 65 66 69 6e 69 74  ">column definit
1070: 69 6f 6e 73 3c 2f 61 3e 20 69 6e 20 61 20 74 72  ions</a> in a tr
1080: 61 64 69 74 69 6f 6e 61 6c 0a 3c 61 20 68 72 65  aditional.<a hre
1090: 66 3d 22 6c 61 6e 67 5f 63 72 65 61 74 65 74 61  f="lang_createta
10a0: 62 6c 65 2e 68 74 6d 6c 22 3e 43 52 45 41 54 45  ble.html">CREATE
10b0: 20 54 41 42 4c 45 3c 2f 61 3e 20 73 74 61 74 65   TABLE</a> state
10c0: 6d 65 6e 74 2e 20 20 0a 53 51 4c 69 74 65 20 70  ment.  .SQLite p
10d0: 61 73 73 65 73 20 74 68 65 20 6d 6f 64 75 6c 65  asses the module
10e0: 20 61 72 67 75 6d 65 6e 74 73 20 64 69 72 65 63   arguments direc
10f0: 74 6c 79 0a 74 6f 20 74 68 65 20 3c 61 20 68 72  tly.to the <a hr
1100: 65 66 3d 22 76 74 61 62 2e 68 74 6d 6c 23 78 63  ef="vtab.html#xc
1110: 72 65 61 74 65 22 3e 78 43 72 65 61 74 65 3c 2f  reate">xCreate</
1120: 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22  a> and <a href="
1130: 76 74 61 62 2e 68 74 6d 6c 23 78 63 6f 6e 6e 65  vtab.html#xconne
1140: 63 74 22 3e 78 43 6f 6e 6e 65 63 74 3c 2f 61 3e  ct">xConnect</a>
1150: 20 6d 65 74 68 6f 64 73 20 6f 66 20 74 68 65 20   methods of the 
1160: 6d 6f 64 75 6c 65 20 69 6d 70 6c 65 6d 65 6e 74  module implement
1170: 61 74 69 6f 6e 0a 77 69 74 68 6f 75 74 20 61 6e  ation.without an
1180: 79 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e  y interpretation
1190: 2e 20 20 49 74 20 69 73 20 74 68 65 20 72 65 73  .  It is the res
11a0: 70 6f 6e 73 69 62 69 6c 69 74 79 0a 6f 66 20 74  ponsibility.of t
11b0: 68 65 20 6d 6f 64 75 6c 65 20 69 6d 70 6c 65 6d  he module implem
11c0: 65 6e 74 61 74 69 6f 6e 20 74 6f 20 70 61 72 73  entation to pars
11d0: 65 20 61 6e 64 20 69 6e 74 65 72 70 72 65 74 20  e and interpret 
11e0: 69 74 73 20 6f 77 6e 20 61 72 67 75 6d 65 6e 74  its own argument
11f0: 73 2e 3c 2f 70 3e 0a 0a 3c 70 3e 41 20 76 69 72  s.</p>..<p>A vir
1200: 74 75 61 6c 20 74 61 62 6c 65 20 69 73 20 64 65  tual table is de
1210: 73 74 72 6f 79 65 64 20 75 73 69 6e 67 20 74 68  stroyed using th
1220: 65 20 6f 72 64 69 6e 61 72 79 0a 3c 61 20 68 72  e ordinary.<a hr
1230: 65 66 3d 22 6c 61 6e 67 5f 64 72 6f 70 74 61 62  ef="lang_droptab
1240: 6c 65 2e 68 74 6d 6c 22 3e 44 52 4f 50 20 54 41  le.html">DROP TA
1250: 42 4c 45 3c 2f 61 3e 20 73 74 61 74 65 6d 65 6e  BLE</a> statemen
1260: 74 2e 20 20 54 68 65 72 65 20 69 73 20 6e 6f 0a  t.  There is no.
1270: 44 52 4f 50 20 56 49 52 54 55 41 4c 20 54 41 42  DROP VIRTUAL TAB
1280: 4c 45 20 73 74 61 74 65 6d 65 6e 74 2e 3c 2f 70  LE statement.</p
1290: 3e 0a 0a 0a                                      >...