/ Hex Artifact Content
Login

Artifact 8cc66b2be6a011055d75ef19ed2584bcfbb585ad:


0000: 0a 2f 2a 0a 2a 2a 20 32 30 30 31 20 53 65 70 74  ./*.** 2001 Sept
0010: 65 6d 62 65 72 20 31 35 0a 2a 2a 0a 2a 2a 20 54  ember 15.**.** T
0020: 68 65 20 61 75 74 68 6f 72 20 64 69 73 63 6c 61  he author discla
0030: 69 6d 73 20 63 6f 70 79 72 69 67 68 74 20 74 6f  ims copyright to
0040: 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64   this source cod
0050: 65 2e 20 20 49 6e 20 70 6c 61 63 65 20 6f 66 0a  e.  In place of.
0060: 2a 2a 20 61 20 6c 65 67 61 6c 20 6e 6f 74 69 63  ** a legal notic
0070: 65 2c 20 68 65 72 65 20 69 73 20 61 20 62 6c 65  e, here is a ble
0080: 73 73 69 6e 67 3a 0a 2a 2a 0a 2a 2a 20 20 20 20  ssing:.**.**    
0090: 4d 61 79 20 79 6f 75 20 64 6f 20 67 6f 6f 64 20  May you do good 
00a0: 61 6e 64 20 6e 6f 74 20 65 76 69 6c 2e 0a 2a 2a  and not evil..**
00b0: 20 20 20 20 4d 61 79 20 79 6f 75 20 66 69 6e 64      May you find
00c0: 20 66 6f 72 67 69 76 65 6e 65 73 73 20 66 6f 72   forgiveness for
00d0: 20 79 6f 75 72 73 65 6c 66 20 61 6e 64 20 66 6f   yourself and fo
00e0: 72 67 69 76 65 20 6f 74 68 65 72 73 2e 0a 2a 2a  rgive others..**
00f0: 20 20 20 20 4d 61 79 20 79 6f 75 20 73 68 61 72      May you shar
0100: 65 20 66 72 65 65 6c 79 2c 20 6e 65 76 65 72 20  e freely, never 
0110: 74 61 6b 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e  taking more than
0120: 20 79 6f 75 20 67 69 76 65 2e 0a 2a 2a 0a 2a 2a   you give..**.**
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0170: 2a 2a 2a 2a 2a 2a 2a 0a 2a 2a 20 54 68 69 73 20  *******.** This 
0180: 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 43 20  file contains C 
0190: 63 6f 64 65 20 72 6f 75 74 69 6e 65 73 20 74 68  code routines th
01a0: 61 74 20 61 72 65 20 63 61 6c 6c 65 64 20 62 79  at are called by
01b0: 20 74 68 65 20 70 61 72 73 65 72 0a 2a 2a 20 74   the parser.** t
01c0: 6f 20 68 61 6e 64 6c 65 20 53 45 4c 45 43 54 20  o handle SELECT 
01d0: 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 53 51  statements in SQ
01e0: 4c 69 74 65 2e 0a 2a 2a 0a 2a 2a 20 24 49 64 3a  Lite..**.** $Id:
01f0: 20 65 78 70 65 72 69 6d 65 6e 74 61 6c 2e 63 2c   experimental.c,
0200: 76 20 31 2e 32 20 32 30 30 35 2f 30 31 2f 32 30  v 1.2 2005/01/20
0210: 20 30 31 3a 31 37 3a 34 34 20 64 61 6e 69 65 6c   01:17:44 daniel
0220: 6b 31 39 37 37 20 45 78 70 20 24 0a 2a 2f 0a 23  k1977 Exp $.*/.#
0230: 69 6e 63 6c 75 64 65 20 22 73 71 6c 69 74 65 49  include "sqliteI
0240: 6e 74 2e 68 22 0a 0a 2f 2a 0a 2a 2a 20 53 65 74  nt.h"../*.** Set
0250: 20 61 6c 6c 20 74 68 65 20 70 61 72 61 6d 65 74   all the paramet
0260: 65 72 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 69  ers in the compi
0270: 6c 65 64 20 53 51 4c 20 73 74 61 74 65 6d 65 6e  led SQL statemen
0280: 74 20 74 6f 20 4e 55 4c 4c 2e 0a 2a 2f 0a 69 6e  t to NULL..*/.in
0290: 74 20 73 71 6c 69 74 65 33 5f 63 6c 65 61 72 5f  t sqlite3_clear_
02a0: 62 69 6e 64 69 6e 67 73 28 73 71 6c 69 74 65 33  bindings(sqlite3
02b0: 5f 73 74 6d 74 20 2a 70 53 74 6d 74 29 7b 0a 20  _stmt *pStmt){. 
02c0: 20 69 6e 74 20 69 3b 0a 20 20 69 6e 74 20 72 63   int i;.  int rc
02d0: 20 3d 20 53 51 4c 49 54 45 5f 4f 4b 3b 0a 20 20   = SQLITE_OK;.  
02e0: 66 6f 72 28 69 3d 31 3b 20 72 63 3d 3d 53 51 4c  for(i=1; rc==SQL
02f0: 49 54 45 5f 4f 4b 20 26 26 20 69 3c 3d 73 71 6c  ITE_OK && i<=sql
0300: 69 74 65 33 5f 62 69 6e 64 5f 70 61 72 61 6d 65  ite3_bind_parame
0310: 74 65 72 5f 63 6f 75 6e 74 28 70 53 74 6d 74 29  ter_count(pStmt)
0320: 3b 20 69 2b 2b 29 7b 0a 20 20 20 20 72 63 20 3d  ; i++){.    rc =
0330: 20 73 71 6c 69 74 65 33 5f 62 69 6e 64 5f 6e 75   sqlite3_bind_nu
0340: 6c 6c 28 70 53 74 6d 74 2c 20 69 29 3b 0a 20 20  ll(pStmt, i);.  
0350: 7d 0a 20 20 72 65 74 75 72 6e 20 72 63 3b 0a 7d  }.  return rc;.}
0360: 0a 0a 2f 2a 0a 2a 2a 20 53 6c 65 65 70 20 66 6f  ../*.** Sleep fo
0370: 72 20 61 20 6c 69 74 74 6c 65 20 77 68 69 6c 65  r a little while
0380: 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 61 6d  .  Return the am
0390: 6f 75 6e 74 20 6f 66 20 74 69 6d 65 20 73 6c 65  ount of time sle
03a0: 70 74 2e 0a 2a 2f 0a 69 6e 74 20 73 71 6c 69 74  pt..*/.int sqlit
03b0: 65 33 5f 73 6c 65 65 70 28 69 6e 74 20 6d 73 29  e3_sleep(int ms)
03c0: 7b 0a 20 20 72 65 74 75 72 6e 20 73 71 6c 69 74  {.  return sqlit
03d0: 65 33 4f 73 53 6c 65 65 70 28 6d 73 29 3b 0a 7d  e3OsSleep(ms);.}
03e0: 0a 0a                                            ..