Hex Artifact Content
Not logged in

Artifact e8d8d5aff21f669d706cadee12ced1b6c7ce112a:

Wiki page [about Pause()] by sandro 2019-05-30 09:10:53.
0000: 44 20 32 30 31 39 2d 30 35 2d 33 30 54 30 39 3a  D 2019-05-30T09:
0010: 31 30 3a 35 33 2e 31 32 33 0a 4c 20 61 62 6f 75  10:53.123.L abou
0020: 74 5c 73 50 61 75 73 65 28 29 0a 50 20 61 65 65  t\sPause().P aee
0030: 64 30 62 33 61 32 34 39 33 32 30 66 30 38 38 35  d0b3a249320f0885
0040: 63 65 63 38 36 63 30 63 66 62 39 37 66 65 62 38  cec86c0cfb97feb8
0050: 63 34 36 37 35 0a 55 20 73 61 6e 64 72 6f 0a 57  c4675.U sandro.W
0060: 20 31 30 32 34 32 0a 3c 61 20 68 72 65 66 3d 22   10242.<a href="
0070: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
0080: 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c  -gis.it/fossil/l
0090: 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 6b  ibspatialite/wik
00a0: 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63  i?name=4.3.0-doc
00b0: 22 3e 62 61 63 6b 3c 2f 61 3e 3c 68 72 3e 3c 62  ">back</a><hr><b
00c0: 72 3e 0d 0a 3c 68 31 3e 49 6e 74 72 6f 64 75 63  r>..<h1>Introduc
00d0: 74 69 6f 6e 3c 2f 68 31 3e 0d 0a 4d 61 6e 79 20  tion</h1>..Many 
00e0: 70 6f 77 65 72 20 75 73 65 72 73 20 72 6f 75 74  power users rout
00f0: 69 6e 65 6c 79 20 75 73 65 20 53 70 61 74 69 61  inely use Spatia
0100: 4c 69 74 65 20 66 6f 72 20 65 78 65 63 75 74 69  Lite for executi
0110: 6e 67 20 3c 62 3e 76 65 72 79 20 63 6f 6d 70 6c  ng <b>very compl
0120: 65 78 20 53 51 4c 20 53 63 72 69 70 74 73 3c 2f  ex SQL Scripts</
0130: 62 3e 2c 20 6d 61 79 20 62 65 20 6c 61 72 67 65  b>, may be large
0140: 6c 79 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 53  ly based on <b>S
0150: 74 6f 72 65 64 20 50 72 6f 63 65 64 75 72 65 73  tored Procedures
0160: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 53 6f 6d 65 74  </b>.<br>..Somet
0170: 69 6d 65 73 20 61 74 74 65 6d 70 74 69 6e 67 20  imes attempting 
0180: 74 6f 20 64 65 62 75 67 20 61 20 63 6f 6d 70 6c  to debug a compl
0190: 65 78 20 53 51 4c 20 73 63 72 69 70 74 20 6d 61  ex SQL script ma
01a0: 79 20 65 61 73 69 6c 79 20 62 65 63 6f 6d 65 20  y easily become 
01b0: 61 20 64 69 66 66 69 63 75 6c 74 20 61 6e 64 20  a difficult and 
01c0: 66 72 75 73 74 72 61 74 69 6e 67 20 61 63 74 69  frustrating acti
01d0: 76 69 74 79 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 49  vity.<br><br>..I
01e0: 6e 20 6f 72 64 65 72 20 74 6f 20 66 61 63 69 6c  n order to facil
01f0: 69 74 61 74 65 20 74 68 65 20 64 65 62 75 67 67  itate the debugg
0200: 69 6e 67 20 6f 66 20 53 51 4c 20 53 63 72 69 70  ing of SQL Scrip
0210: 74 73 20 61 73 20 6d 75 63 68 20 61 73 20 70 6f  ts as much as po
0220: 73 73 69 62 6c 65 2c 20 53 70 61 74 69 61 4c 69  ssible, SpatiaLi
0230: 74 65 20 28 73 74 61 72 74 69 6e 67 20 73 69 6e  te (starting sin
0240: 63 65 20 3c 62 3e 76 65 72 73 69 6f 6e 20 35 2e  ce <b>version 5.
0250: 30 2e 30 3c 2f 62 3e 29 20 73 75 70 70 6f 72 74  0.0</b>) support
0260: 73 20 61 20 73 70 65 63 69 66 69 63 20 3c 62 3e  s a specific <b>
0270: 50 61 75 73 65 28 29 3c 2f 62 3e 20 53 51 4c 20  Pause()</b> SQL 
0280: 66 75 6e 63 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 54  function.<br>..T
0290: 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20  his function is 
02a0: 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 74  intended to be t
02b0: 68 65 20 63 6f 6e 63 65 70 74 75 61 6c 20 65 71  he conceptual eq
02c0: 75 69 76 61 6c 65 6e 74 20 6f 66 20 77 68 61 74  uivalent of what
02d0: 20 61 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70   a <a href="http
02e0: 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61  s://en.wikipedia
02f0: 2e 6f 72 67 2f 77 69 6b 69 2f 42 72 65 61 6b 70  .org/wiki/Breakp
0300: 6f 69 6e 74 22 3e 62 72 65 61 6b 70 6f 69 6e 74  oint">breakpoint
0310: 3c 2f 61 3e 20 69 73 20 69 6e 74 65 6e 64 65 64  </a> is intended
0320: 20 74 6f 20 62 65 20 66 6f 72 20 6f 72 64 69 6e   to be for ordin
0330: 61 72 79 20 64 65 62 75 67 67 65 72 20 74 6f 6f  ary debugger too
0340: 6c 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 46 65 77  ls.<br><br>..Few
0350: 20 62 61 73 69 63 20 63 6f 6e 63 65 70 74 73 3a   basic concepts:
0360: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 2c  ..<ul>..<li>you,
0370: 20 61 73 20 74 68 65 20 64 65 76 65 6c 6f 70 65   as the develope
0380: 72 20 6f 66 20 74 68 65 20 53 51 4c 20 53 63 72  r of the SQL Scr
0390: 69 70 74 2c 20 61 72 65 20 66 72 65 65 20 74 6f  ipt, are free to
03a0: 20 63 61 6c 6c 20 3c 62 3e 50 61 75 73 65 28 29   call <b>Pause()
03b0: 3c 2f 62 3e 20 61 74 20 73 6f 6d 65 20 63 72 69  </b> at some cri
03c0: 74 69 63 61 6c 20 70 6f 69 6e 74 20 6f 66 20 74  tical point of t
03d0: 68 65 20 53 63 72 69 70 74 20 28 3c 69 3e 77 68  he Script (<i>wh
03e0: 65 72 65 20 79 6f 75 20 73 75 73 70 65 63 74 20  ere you suspect 
03f0: 74 68 61 74 20 6e 61 73 74 79 20 74 68 69 6e 67  that nasty thing
0400: 73 20 68 61 76 65 20 6a 75 73 74 20 68 61 70 70  s have just happ
0410: 65 6e 65 64 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d  ened</i>).</li>.
0420: 0a 3c 6c 69 3e 6f 6e 63 65 20 3c 62 3e 50 61 75  .<li>once <b>Pau
0430: 73 65 28 29 3c 2f 62 3e 20 69 73 20 65 78 65 63  se()</b> is exec
0440: 75 74 65 64 20 69 74 20 73 75 64 64 65 6e 6c 79  uted it suddenly
0450: 20 73 74 6f 70 73 20 61 6e 79 20 66 75 72 74 68   stops any furth
0460: 65 72 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20  er execution of 
0470: 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63  the calling proc
0480: 65 73 73 2c 20 74 68 61 74 20 77 69 6c 6c 20 69  ess, that will i
0490: 6e 64 65 66 69 6e 69 74 65 6c 79 20 72 65 6d 61  ndefinitely rema
04a0: 69 6e 20 69 6e 20 61 20 66 72 6f 7a 65 6e 20 73  in in a frozen s
04b0: 74 61 74 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  tate.</li>..<li>
04c0: 74 68 69 73 20 67 69 76 65 73 20 79 6f 75 20 74  this gives you t
04d0: 68 65 20 6f 70 70 6f 72 74 75 6e 69 74 79 20 74  he opportunity t
04e0: 6f 20 73 74 61 72 74 20 61 20 73 65 63 6f 6e 64  o start a second
04f0: 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 53 70 61   instance of Spa
0500: 74 69 61 4c 69 74 65 20 74 6f 20 62 65 20 75 73  tiaLite to be us
0510: 65 64 20 66 6f 72 20 69 6e 73 70 65 63 74 69 6e  ed for inspectin
0520: 67 20 61 6e 79 20 70 6f 73 73 69 62 6c 65 20 64  g any possible d
0530: 65 74 61 69 6c 20 69 6e 20 74 68 65 20 77 6f 72  etail in the wor
0540: 6b 20 64 61 74 61 62 61 73 65 2c 3c 62 72 3e 0d  k database,<br>.
0550: 0a 41 6e 64 20 79 6f 75 27 6c 6c 20 62 65 20 65  .And you'll be e
0560: 76 65 6e 74 75 61 6c 6c 79 20 66 72 65 65 20 74  ventually free t
0570: 6f 20 63 6f 72 72 65 63 74 20 6f 6e 20 74 68 65  o correct on the
0580: 20 66 6c 79 20 73 6f 6d 65 20 77 72 6f 6e 67 20   fly some wrong 
0590: 76 61 6c 75 65 20 79 6f 75 27 6c 6c 20 6e 6f 74  value you'll not
05a0: 69 63 65 20 73 6f 6d 65 77 68 65 72 65 2e 3c 2f  ice somewhere.</
05b0: 6c 69 3e 0d 0a 3c 6c 69 3e 77 68 65 6e 20 79 6f  li>..<li>when yo
05c0: 75 27 76 65 20 63 6f 6d 70 6c 65 74 65 64 20 61  u've completed a
05d0: 6c 6c 20 79 6f 75 72 20 64 65 62 75 67 20 61 63  ll your debug ac
05e0: 74 69 76 69 74 69 65 73 2c 20 79 6f 75 20 73 69  tivities, you si
05f0: 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 74 61 6b  mply have to tak
0600: 65 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74  e the appropriat
0610: 65 20 3c 62 3e 63 6f 6e 74 69 6e 75 65 20 61 63  e <b>continue ac
0620: 74 69 6f 6e 3c 2f 62 3e 2c 3c 62 72 3e 0d 0a 54  tion</b>,<br>..T
0630: 68 65 20 53 51 4c 20 53 63 72 69 70 74 20 77 69  he SQL Script wi
0640: 6c 6c 20 74 68 65 6e 20 72 65 73 75 6d 65 20 69  ll then resume i
0650: 74 73 20 6e 6f 72 6d 61 6c 20 65 78 65 63 75 74  ts normal execut
0660: 69 6f 6e 20 65 78 61 63 74 6c 79 20 66 72 6f 6d  ion exactly from
0670: 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 69   the statement i
0680: 6d 6d 65 64 69 61 74 65 6c 79 20 66 6f 6c 6c 6f  mmediately follo
0690: 77 69 6e 67 20 3c 62 3e 50 61 75 73 65 28 29 3c  wing <b>Pause()<
06a0: 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  /b></li>..<li><b
06b0: 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e  ><u>Note</u></b>
06c0: 3a 20 6e 6f 74 68 69 6e 67 20 66 6f 72 62 69 64  : nothing forbid
06d0: 73 20 74 6f 20 63 61 6c 6c 20 3c 62 3e 50 61 75  s to call <b>Pau
06e0: 73 65 28 29 3c 2f 62 3e 20 61 73 20 6d 61 6e 79  se()</b> as many
06f0: 20 74 69 6d 65 73 20 61 73 20 79 6f 75 20 63 61   times as you ca
0700: 6e 20 66 69 6e 64 20 75 73 65 66 75 6c 20 66 72  n find useful fr
0710: 6f 6d 20 77 69 74 68 69 6e 20 74 68 65 20 73 61  om within the sa
0720: 6d 65 20 53 51 4c 20 53 63 72 69 70 74 2e 3c 2f  me SQL Script.</
0730: 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  li> ..</ul>..<br
0740: 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 70 61  >..<table cellpa
0750: 64 64 69 6e 67 3d 22 36 22 20 63 65 6c 6c 73 70  dding="6" cellsp
0760: 61 63 69 6e 67 3d 22 36 22 20 62 67 63 6f 6c 6f  acing="6" bgcolo
0770: 72 3d 22 23 66 66 66 66 64 30 22 3e 0d 0a 3c 74  r="#ffffd0">..<t
0780: 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 49 6d 70 6f  r><td>..<h3>Impo
0790: 72 74 61 6e 74 20 6e 6f 74 69 63 65 3a 20 50 61  rtant notice: Pa
07a0: 75 73 65 28 29 20 61 6e 64 20 53 51 4c 20 54 72  use() and SQL Tr
07b0: 61 6e 73 61 63 74 69 6f 6e 73 3c 2f 68 33 3e 0d  ansactions</h3>.
07c0: 0a 3c 62 3e 3c 75 3e 52 65 63 61 6c 6c 3c 2f 75  .<b><u>Recall</u
07d0: 3e 3c 2f 62 3e 3a 20 61 6c 6c 20 63 68 61 6e 67  ></b>: all chang
07e0: 65 73 20 63 6f 6e 74 61 69 6e 65 64 20 77 69 74  es contained wit
07f0: 68 69 6e 20 61 20 3c 62 3e 70 65 6e 64 69 6e 67  hin a <b>pending
0800: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
0810: 20 3c 62 3e 75 6e 63 6f 6d 6d 69 74 74 65 64 3c   <b>uncommitted<
0820: 2f 62 3e 29 20 53 51 4c 20 54 72 61 6e 73 61 63  /b>) SQL Transac
0830: 74 69 6f 6e 20 61 72 65 20 73 74 72 69 63 74 6c  tion are strictl
0840: 79 20 70 72 69 76 61 74 65 2e 3c 62 72 3e 0d 0a  y private.<br>..
0850: 54 68 69 73 20 70 72 61 63 74 69 63 61 6c 6c 79  This practically
0860: 20 6d 65 61 6e 73 20 74 68 61 74 20 61 6c 6c 20   means that all 
0870: 74 68 65 6d 20 77 69 6c 6c 20 72 65 6d 61 69 6e  them will remain
0880: 20 63 6f 6d 70 6c 65 74 65 6c 79 20 69 6e 76 69   completely invi
0890: 73 69 62 6c 65 20 74 6f 20 61 6e 79 20 6f 74 68  sible to any oth
08a0: 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 63  er connection ac
08b0: 63 65 73 73 69 6e 67 20 74 68 65 20 73 61 6d 65  cessing the same
08c0: 20 64 61 74 61 62 61 73 65 2e 3c 62 72 3e 0d 0a   database.<br>..
08d0: 42 75 74 20 61 20 64 65 62 75 67 67 69 6e 67 20  But a debugging 
08e0: 73 65 73 73 69 6f 6e 20 61 73 20 70 72 65 76 69  session as previ
08f0: 6f 75 73 6c 79 20 64 65 66 69 6e 65 64 20 6e 65  ously defined ne
0900: 63 65 73 73 61 72 69 6c 79 20 72 65 71 75 69 72  cessarily requir
0910: 65 73 20 75 73 69 6e 67 20 61 74 20 6c 65 61 73  es using at leas
0920: 74 20 74 77 6f 20 64 69 66 66 65 72 65 6e 74 20  t two different 
0930: 63 6f 6e 6e 65 63 74 69 6f 6e 73 3c 62 72 3e 0d  connections<br>.
0940: 0a 28 3c 69 3e 74 68 65 20 6f 6e 65 20 73 75 73  .(<i>the one sus
0950: 70 65 6e 64 65 64 20 62 79 20 3c 2f 69 3e 3c 62  pended by </i><b
0960: 3e 50 61 75 73 65 28 29 3c 2f 62 3e 3c 69 3e 20  >Pause()</b><i> 
0970: 61 6e 64 20 74 68 65 20 6f 74 68 65 72 20 75 73  and the other us
0980: 65 64 20 66 6f 72 20 69 6e 73 70 65 63 74 69 6e  ed for inspectin
0990: 67 20 74 68 65 20 64 61 74 61 62 61 73 65 3c 2f  g the database</
09a0: 69 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  i>).<br><br>..<b
09b0: 3e 3c 75 3e 53 68 6f 72 74 20 63 6f 6e 63 6c 75  ><u>Short conclu
09c0: 73 69 6f 6e 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68  sion</u></b>: th
09d0: 65 20 6f 6e 6c 79 20 73 61 66 65 20 77 61 79 20  e only safe way 
09e0: 66 6f 72 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 50  for calling <b>P
09f0: 61 75 73 65 28 29 3c 2f 62 3e 20 69 73 20 66 72  ause()</b> is fr
0a00: 6f 6d 20 61 20 70 6f 69 6e 74 20 69 6e 20 74 68  om a point in th
0a10: 65 20 53 51 4c 20 63 6f 64 65 20 73 75 72 65 6c  e SQL code surel
0a20: 79 20 6f 75 74 73 69 64 65 20 61 6e 79 20 70 65  y outside any pe
0a30: 6e 64 69 6e 67 20 54 72 61 6e 73 61 63 74 69 6f  nding Transactio
0a40: 6e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 77 69 6c  n.<br>..This wil
0a50: 6c 20 61 76 6f 69 64 20 61 6e 79 20 70 6f 73 73  l avoid any poss
0a60: 69 62 6c 65 20 76 69 73 69 62 69 6c 69 74 79 20  ible visibility 
0a70: 69 73 73 75 65 20 61 6e 64 20 61 6e 79 20 6c 6f  issue and any lo
0a80: 63 6b 69 6e 67 20 63 6f 6e 66 6c 69 63 74 20 62  cking conflict b
0a90: 65 74 77 65 65 6e 20 64 69 66 66 65 72 65 6e 74  etween different
0aa0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2e 3c 62 72   connections.<br
0ab0: 3e 0d 0a 41 6c 77 61 79 73 20 72 65 6d 65 6d 62  >..Always rememb
0ac0: 65 72 20 74 6f 20 63 61 72 65 66 75 6c 6c 79 20  er to carefully 
0ad0: 63 68 65 63 6b 20 66 6f 72 20 74 68 69 73 20 62  check for this b
0ae0: 65 66 6f 72 65 20 64 65 66 69 6e 69 6e 67 20 61  efore defining a
0af0: 20 63 61 6c 6c 20 74 6f 20 3c 62 3e 50 61 75 73   call to <b>Paus
0b00: 65 28 29 3c 2f 62 3e 0d 0a 3c 2f 74 64 3e 3c 74  e()</b>..</td><t
0b10: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 68  r>..</table>..<h
0b20: 33 3e 41 75 78 69 6c 69 61 72 79 20 53 51 4c 20  3>Auxiliary SQL 
0b30: 66 75 6e 63 74 69 6f 6e 73 3c 2f 68 33 3e 0d 0a  functions</h3>..
0b40: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
0b50: 43 54 20 49 73 50 61 75 73 65 45 6e 61 62 6c 65  CT IsPauseEnable
0b60: 64 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  d();..----------
0b70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a  --------------..
0b80: 30 0d 0a 0d 0a 53 45 4c 45 43 54 20 45 6e 61 62  0....SELECT Enab
0b90: 6c 65 50 61 75 73 65 28 29 3b 0d 0a 53 45 4c 45  lePause();..SELE
0ba0: 43 54 20 49 73 50 61 75 73 65 45 6e 61 62 6c 65  CT IsPauseEnable
0bb0: 64 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  d();..----------
0bc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a  --------------..
0bd0: 31 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 69 73 61  1....SELECT Disa
0be0: 62 6c 65 50 61 75 73 65 28 29 0d 0a 53 45 4c 45  blePause()..SELE
0bf0: 43 54 20 49 73 50 61 75 73 65 45 6e 61 62 6c 65  CT IsPauseEnable
0c00: 64 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  d();..----------
0c10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a  --------------..
0c20: 30 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  0..</verbatim>..
0c30: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 63 6f  <ul>..<li>all co
0c40: 6e 6e 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20 69  nnections will i
0c50: 6e 69 74 69 61 6c 6c 79 20 73 74 61 72 74 20 62  nitially start b
0c60: 79 20 6b 65 65 70 69 6e 67 20 3c 62 3e 50 61 75  y keeping <b>Pau
0c70: 73 65 28 29 3c 2f 62 3e 20 64 69 73 61 62 6c 65  se()</b> disable
0c80: 64 20 62 79 20 64 65 66 61 75 6c 74 2e 3c 62 72  d by default.<br
0c90: 3e 0d 0a 41 6e 64 20 77 68 65 6e 20 50 61 75 73  >..And when Paus
0ca0: 65 28 29 20 69 73 20 64 69 73 61 62 6c 65 64 20  e() is disabled 
0cb0: 69 74 20 77 69 6c 6c 20 62 65 20 6a 75 73 74 20  it will be just 
0cc0: 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 61 6e  considered as an
0cd0: 20 65 66 66 65 63 74 6c 65 73 73 20 3c 62 3e 6e   effectless <b>n
0ce0: 6f 2d 6f 70 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c  o-op</b></li>..<
0cf0: 6c 69 3e 79 6f 75 20 6d 75 73 74 20 65 78 70 6c  li>you must expl
0d00: 69 63 69 74 6c 79 20 63 61 6c 6c 20 3c 62 3e 45  icitly call <b>E
0d10: 6e 61 62 6c 65 50 61 75 73 65 28 29 3c 2f 62 3e  nablePause()</b>
0d20: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 65 6e 61   in order to ena
0d30: 62 6c 65 20 50 61 75 73 65 28 29 20 74 6f 20 65  ble Pause() to e
0d40: 66 66 65 63 74 69 76 65 6c 79 20 77 6f 72 6b 2e  ffectively work.
0d50: 3c 62 72 3e 0d 0a 4f 6e 63 65 20 74 68 61 74 20  <br>..Once that 
0d60: 50 61 75 73 65 28 29 20 69 73 20 65 6e 61 62 6c  Pause() is enabl
0d70: 65 64 20 74 68 69 73 20 73 65 74 74 69 6e 67 20  ed this setting 
0d80: 77 69 6c 6c 20 70 65 72 73 69 73 74 20 75 6e 74  will persist unt
0d90: 69 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68  il the end of th
0da0: 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 6e 65 63  e current connec
0db0: 74 69 6f 6e 20 6c 69 66 65 20 63 79 63 6c 65 2e  tion life cycle.
0dc0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 63  </li>..<li>you c
0dd0: 61 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20 63 61  an eventually ca
0de0: 6c 6c 20 3c 62 3e 44 69 73 61 62 6c 65 50 61 75  ll <b>DisablePau
0df0: 73 65 28 29 3c 2f 62 3e 20 74 6f 20 72 65 76 65  se()</b> to reve
0e00: 72 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 64  rt back to the d
0e10: 65 66 61 75 6c 74 20 62 65 68 61 76 69 6f 75 72  efault behaviour
0e20: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 79 6f 75 20  .</li>..<li>you 
0e30: 63 61 6e 20 63 61 6c 6c 20 3c 62 3e 49 73 50 61  can call <b>IsPa
0e40: 75 73 65 45 6e 61 62 6c 65 64 28 29 3c 2f 62 3e  useEnabled()</b>
0e50: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 68 65   in order to che
0e60: 63 6b 20 69 66 20 50 61 75 73 65 28 29 20 69 73  ck if Pause() is
0e70: 20 63 75 72 72 65 6e 74 6c 79 20 65 6e 61 62 6c   currently enabl
0e80: 65 64 20 6f 72 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d  ed or not.</li>.
0e90: 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62  .</ul><br>..<tab
0ea0: 6c 65 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  le cellpadding="
0eb0: 36 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  6" cellspacing="
0ec0: 36 22 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 66  6" bgcolor="#d0f
0ed0: 66 64 30 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d  fd0">..<tr><td>.
0ee0: 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3a 20 6b 65  .<b>Note</b>: ke
0ef0: 65 70 69 6e 67 20 3c 62 3e 50 61 75 73 65 28 29  eping <b>Pause()
0f00: 3c 2f 62 3e 20 64 69 73 61 62 6c 65 64 20 62 79  </b> disabled by
0f10: 20 64 65 66 61 75 6c 74 20 68 61 73 20 61 6e 20   default has an 
0f20: 75 73 65 66 75 6c 20 70 75 72 70 6f 73 65 2e 3c  useful purpose.<
0f30: 62 72 3e 0d 0a 49 74 27 73 20 69 6e 74 65 6e 64  br>..It's intend
0f40: 65 64 20 66 6f 72 20 61 6c 6c 6f 77 69 6e 67 20  ed for allowing 
0f50: 53 51 4c 20 64 65 76 65 6c 6f 70 65 72 73 20 74  SQL developers t
0f60: 6f 20 72 65 67 75 6c 61 72 6c 79 20 69 6e 73 65  o regularly inse
0f70: 72 74 20 61 73 20 6d 61 6e 79 20 3c 62 3e 50 61  rt as many <b>Pa
0f80: 75 73 65 28 29 3c 2f 62 3e 20 62 72 65 61 6b 70  use()</b> breakp
0f90: 6f 69 6e 74 73 20 61 73 20 72 65 71 75 69 72 65  oints as require
0fa0: 64 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 6e  d...<ul>..<li>In
0fb0: 20 61 6c 6c 20 72 65 67 75 6c 61 72 20 65 78 65   all regular exe
0fc0: 63 75 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53  cutions of the S
0fd0: 51 4c 20 53 63 72 69 70 74 20 74 68 65 79 27 6c  QL Script they'l
0fe0: 6c 20 62 65 20 73 69 6d 70 6c 79 20 69 67 6e 6f  l be simply igno
0ff0: 72 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4f  red.</li>..<li>O
1000: 6e 6c 79 20 77 68 65 6e 20 61 20 64 65 62 75 67  nly when a debug
1010: 67 69 6e 67 20 73 65 73 73 69 6f 6e 20 69 73 20  ging session is 
1020: 65 66 66 65 63 74 69 76 65 6c 79 20 72 65 71 75  effectively requ
1030: 69 72 65 64 20 74 68 65 79 27 6c 6c 20 62 65 63  ired they'll bec
1040: 6f 6d 65 20 65 66 66 65 63 74 69 76 65 2e 3c 2f  ome effective.</
1050: 6c 69 3e 0d 0a 3c 6c 69 3e 53 6f 20 79 6f 75 27  li>..<li>So you'
1060: 6c 6c 20 61 6c 77 61 79 73 20 75 73 65 20 74 68  ll always use th
1070: 65 20 73 61 6d 65 20 53 51 4c 20 63 6f 64 65 2c  e same SQL code,
1080: 20 77 69 74 68 6f 75 74 20 61 6e 79 20 6e 65 65   without any nee
1090: 64 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 68  d to manually ch
10a0: 61 6e 67 65 20 69 74 2e 3c 2f 6c 69 3e 0d 0a 3c  ange it.</li>..<
10b0: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  /td></tr>..</tab
10c0: 6c 65 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c  le><br>..<hr>..<
10d0: 68 31 3e 41 20 70 72 61 63 74 69 63 61 6c 20 65  h1>A practical e
10e0: 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 20  xample of using 
10f0: 50 61 75 73 65 28 29 3c 2f 68 31 3e 0d 0a 3c 76  Pause()</h1>..<v
1100: 65 72 62 61 74 69 6d 3e 2d 2d 20 64 72 6f 70 70  erbatim>-- dropp
1110: 69 6e 67 20 74 68 65 20 74 65 73 74 20 74 61 62  ing the test tab
1120: 6c 65 2c 20 6a 75 73 74 20 69 6e 20 63 61 73 65  le, just in case
1130: 20 69 74 20 61 6c 72 65 61 64 79 20 65 78 69 73   it already exis
1140: 74 73 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 74  ts..DROP TABLE t
1150: 65 73 74 3b 0d 0a 0d 0a 2d 2d 20 63 72 65 61 74  est;....-- creat
1160: 69 6e 67 20 74 68 65 20 74 65 73 74 20 74 61 62  ing the test tab
1170: 6c 65 0d 0a 43 52 45 41 54 45 20 54 41 42 4c 45  le..CREATE TABLE
1180: 20 74 65 73 74 20 28 0d 0a 20 20 20 20 69 64 20   test (..    id 
1190: 49 4e 54 45 47 45 52 20 50 52 49 4d 41 52 59 20  INTEGER PRIMARY 
11a0: 4b 45 59 2c 0d 0a 20 20 20 20 6e 61 6d 65 20 54  KEY,..    name T
11b0: 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 29 3b 0d 0a  EXT NOT NULL);..
11c0: 0d 0a 2d 2d 20 73 74 61 72 74 69 6e 67 20 61 20  ..-- starting a 
11d0: 74 72 61 6e 73 61 63 74 69 6f 6e 0d 0a 42 45 47  transaction..BEG
11e0: 49 4e 3b 0d 0a 2d 2d 20 69 6e 73 65 72 74 69 6e  IN;..-- insertin
11f0: 67 20 73 6f 6d 65 20 72 6f 77 73 20 69 6e 74 6f  g some rows into
1200: 20 74 68 65 20 61 62 6f 76 65 20 74 61 62 6c 65   the above table
1210: 0d 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 65  ..INSERT INTO te
1220: 73 74 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20  st VALUES(NULL, 
1230: 27 6f 6e 65 27 29 3b 0d 0a 49 4e 53 45 52 54 20  'one');..INSERT 
1240: 49 4e 54 4f 20 74 65 73 74 20 56 41 4c 55 45 53  INTO test VALUES
1250: 28 4e 55 4c 4c 2c 20 27 74 77 6f 27 29 3b 0d 0a  (NULL, 'two');..
1260: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 65 73 74  INSERT INTO test
1270: 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20 27 74   VALUES(NULL, 't
1280: 68 72 65 65 27 29 3b 0d 0a 49 4e 53 45 52 54 20  hree');..INSERT 
1290: 49 4e 54 4f 20 74 65 73 74 20 56 41 4c 55 45 53  INTO test VALUES
12a0: 28 4e 55 4c 4c 2c 20 27 66 6f 75 72 27 29 3b 0d  (NULL, 'four');.
12b0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 65 73  .INSERT INTO tes
12c0: 74 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20 27  t VALUES(NULL, '
12d0: 66 69 76 65 27 29 3b 0d 0a 2d 2d 20 63 6f 6d 6d  five');..-- comm
12e0: 69 74 74 69 6e 67 20 74 68 65 20 70 65 6e 64 69  itting the pendi
12f0: 6e 67 20 74 72 61 6e 73 61 63 74 69 6f 6e 0d 0a  ng transaction..
1300: 43 4f 4d 4d 49 54 3b 0d 0a 2d 2d 20 74 68 65 6e  COMMIT;..-- then
1310: 20 70 61 75 73 69 6e 67 0d 0a 53 45 4c 45 43 54   pausing..SELECT
1320: 20 50 61 75 73 65 28 29 3b 0d 0a 0d 0a 2d 2d 20   Pause();....-- 
1330: 69 6e 73 65 72 74 69 6e 67 20 6d 6f 72 65 20 72  inserting more r
1340: 6f 77 73 2c 20 74 68 65 6e 20 70 61 75 73 69 6e  ows, then pausin
1350: 67 20 61 67 61 69 6e 0d 0a 42 45 47 49 4e 3b 0d  g again..BEGIN;.
1360: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 65 73  .INSERT INTO tes
1370: 74 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20 27  t VALUES(NULL, '
1380: 73 69 78 27 29 3b 0d 0a 49 4e 53 45 52 54 20 49  six');..INSERT I
1390: 4e 54 4f 20 74 65 73 74 20 56 41 4c 55 45 53 28  NTO test VALUES(
13a0: 4e 55 4c 4c 2c 20 27 73 65 76 65 6e 27 29 3b 0d  NULL, 'seven');.
13b0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 65 73  .INSERT INTO tes
13c0: 74 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20 27  t VALUES(NULL, '
13d0: 65 69 67 68 74 27 29 3b 0d 0a 49 4e 53 45 52 54  eight');..INSERT
13e0: 20 49 4e 54 4f 20 74 65 73 74 20 56 41 4c 55 45   INTO test VALUE
13f0: 53 28 4e 55 4c 4c 2c 20 27 6e 69 6e 65 27 29 3b  S(NULL, 'nine');
1400: 0d 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 65  ..INSERT INTO te
1410: 73 74 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20  st VALUES(NULL, 
1420: 27 74 65 6e 27 29 3b 0d 0a 43 4f 4d 4d 49 54 3b  'ten');..COMMIT;
1430: 0d 0a 53 45 4c 45 43 54 20 50 61 75 73 65 28 29  ..SELECT Pause()
1440: 3b 0d 0a 0d 0a 2d 2d 20 69 6e 73 65 72 74 69 6e  ;....-- insertin
1450: 67 20 74 68 65 20 6c 61 73 74 20 62 6c 6f 63 6b  g the last block
1460: 20 6f 66 20 72 6f 77 73 2c 20 74 68 65 6e 20 65   of rows, then e
1470: 78 69 74 69 6e 67 0d 0a 42 45 47 49 4e 3b 0d 0a  xiting..BEGIN;..
1480: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 65 73 74  INSERT INTO test
1490: 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20 27 65   VALUES(NULL, 'e
14a0: 6c 65 76 65 6e 27 29 3b 0d 0a 49 4e 53 45 52 54  leven');..INSERT
14b0: 20 49 4e 54 4f 20 74 65 73 74 20 56 41 4c 55 45   INTO test VALUE
14c0: 53 28 4e 55 4c 4c 2c 20 27 74 77 65 6c 76 65 27  S(NULL, 'twelve'
14d0: 29 3b 0d 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  );..INSERT INTO 
14e0: 74 65 73 74 20 56 41 4c 55 45 53 28 4e 55 4c 4c  test VALUES(NULL
14f0: 2c 20 27 74 68 69 72 74 65 65 6e 27 29 3b 0d 0a  , 'thirteen');..
1500: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 65 73 74  INSERT INTO test
1510: 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20 27 66   VALUES(NULL, 'f
1520: 6f 75 72 74 65 65 6e 27 29 3b 0d 0a 49 4e 53 45  ourteen');..INSE
1530: 52 54 20 49 4e 54 4f 20 74 65 73 74 20 56 41 4c  RT INTO test VAL
1540: 55 45 53 28 4e 55 4c 4c 2c 20 27 66 69 66 74 65  UES(NULL, 'fifte
1550: 65 6e 27 29 3b 0d 0a 49 4e 53 45 52 54 20 49 4e  en');..INSERT IN
1560: 54 4f 20 74 65 73 74 20 56 41 4c 55 45 53 28 4e  TO test VALUES(N
1570: 55 4c 4c 2c 20 27 73 69 78 74 65 65 6e 27 29 3b  ULL, 'sixteen');
1580: 0d 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 65  ..INSERT INTO te
1590: 73 74 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20  st VALUES(NULL, 
15a0: 27 73 65 76 65 6e 74 65 65 6e 27 29 3b 0d 0a 49  'seventeen');..I
15b0: 4e 53 45 52 54 20 49 4e 54 4f 20 74 65 73 74 20  NSERT INTO test 
15c0: 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20 27 65 69  VALUES(NULL, 'ei
15d0: 67 68 74 65 65 6e 27 29 3b 0d 0a 49 4e 53 45 52  ghteen');..INSER
15e0: 54 20 49 4e 54 4f 20 74 65 73 74 20 56 41 4c 55  T INTO test VALU
15f0: 45 53 28 4e 55 4c 4c 2c 20 27 6e 69 6e 65 74 65  ES(NULL, 'ninete
1600: 65 6e 27 29 3b 0d 0a 49 4e 53 45 52 54 20 49 4e  en');..INSERT IN
1610: 54 4f 20 74 65 73 74 20 56 41 4c 55 45 53 28 4e  TO test VALUES(N
1620: 55 4c 4c 2c 20 27 74 77 65 6e 74 79 27 29 3b 0d  ULL, 'twenty');.
1630: 0a 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a 2d 2d 20 65  .COMMIT;....-- e
1640: 6e 64 20 6a 6f 62 20 2d 20 61 6c 6c 20 64 6f 6e  nd job - all don
1650: 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  e..</verbatim>..
1660: 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 61 20  <br>..This is a 
1670: 76 65 72 79 20 73 69 6d 70 6c 65 20 28 61 6e 64  very simple (and
1680: 20 73 74 75 70 69 64 29 20 53 51 4c 20 53 63 72   stupid) SQL Scr
1690: 69 70 74 2c 20 62 75 74 20 69 74 27 73 20 65 6e  ipt, but it's en
16a0: 6f 75 67 68 20 74 6f 20 70 72 61 63 74 69 63 61  ough to practica
16b0: 6c 6c 79 20 74 65 73 74 20 68 6f 77 20 3c 62 3e  lly test how <b>
16c0: 50 61 75 73 65 28 29 3c 2f 62 3e 20 77 6f 72 6b  Pause()</b> work
16d0: 73 2e 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 3e 4e 6f  s.<br>..<b><u>No
16e0: 74 65 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68 65 20  te</u></b>: the 
16f0: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f  implementation o
1700: 66 20 3c 62 3e 50 61 75 73 65 28 29 3c 2f 62 3e  f <b>Pause()</b>
1710: 20 61 6c 6d 6f 73 74 20 63 6f 6d 70 6c 65 74 65   almost complete
1720: 6c 79 20 64 69 66 66 65 72 73 20 6f 6e 20 4c 69  ly differs on Li
1730: 6e 75 78 20 61 6e 64 20 57 69 6e 64 6f 77 73 3b  nux and Windows;
1740: 20 70 6c 65 61 73 65 20 72 65 61 64 20 74 68 65   please read the
1750: 20 61 70 70 72 6f 70 72 69 61 74 65 20 73 65 63   appropriate sec
1760: 74 69 6f 6e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  tion.<br><br>..<
1770: 68 72 3e 0d 0a 3c 68 33 3e 55 73 69 6e 67 20 50  hr>..<h3>Using P
1780: 61 75 73 65 28 29 20 6f 6e 20 4c 69 6e 75 78 3c  ause() on Linux<
1790: 2f 68 33 3e 0d 0a 54 68 65 20 4c 69 6e 75 78 20  /h3>..The Linux 
17a0: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69  implementation i
17b0: 73 20 66 75 6c 6c 79 20 62 61 73 65 64 20 6f 6e  s fully based on
17c0: 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a   <a href="https:
17d0: 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
17e0: 72 67 2f 77 69 6b 69 2f 53 69 67 6e 61 6c 5f 28  rg/wiki/Signal_(
17f0: 49 50 43 29 23 50 4f 53 49 58 5f 73 69 67 6e 61  IPC)#POSIX_signa
1800: 6c 73 22 3e 73 79 73 74 65 6d 20 73 69 67 6e 61  ls">system signa
1810: 6c 73 3c 2f 61 3e 3b 20 74 68 65 20 73 61 6d 65  ls</a>; the same
1820: 20 61 70 70 72 6f 61 63 68 20 61 70 70 6c 69 65   approach applie
1830: 73 20 74 6f 20 61 6e 79 20 55 6e 69 78 20 61 6e  s to any Unix an
1840: 64 20 55 6e 69 78 2d 6c 69 6b 65 20 73 79 73 74  d Unix-like syst
1850: 65 6d 2c 20 74 68 69 73 20 69 6e 63 6c 75 64 69  em, this includi
1860: 6e 67 20 4d 61 63 20 4f 53 20 58 2e 3c 62 72 3e  ng Mac OS X.<br>
1870: 0d 0a 4d 6f 72 65 20 73 70 65 63 69 66 69 63 61  ..More specifica
1880: 6c 6c 79 20 69 74 27 73 20 62 61 73 65 64 20 6f  lly it's based o
1890: 6e 20 3c 62 3e 53 49 47 53 54 4f 50 3c 2f 62 3e  n <b>SIGSTOP</b>
18a0: 20 61 6e 64 20 3c 62 3e 53 49 47 43 4f 4e 54 3c   and <b>SIGCONT<
18b0: 2f 62 3e 20 73 69 67 6e 61 6c 73 3a 0d 0a 3c 6c  /b> signals:..<l
18c0: 69 3e 3c 62 3e 53 49 47 53 54 4f 50 3c 2f 62 3e  i><b>SIGSTOP</b>
18d0: 20 69 6e 73 74 72 75 63 74 73 20 74 68 65 20 6f   instructs the o
18e0: 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20  perating system 
18f0: 74 6f 20 73 74 6f 70 20 74 68 65 20 63 61 6c 6c  to stop the call
1900: 69 6e 67 20 70 72 6f 63 65 73 73 20 66 6f 72 20  ing process for 
1910: 6c 61 74 65 72 20 72 65 73 75 6d 70 74 69 6f 6e  later resumption
1920: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 53  .</li>..<li><b>S
1930: 49 47 43 4f 4e 54 3c 2f 62 3e 20 69 6e 73 74 72  IGCONT</b> instr
1940: 75 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69  ucts the operati
1950: 6e 67 20 73 79 73 74 65 6d 20 74 6f 20 63 6f 6e  ng system to con
1960: 74 69 6e 75 65 20 28 72 65 73 74 61 72 74 29 20  tinue (restart) 
1970: 74 68 65 20 70 72 6f 63 65 73 73 20 70 72 65 76  the process prev
1980: 69 6f 75 73 6c 79 20 70 61 75 73 65 64 20 62 79  iously paused by
1990: 20 74 68 65 20 53 49 47 53 54 4f 50 2e 3c 2f 6c   the SIGSTOP.</l
19a0: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 73  i>..</ul>..<h3>s
19b0: 74 65 70 20 23 31 3c 2f 68 33 3e 0d 0a 3c 76 65  tep #1</h3>..<ve
19c0: 72 62 61 74 69 6d 3e 0d 0a 24 20 73 70 61 74 69  rbatim>..$ spati
19d0: 61 6c 69 74 65 20 70 61 75 73 65 2e 73 71 6c 69  alite pause.sqli
19e0: 74 65 0d 0a 0d 0a 53 45 4c 45 43 54 20 45 6e 61  te....SELECT Ena
19f0: 62 6c 65 50 61 75 73 65 28 29 3b 0d 0a 2e 72 65  blePause();...re
1a00: 61 64 20 74 65 73 74 5f 70 61 75 73 65 2e 73 71  ad test_pause.sq
1a10: 6c 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  l..</verbatim>..
1a20: 57 65 27 6c 6c 20 73 74 61 72 74 20 66 69 72 73  We'll start firs
1a30: 74 20 62 79 20 69 6e 76 6f 6b 69 6e 67 20 74 68  t by invoking th
1a40: 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 3c  e <b>spatialite<
1a50: 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 2e 3c 62 72  /b> CLI tool.<br
1a60: 3e 0d 0a 54 68 65 6e 20 77 65 27 6c 6c 20 63 61  >..Then we'll ca
1a70: 6c 6c 20 3c 62 3e 45 6e 61 62 6c 65 50 61 75 73  ll <b>EnablePaus
1a80: 65 28 29 3c 2f 62 3e 2c 20 61 6e 64 20 66 69 6e  e()</b>, and fin
1a90: 61 6c 6c 79 20 77 65 27 6c 6c 20 65 78 65 63 75  ally we'll execu
1aa0: 74 65 20 74 68 65 20 53 51 4c 20 53 63 72 69 70  te the SQL Scrip
1ab0: 74 2e 0d 0a 3c 68 33 3e 73 74 65 70 20 23 32 3c  t...<h3>step #2<
1ac0: 2f 68 33 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  /h3>..<verbatim>
1ad0: 0d 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ..**************
1ae0: 2a 20 20 50 41 55 53 45 20 20 2a 2a 2a 2a 2a 2a  *  PAUSE  ******
1af0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 63 6f 6d 6d 61  *********..comma
1b00: 6e 64 20 66 6f 72 20 72 65 73 75 6d 69 6e 67 20  nd for resuming 
1b10: 65 78 65 63 75 74 69 6f 6e 20 69 73 3a 0d 0a 6b  execution is:..k
1b20: 69 6c 6c 20 2d 53 49 47 43 4f 4e 54 20 31 32 33  ill -SIGCONT 123
1b30: 34 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  4..</verbatim>..
1b40: 57 68 65 6e 20 74 68 65 20 53 51 4c 20 53 63 72  When the SQL Scr
1b50: 69 70 74 20 65 78 65 63 75 74 65 73 20 74 68 65  ipt executes the
1b60: 20 66 69 72 73 74 20 3c 62 3e 50 61 75 73 65 28   first <b>Pause(
1b70: 29 3c 2f 62 3e 20 69 74 20 77 69 6c 6c 20 62 65  )</b> it will be
1b80: 20 73 75 73 70 65 6e 64 65 64 2c 20 61 6e 64 20   suspended, and 
1b90: 61 20 6d 65 73 73 61 67 65 20 6c 69 6e 65 20 77  a message line w
1ba0: 69 6c 6c 20 62 65 20 70 72 69 6e 74 65 64 20 6f  ill be printed o
1bb0: 6e 20 74 68 65 20 73 68 65 6c 6c 2e 3c 62 72 3e  n the shell.<br>
1bc0: 0d 0a 54 68 65 20 6d 65 73 73 61 67 65 20 77 69  ..The message wi
1bd0: 6c 6c 20 72 65 70 6f 72 74 20 74 68 65 20 3c 62  ll report the <b
1be0: 3e 6b 69 6c 6c 3c 2f 62 3e 20 63 6f 6d 6d 61 6e  >kill</b> comman
1bf0: 64 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65  d required to re
1c00: 73 75 6d 65 20 65 78 65 63 75 74 69 6f 6e 2e 20  sume execution. 
1c10: 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3a 20 31 32 33  <b>Note</b>: 123
1c20: 34 20 77 69 6c 6c 20 62 65 20 61 63 74 75 61 6c  4 will be actual
1c30: 6c 79 20 72 65 70 6c 61 63 65 64 20 62 79 20 74  ly replaced by t
1c40: 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e 50 49  he current <b>PI
1c50: 44 3c 2f 62 3e 2c 20 74 68 61 74 20 69 73 20 74  D</b>, that is t
1c60: 68 65 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69  he unique identi
1c70: 66 69 65 72 20 6f 66 20 74 68 65 20 70 72 6f 63  fier of the proc
1c80: 65 73 73 20 72 75 6e 6e 69 6e 67 20 74 68 65 20  ess running the 
1c90: 53 51 4c 20 53 63 72 69 70 74 2e 0d 0a 3c 62 72  SQL Script...<br
1ca0: 3e 3c 62 72 3e 0d 0a 4e 6f 77 20 79 6f 75 27 6c  ><br>..Now you'l
1cb0: 6c 20 62 65 20 66 72 65 65 20 74 6f 20 62 65 67  l be free to beg
1cc0: 69 6e 20 79 6f 75 20 64 65 62 75 67 67 69 6e 67  in you debugging
1cd0: 20 61 63 74 69 76 69 74 69 65 73 20 62 79 20 73   activities by s
1ce0: 74 61 72 74 69 6e 67 20 61 20 73 65 63 6f 6e 64  tarting a second
1cf0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 74   connection to t
1d00: 68 65 20 73 61 6d 65 20 77 6f 72 6b 20 64 61 74  he same work dat
1d10: 61 62 61 73 65 2e 3c 62 72 3e 0d 0a 0d 0a 3c 68  abase.<br>....<h
1d20: 33 3e 73 74 65 70 20 23 33 3c 2f 68 33 3e 0d 0a  3>step #3</h3>..
1d30: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 24 20 6b 69  <verbatim>..$ ki
1d40: 6c 6c 20 2d 53 49 47 43 4f 4e 54 20 31 32 33 34  ll -SIGCONT 1234
1d50: 0d 0a 0d 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ....************
1d60: 2a 2a 2a 20 53 49 47 43 4f 4e 54 3a 20 72 65 73  *** SIGCONT: res
1d70: 75 6d 69 6e 67 20 65 78 65 63 75 74 69 6f 6e 20  uming execution 
1d80: 61 66 74 65 72 20 50 41 55 53 45 0d 0a 3c 2f 76  after PAUSE..</v
1d90: 65 72 62 61 74 69 6d 3e 0d 0a 4f 6e 63 65 20 79  erbatim>..Once y
1da0: 6f 75 27 76 65 20 63 6f 6d 70 6c 65 74 65 64 20  ou've completed 
1db0: 61 6e 79 20 72 65 71 75 69 72 65 64 20 64 65 62  any required deb
1dc0: 75 67 20 61 63 74 69 76 69 74 79 2c 20 79 6f 75  ug activity, you
1dd0: 20 61 72 65 20 73 69 6d 70 6c 79 20 72 65 71 75   are simply requ
1de0: 69 72 65 64 20 74 6f 20 65 78 65 63 75 74 65 20  ired to execute 
1df0: 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20  the appropriate 
1e00: 3c 62 3e 6b 69 6c 6c 3c 2f 62 3e 20 63 6f 6d 6d  <b>kill</b> comm
1e10: 61 6e 64 20 66 6f 72 20 72 65 73 75 6d 69 6e 67  and for resuming
1e20: 20 74 68 65 20 6f 72 64 69 6e 61 72 79 20 65 78   the ordinary ex
1e30: 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 53  ecution of the S
1e40: 51 4c 20 53 63 72 69 70 74 2e 3c 62 72 3e 0d 0a  QL Script.<br>..
1e50: 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 6f 6f  In this case too
1e60: 20 61 20 63 6f 6e 66 69 72 6d 61 74 69 6f 6e 20   a confirmation 
1e70: 6d 65 73 73 61 67 65 20 77 69 6c 6c 20 62 65 20  message will be 
1e80: 70 72 69 6e 74 65 64 20 6f 6e 20 74 68 65 20 73  printed on the s
1e90: 68 65 6c 6c 2e 0d 0a 3c 68 33 3e 73 74 65 70 73  hell...<h3>steps
1ea0: 20 23 34 20 61 6e 64 20 23 35 3c 2f 68 33 3e 0d   #4 and #5</h3>.
1eb0: 0a 54 68 65 20 73 61 6d 65 20 73 65 71 75 65 6e  .The same sequen
1ec0: 63 65 20 6f 66 20 65 76 65 6e 74 73 20 77 69 6c  ce of events wil
1ed0: 6c 20 72 65 70 65 61 74 20 61 67 61 69 6e 20 77  l repeat again w
1ee0: 68 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 3c  hen the second <
1ef0: 62 3e 50 61 75 73 65 28 29 3c 2f 62 3e 20 77 69  b>Pause()</b> wi
1f00: 6c 6c 20 62 65 20 70 72 6f 63 65 73 73 65 64 2e  ll be processed.
1f10: 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 6d 65 2c  <br>..This time,
1f20: 20 61 66 74 65 72 20 72 65 73 75 6d 69 6e 67 20   after resuming 
1f30: 65 78 65 63 75 74 69 6f 6e 20 74 68 65 20 53 51  execution the SQ
1f40: 4c 20 53 63 72 69 70 74 20 77 69 6c 6c 20 66 69  L Script will fi
1f50: 6e 61 6c 6c 79 20 73 74 6f 70 2e 0d 0a 3c 62 72  nally stop...<br
1f60: 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 68 33  ><br>..<hr>..<h3
1f70: 3e 55 73 69 6e 67 20 50 61 75 73 65 28 29 20 6f  >Using Pause() o
1f80: 6e 20 57 69 6e 64 6f 77 73 3c 2f 68 33 3e 0d 0a  n Windows</h3>..
1f90: 54 68 65 20 57 69 6e 64 6f 77 73 20 69 6d 70 6c  The Windows impl
1fa0: 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 62 61  ementation is ba
1fb0: 73 65 64 20 6f 6e 20 74 68 65 20 3c 61 20 68 72  sed on the <a hr
1fc0: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 64 6f 63 73  ef="https://docs
1fd0: 2e 6d 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 65  .microsoft.com/e
1fe0: 6e 2d 75 73 2f 77 69 6e 64 6f 77 73 2f 63 6f 6e  n-us/windows/con
1ff0: 73 6f 6c 65 2f 72 65 61 64 63 6f 6e 73 6f 6c 65  sole/readconsole
2000: 69 6e 70 75 74 22 3e 52 65 61 64 43 6f 6e 73 6f  input">ReadConso
2010: 6c 65 49 6e 70 75 74 28 29 3c 2f 61 3e 20 73 79  leInput()</a> sy
2020: 73 74 65 6d 20 41 50 49 2e 3c 62 72 3e 3c 62 72  stem API.<br><br
2030: 3e 0d 0a 3c 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75  >..<b><u>Note</u
2040: 3e 3c 2f 62 3e 3a 20 74 68 65 72 65 20 69 73 20  ></b>: there is 
2050: 61 20 73 74 72 69 6b 69 6e 67 20 64 69 66 66 65  a striking diffe
2060: 72 65 6e 63 65 20 66 72 6f 6d 20 74 68 65 20 55  rence from the U
2070: 6e 69 78 2f 4c 69 6e 75 78 20 61 70 70 72 6f 61  nix/Linux approa
2080: 63 68 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6f  ch...<ul>..<li>o
2090: 6e 20 4c 69 6e 75 78 20 65 76 65 72 79 20 70 72  n Linux every pr
20a0: 6f 63 65 73 73 20 77 69 6c 6c 20 61 6c 77 61 79  ocess will alway
20b0: 73 20 72 65 73 70 65 63 74 20 73 79 73 74 65 6d  s respect system
20c0: 20 73 69 67 6e 61 6c 73 20 73 75 63 68 20 61 73   signals such as
20d0: 20 53 49 47 53 54 4f 50 20 61 6e 64 20 53 49 47   SIGSTOP and SIG
20e0: 43 4f 4e 54 2c 20 77 69 74 68 20 6e 6f 20 70 6f  CONT, with no po
20f0: 73 73 69 62 6c 65 20 65 78 63 65 70 74 69 6f 6e  ssible exception
2100: 2e 3c 62 72 3e 0d 0a 41 6e 64 20 74 68 69 73 20  .<br>..And this 
2110: 69 6e 64 69 66 66 65 72 65 6e 74 6c 79 20 61 70  indifferently ap
2120: 70 6c 69 65 73 20 74 6f 20 62 6f 74 68 20 43 4c  plies to both CL
2130: 49 20 61 6e 64 20 47 55 49 20 61 70 70 6c 69 63  I and GUI applic
2140: 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ations.</li>..<l
2150: 69 3e 6f 6e 20 57 69 6e 64 6f 77 73 20 61 64 6f  i>on Windows ado
2160: 70 74 69 6e 67 20 61 6e 20 61 70 70 72 6f 61 63  pting an approac
2170: 68 20 62 61 73 65 64 20 6f 6e 20 43 6f 6e 73 6f  h based on Conso
2180: 6c 65 20 49 6e 70 75 74 20 69 6d 70 6c 69 65 73  le Input implies
2190: 20 74 77 6f 20 72 65 6c 65 76 61 6e 74 20 6c 69   two relevant li
21a0: 6d 69 74 61 74 69 6f 6e 73 3a 0d 0a 3c 75 6c 3e  mitations:..<ul>
21b0: 0d 0a 3c 6c 69 3e 6f 6e 6c 79 20 61 20 70 72 6f  ..<li>only a pro
21c0: 63 65 73 73 20 73 74 61 72 74 65 64 20 66 72 6f  cess started fro
21d0: 6d 20 74 68 65 20 3c 62 3e 43 4d 44 2e 65 78 65  m the <b>CMD.exe
21e0: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 73 68 65  </b> command she
21f0: 6c 6c 20 63 61 6e 20 68 61 76 65 20 69 74 73 20  ll can have its 
2200: 6f 77 6e 20 43 6f 6e 73 6f 6c 65 2e 3c 62 72 3e  own Console.<br>
2210: 0d 0a 42 75 74 20 61 20 70 72 6f 63 65 73 73 20  ..But a process 
2220: 73 74 61 72 74 65 64 20 62 79 20 64 69 72 65 63  started by direc
2230: 74 6c 79 20 63 6c 69 63 6b 69 6e 67 20 74 68 65  tly clicking the
2240: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 69   corresponding i
2250: 63 6f 6e 20 77 69 6c 6c 20 6e 65 76 65 72 20 62  con will never b
2260: 65 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 61  e connected to a
2270: 20 43 6f 6e 73 6f 6c 65 2c 20 61 6e 64 20 63 6f   Console, and co
2280: 6e 73 65 71 75 65 6e 74 6c 79 20 3c 62 3e 50 61  nsequently <b>Pa
2290: 75 73 65 28 29 3c 2f 62 3e 20 77 69 6c 6c 20 6e  use()</b> will n
22a0: 65 76 65 72 20 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d  ever work.</li>.
22b0: 0a 3c 6c 69 3e 41 6e 64 20 65 76 65 6e 20 69 6e  .<li>And even in
22c0: 20 74 68 65 20 63 61 73 65 20 6f 66 20 61 20 70   the case of a p
22d0: 72 6f 63 65 73 73 20 73 74 61 72 74 65 64 20 62  rocess started b
22e0: 79 20 3c 62 3e 43 4d 44 2e 65 78 65 3c 2f 62 3e  y <b>CMD.exe</b>
22f0: 20 61 6e 20 65 76 65 6e 74 75 61 6c 20 72 65 64   an eventual red
2300: 69 72 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20  irection of the 
2310: 3c 62 3e 53 74 61 6e 64 61 72 64 20 49 6e 70 75  <b>Standard Inpu
2320: 74 3c 2f 62 3e 20 77 69 6c 6c 20 66 6f 72 62 69  t</b> will forbi
2330: 64 20 61 20 77 6f 72 6b 69 6e 67 20 3c 62 3e 50  d a working <b>P
2340: 61 75 73 65 28 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e  ause()</b>.</li>
2350: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f  ..</ul></li>..</
2360: 75 6c 3e 0d 0a 3c 68 33 3e 73 74 65 70 20 23 31  ul>..<h3>step #1
2370: 3c 2f 68 33 3e 0d 0a 3c 76 65 72 62 61 74 69 6d  </h3>..<verbatim
2380: 3e 0d 0a 3e 20 73 70 61 74 69 61 6c 69 74 65 20  >..> spatialite 
2390: 70 61 75 73 65 2e 73 71 6c 69 74 65 0d 0a 0d 0a  pause.sqlite....
23a0: 53 45 4c 45 43 54 20 45 6e 61 62 6c 65 50 61 75  SELECT EnablePau
23b0: 73 65 28 29 3b 0d 0a 2e 72 65 61 64 20 74 65 73  se();...read tes
23c0: 74 5f 70 61 75 73 65 2e 73 71 6c 0d 0a 3c 2f 76  t_pause.sql..</v
23d0: 65 72 62 61 74 69 6d 3e 0d 0a 57 65 27 6c 6c 20  erbatim>..We'll 
23e0: 73 74 61 72 74 20 66 69 72 73 74 20 62 79 20 69  start first by i
23f0: 6e 76 6f 6b 69 6e 67 20 74 68 65 20 3c 62 3e 73  nvoking the <b>s
2400: 70 61 74 69 61 6c 69 74 65 3c 2f 62 3e 20 43 4c  patialite</b> CL
2410: 49 20 74 6f 6f 6c 20 66 72 6f 6d 20 3c 62 3e 43  I tool from <b>C
2420: 4d 44 2e 65 78 65 3c 2f 62 3e 2e 3c 62 72 3e 0d  MD.exe</b>.<br>.
2430: 0a 54 68 65 6e 20 77 65 27 6c 6c 20 63 61 6c 6c  .Then we'll call
2440: 20 3c 62 3e 45 6e 61 62 6c 65 50 61 75 73 65 28   <b>EnablePause(
2450: 29 3c 2f 62 3e 2c 20 61 6e 64 20 66 69 6e 61 6c  )</b>, and final
2460: 6c 79 20 77 65 27 6c 6c 20 65 78 65 63 75 74 65  ly we'll execute
2470: 20 74 68 65 20 53 51 4c 20 53 63 72 69 70 74 2e   the SQL Script.
2480: 0d 0a 3c 68 33 3e 73 74 65 70 20 23 32 3c 2f 68  ..<h3>step #2</h
2490: 33 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  3>..<verbatim>..
24a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20  *************** 
24b0: 20 50 41 55 53 45 20 20 2a 2a 2a 2a 2a 2a 2a 2a   PAUSE  ********
24c0: 2a 2a 2a 2a 2a 2a 2a 20 20 48 69 74 20 61 6e 79  *******  Hit any
24d0: 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 6e 75 65   key to continue
24e0: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 57  ..</verbatim>..W
24f0: 68 65 6e 20 74 68 65 20 53 51 4c 20 53 63 72 69  hen the SQL Scri
2500: 70 74 20 65 78 65 63 75 74 65 73 20 74 68 65 20  pt executes the 
2510: 66 69 72 73 74 20 3c 62 3e 50 61 75 73 65 28 29  first <b>Pause()
2520: 3c 2f 62 3e 20 69 74 20 77 69 6c 6c 20 62 65 20  </b> it will be 
2530: 73 75 73 70 65 6e 64 65 64 2c 20 61 6e 64 20 61  suspended, and a
2540: 20 6d 65 73 73 61 67 65 20 6c 69 6e 65 20 77 69   message line wi
2550: 6c 6c 20 62 65 20 70 72 69 6e 74 65 64 20 6f 6e  ll be printed on
2560: 20 74 68 65 20 73 68 65 6c 6c 2e 0d 0a 3c 62 72   the shell...<br
2570: 3e 3c 62 72 3e 0d 0a 4e 6f 77 20 79 6f 75 27 6c  ><br>..Now you'l
2580: 6c 20 62 65 20 66 72 65 65 20 74 6f 20 62 65 67  l be free to beg
2590: 69 6e 20 79 6f 75 20 64 65 62 75 67 67 69 6e 67  in you debugging
25a0: 20 61 63 74 69 76 69 74 69 65 73 20 62 79 20 73   activities by s
25b0: 74 61 72 74 69 6e 67 20 61 20 73 65 63 6f 6e 64  tarting a second
25c0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 74   connection to t
25d0: 68 65 20 73 61 6d 65 20 77 6f 72 6b 20 64 61 74  he same work dat
25e0: 61 62 61 73 65 2e 3c 62 72 3e 0d 0a 0d 0a 3c 68  abase.<br>....<h
25f0: 33 3e 73 74 65 70 20 23 33 3c 2f 68 33 3e 0d 0a  3>step #3</h3>..
2600: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 3c 6b 65  <verbatim>..<<ke
2610: 79 3e 3e 0d 0a 0d 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a  y>>....*********
2620: 2a 2a 2a 2a 2a 2a 20 72 65 73 75 6d 69 6e 67 20  ****** resuming 
2630: 65 78 65 63 75 74 69 6f 6e 20 61 66 74 65 72 20  execution after 
2640: 50 41 55 53 45 0d 0a 3c 2f 76 65 72 62 61 74 69  PAUSE..</verbati
2650: 6d 3e 0d 0a 4f 6e 63 65 20 79 6f 75 27 76 65 20  m>..Once you've 
2660: 63 6f 6d 70 6c 65 74 65 64 20 61 6e 79 20 72 65  completed any re
2670: 71 75 69 72 65 64 20 64 65 62 75 67 20 61 63 74  quired debug act
2680: 69 76 69 74 79 2c 20 79 6f 75 20 61 72 65 20 73  ivity, you are s
2690: 69 6d 70 6c 79 20 72 65 71 75 69 72 65 64 20 74  imply required t
26a0: 6f 20 70 72 65 73 73 20 61 6e 79 20 6b 65 79 62  o press any keyb
26b0: 6f 61 72 64 20 6b 65 79 20 66 6f 72 20 72 65 73  oard key for res
26c0: 75 6d 69 6e 67 20 74 68 65 20 6f 72 64 69 6e 61  uming the ordina
26d0: 72 79 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20  ry execution of 
26e0: 74 68 65 20 53 51 4c 20 53 63 72 69 70 74 2e 3c  the SQL Script.<
26f0: 62 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73  br>..In this cas
2700: 65 20 74 6f 6f 20 61 20 63 6f 6e 66 69 72 6d 61  e too a confirma
2710: 74 69 6f 6e 20 6d 65 73 73 61 67 65 20 77 69 6c  tion message wil
2720: 6c 20 62 65 20 70 72 69 6e 74 65 64 20 6f 6e 20  l be printed on 
2730: 74 68 65 20 73 68 65 6c 6c 2e 0d 0a 3c 68 33 3e  the shell...<h3>
2740: 73 74 65 70 73 20 23 34 20 61 6e 64 20 23 35 3c  steps #4 and #5<
2750: 2f 68 33 3e 0d 0a 54 68 65 20 73 61 6d 65 20 73  /h3>..The same s
2760: 65 71 75 65 6e 63 65 20 6f 66 20 65 76 65 6e 74  equence of event
2770: 73 20 77 69 6c 6c 20 72 65 70 65 61 74 20 61 67  s will repeat ag
2780: 61 69 6e 20 77 68 65 6e 20 74 68 65 20 73 65 63  ain when the sec
2790: 6f 6e 64 20 3c 62 3e 50 61 75 73 65 28 29 3c 2f  ond <b>Pause()</
27a0: 62 3e 20 77 69 6c 6c 20 62 65 20 70 72 6f 63 65  b> will be proce
27b0: 73 73 65 64 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  ssed.<br>..This 
27c0: 74 69 6d 65 2c 20 61 66 74 65 72 20 72 65 73 75  time, after resu
27d0: 6d 69 6e 67 20 65 78 65 63 75 74 69 6f 6e 20 74  ming execution t
27e0: 68 65 20 53 51 4c 20 53 63 72 69 70 74 20 77 69  he SQL Script wi
27f0: 6c 6c 20 66 69 6e 61 6c 6c 79 20 73 74 6f 70 2e  ll finally stop.
2800: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e  ..<br><br>..<hr>
2810: 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68  <br>..<a href="h
2820: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
2830: 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69  gis.it/fossil/li
2840: 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 6b 69  bspatialite/wiki
2850: 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 22  ?name=4.3.0-doc"
2860: 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20 35 38 65 61  >back</a>.Z 58ea
2870: 38 32 38 36 63 32 36 33 65 33 63 37 65 37 62 65  8286c263e3c7e7be
2880: 64 30 38 37 37 34 31 63 35 36 37 61 0a           d087741c567a.