Hex Artifact Content
Not logged in

Artifact 80d1c6426435fc7e704398231b43130d0580638d:


0000: 3c 74 69 74 6c 65 3e 47 72 61 70 68 20 54 65 73  <title>Graph Tes
0010: 74 20 4f 6e 65 3c 2f 74 69 74 6c 65 3e 0a 0a 54  t One</title>..T
0020: 68 69 73 20 70 61 67 65 20 63 6f 6e 74 61 69 6e  his page contain
0030: 73 20 6c 69 73 74 20 6f 66 20 55 52 4c 73 20 6f  s list of URLs o
0040: 66 20 69 6e 74 65 72 65 73 74 69 6e 67 20 64 69  f interesting di
0050: 66 66 73 2e 0a 43 6c 69 63 6b 20 6f 6e 20 61 6c  ffs..Click on al
0060: 6c 20 55 52 4c 73 2c 20 6f 6e 65 20 62 79 20 6f  l URLs, one by o
0070: 6e 65 2c 20 74 6f 20 76 65 72 69 66 79 20 0a 74  ne, to verify .t
0080: 68 65 20 63 6f 72 72 65 63 74 20 6f 70 65 72 61  he correct opera
0090: 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 69 66 66  tion of the diff
00a0: 20 6c 6f 67 69 63 2e 0a 0a 20 20 2a 20 20 3c 61   logic...  *  <a
00b0: 20 68 72 65 66 3d 22 2e 2e 2f 2e 2e 2f 2e 2e 2f   href="../../../
00c0: 69 6e 66 6f 2f 30 33 30 30 33 35 33 34 35 63 23  info/030035345c#
00d0: 63 68 75 6e 6b 35 39 22 20 74 61 72 67 65 74 3d  chunk59" target=
00e0: 22 74 65 73 74 77 69 6e 64 6f 77 22 3e 0a 20 20  "testwindow">.  
00f0: 20 20 20 4d 75 6c 74 69 70 6c 65 20 65 64 69 74     Multiple edit
0100: 73 20 6f 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69  s on a single li
0110: 6e 65 2e 3c 2f 61 3e 20 20 54 68 69 73 20 69 73  ne.</a>  This is
0120: 20 61 6e 20 53 51 4c 69 74 65 20 76 65 72 73 69   an SQLite versi
0130: 6f 6e 0a 20 20 20 20 20 75 70 64 61 74 65 20 64  on.     update d
0140: 69 66 66 2e 20 20 49 74 20 69 73 20 61 20 6c 61  iff.  It is a la
0150: 72 67 65 20 64 69 66 66 20 61 6e 64 20 63 6f 6e  rge diff and con
0160: 74 61 69 6e 73 20 6d 61 6e 79 20 6f 74 68 65 72  tains many other
0170: 20 69 6e 74 65 72 65 73 74 69 6e 67 0a 20 20 20   interesting.   
0180: 20 20 66 65 61 74 75 72 65 73 2e 20 20 53 63 61    features.  Sca
0190: 6e 20 74 68 65 20 77 68 6f 6c 65 20 64 69 66 66  n the whole diff
01a0: 2e 0a 20 20 2a 20 20 3c 61 20 68 72 65 66 3d 22  ..  *  <a href="
01b0: 2e 2e 2f 2e 2e 2f 2e 2e 2f 66 64 69 66 66 3f 76  ../../../fdiff?v
01c0: 31 3d 36 64 61 30 31 36 34 31 35 64 63 35 32 64  1=6da016415dc52d
01d0: 36 31 26 76 32 3d 61 66 36 64 66 33 34 36 36 65  61&v2=af6df3466e
01e0: 33 63 34 61 38 38 22 0a 20 20 20 20 20 74 61 72  3c4a88".     tar
01f0: 67 65 74 3d 22 74 65 73 74 77 69 6e 64 6f 77 22  get="testwindow"
0200: 3e 54 72 69 63 6b 79 20 61 6c 69 67 6e 6d 65 6e  >Tricky alignmen
0210: 74 20 61 6e 64 20 6d 75 6c 74 69 70 6c 65 20 65  t and multiple e
0220: 64 69 74 73 20 70 65 72 20 6c 69 6e 65 3c 2f 61  dits per line</a
0230: 3e 2e 0a 20 20 2a 20 20 3c 61 20 68 72 65 66 3d  >..  *  <a href=
0240: 22 2e 2e 2f 2e 2e 2f 2e 2e 2f 66 64 69 66 66 3f  "../../../fdiff?
0250: 76 31 3d 37 31 30 38 64 34 37 34 38 62 31 31 31  v1=7108d4748b111
0260: 64 32 33 26 76 32 3d 32 33 30 33 61 39 38 35 32  d23&v2=2303a9852
0270: 35 62 33 39 64 31 39 23 63 68 75 6e 6b 33 22 0a  5b39d19#chunk3".
0280: 20 20 20 20 20 74 61 72 67 65 74 3d 22 74 65 73       target="tes
0290: 74 77 69 6e 64 6f 77 22 3e 41 64 64 20 61 20 63  twindow">Add a c
02a0: 6f 6c 75 6d 6e 20 74 6f 20 61 20 74 61 62 6c 65  olumn to a table
02b0: 3c 2f 61 3e 0a 20 20 2a 20 20 3c 61 20 68 72 65  </a>.  *  <a hre
02c0: 66 3d 22 2e 2e 2f 2e 2e 2f 2e 2e 2f 66 64 69 66  f="../../../fdif
02d0: 66 3f 76 31 3d 64 31 63 36 30 37 32 32 65 30 62  f?v1=d1c60722e0b
02e0: 39 64 37 37 35 26 76 32 3d 35 38 64 31 61 38 39  9d775&v2=58d1a89
02f0: 39 31 62 61 63 62 31 31 33 22 0a 20 20 20 20 20  91bacb113".     
0300: 74 61 72 67 65 74 3d 22 74 65 73 74 77 69 6e 64  target="testwind
0310: 6f 77 22 3e 43 6f 6c 75 6d 6e 20 61 6c 69 67 6e  ow">Column align
0320: 6d 65 6e 74 20 77 69 74 68 20 6d 75 6c 74 69 62  ment with multib
0330: 79 74 65 20 63 68 61 72 61 63 74 65 72 73 2e 3c  yte characters.<
0340: 2f 61 3e 0a 20 20 20 20 20 54 68 65 20 65 64 69  /a>.     The edi
0350: 74 20 6f 66 20 61 20 6c 69 6e 65 20 77 69 74 68  t of a line with
0360: 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61   multibyte chara
0370: 63 74 65 72 73 20 69 73 20 74 68 65 20 66 69 72  cters is the fir
0380: 73 74 20 63 68 75 6e 6b 2e 0a 20 20 2a 20 20 3c  st chunk..  *  <
0390: 61 20 68 72 65 66 3d 22 2e 2e 2f 2e 2e 2f 2e 2e  a href="../../..
03a0: 2f 66 64 69 66 66 3f 76 31 3d 35 37 62 30 64 38  /fdiff?v1=57b0d8
03b0: 31 38 33 63 61 62 30 65 33 64 26 76 32 3d 33 37  183cab0e3d&v2=37
03c0: 62 33 65 66 34 39 64 37 33 63 64 66 65 36 22 0a  b3ef49d73cdfe6".
03d0: 20 20 20 20 20 74 61 72 67 65 74 3d 22 74 65 73       target="tes
03e0: 74 77 69 6e 64 6f 77 22 3e 4c 61 72 67 65 20 64  twindow">Large d
03f0: 69 66 66 20 6f 66 20 73 71 6c 69 74 65 33 2e 63  iff of sqlite3.c
0400: 3c 2f 61 3e 2e 20 20 54 68 69 73 20 64 69 66 66  </a>.  This diff
0410: 20 77 61 73 20 76 65 72 79 0a 20 20 20 20 20 73   was very.     s
0420: 6c 6f 77 20 70 72 69 6f 72 20 74 6f 20 74 68 65  low prior to the
0430: 20 70 72 65 66 6f 72 6d 61 6e 63 65 20 65 6e 68   preformance enh
0440: 61 6e 63 65 6d 65 6e 74 20 63 68 61 6e 67 65 20  ancement change 
0450: 5b 39 65 31 35 34 33 37 65 39 37 5d 2e 0a 20 20  [9e15437e97]..  
0460: 2a 20 20 3c 61 20 68 72 65 66 3d 22 2e 2e 2f 2e  *  <a href="../.
0470: 2e 2f 2e 2e 2f 69 6e 66 6f 2f 62 64 61 30 30 63  ./../info/bda00c
0480: 62 61 64 61 23 63 68 75 6e 6b 34 32 22 20 74 61  bada#chunk42" ta
0490: 72 67 65 74 3d 22 74 65 73 74 77 69 6e 64 6f 77  rget="testwindow
04a0: 22 3e 0a 20 20 20 20 20 41 20 64 69 66 66 69 63  ">.     A diffic
04b0: 75 6c 74 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20  ult indentation 
04c0: 63 68 61 6e 67 65 2e 0a 20 20 2a 20 20 3c 61 20  change..  *  <a 
04d0: 68 72 65 66 3d 22 2e 2e 2f 2e 2e 2f 2e 2e 2f 66  href="../../../f
04e0: 64 69 66 66 3f 76 31 3d 39 35 35 63 63 36 37 61  diff?v1=955cc67a
04f0: 63 65 38 66 62 36 32 32 26 76 32 3d 65 32 65 31  ce8fb622&v2=e2e1
0500: 63 38 37 62 38 36 36 36 34 62 34 35 23 63 68 75  c87b86664b45#chu
0510: 6e 6b 31 33 22 0a 20 20 20 20 20 20 74 61 72 67  nk13".      targ
0520: 65 74 3d 22 74 65 73 74 77 69 6e 64 6f 77 22 3e  et="testwindow">
0530: 41 6e 6f 74 68 65 72 20 74 72 69 63 6b 79 20 69  Another tricky i
0540: 6e 64 65 6e 74 61 74 69 6f 6e 2e 3c 2f 61 3e 20  ndentation.</a> 
0550: 20 4e 6f 74 69 63 65 20 65 73 70 65 63 69 61 6c   Notice especial
0560: 6c 79 0a 20 20 20 20 20 20 6c 69 6e 65 73 20 35  ly.      lines 5
0570: 39 33 39 38 20 61 6e 64 20 35 39 34 30 37 20 6f  9398 and 59407 o
0580: 6e 20 74 68 65 20 6c 65 66 74 2e 0a 20 20 2a 20  n the left..  * 
0590: 20 3c 61 20 68 72 65 66 3d 22 2e 2e 2f 2e 2e 2f   <a href="../../
05a0: 2e 2e 2f 66 64 69 66 66 3f 76 32 3d 39 35 35 63  ../fdiff?v2=955c
05b0: 63 36 37 61 63 65 38 66 62 36 32 32 26 76 31 3d  c67ace8fb622&v1=
05c0: 65 32 65 31 63 38 37 62 38 36 36 36 34 62 34 35  e2e1c87b86664b45
05d0: 23 63 68 75 6e 6b 31 33 22 0a 20 20 20 20 20 20  #chunk13".      
05e0: 74 61 72 67 65 74 3d 22 74 65 73 74 77 69 6e 64  target="testwind
05f0: 6f 77 22 3e 49 6e 76 65 72 73 65 20 6f 66 20 74  ow">Inverse of t
0600: 68 65 20 70 72 65 76 69 6f 75 73 2e 3c 2f 61 3e  he previous.</a>
0610: 0a 20 20 2a 20 20 3c 61 20 68 72 65 66 3d 22 2e  .  *  <a href=".
0620: 2e 2f 2e 2e 2f 2e 2e 2f 66 64 69 66 66 3f 76 31  ./../../fdiff?v1
0630: 3d 39 35 35 63 63 36 37 61 63 65 38 66 62 36 32  =955cc67ace8fb62
0640: 32 26 76 32 3d 65 32 65 31 63 38 37 62 38 36 36  2&v2=e2e1c87b866
0650: 36 34 62 34 35 23 63 68 75 6e 6b 32 34 22 0a 20  64b45#chunk24". 
0660: 20 20 20 20 20 74 61 72 67 65 74 3d 22 74 65 73       target="tes
0670: 74 77 69 6e 64 6f 77 22 3e 41 20 63 6f 6d 70 6c  twindow">A compl
0680: 65 78 20 63 68 61 6e 67 65 3c 2f 61 3e 20 74 68  ex change</a> th
0690: 61 74 20 69 73 20 64 69 66 66 69 63 75 6c 74 20  at is difficult 
06a0: 74 6f 20 61 6c 69 67 6e 2c 20 61 6e 64 0a 20 20  to align, and.  
06b0: 20 20 20 20 68 65 6e 63 65 20 66 61 6c 6c 73 20      hence falls 
06c0: 62 61 63 6b 20 74 6f 20 74 68 65 20 22 64 65 6c  back to the "del
06d0: 65 74 65 20 6c 65 66 74 20 61 6e 64 20 69 6e 73  ete left and ins
06e0: 65 72 74 20 72 69 67 68 74 22 20 73 74 72 61 74  ert right" strat
06f0: 65 67 79 2e 0a 20 20 2a 20 20 3c 61 20 68 72 65  egy..  *  <a hre
0700: 66 3d 22 2e 2e 2f 2e 2e 2f 2e 2e 2f 66 64 69 66  f="../../../fdif
0710: 66 3f 76 32 3d 39 35 35 63 63 36 37 61 63 65 38  f?v2=955cc67ace8
0720: 66 62 36 32 32 26 76 31 3d 65 32 65 31 63 38 37  fb622&v1=e2e1c87
0730: 62 38 36 36 36 34 62 34 35 23 63 68 75 6e 6b 32  b86664b45#chunk2
0740: 34 22 0a 20 20 20 20 20 20 74 61 72 67 65 74 3d  4".      target=
0750: 22 74 65 73 74 77 69 6e 64 6f 77 22 3e 49 6e 76  "testwindow">Inv
0760: 65 72 73 65 20 6f 66 20 74 68 65 20 70 72 65 76  erse of the prev
0770: 69 6f 75 73 2e 3c 2f 61 3e 0a 20 20 2a 20 20 3c  ious.</a>.  *  <
0780: 61 20 68 72 65 66 3d 22 2e 2e 2f 2e 2e 2f 2e 2e  a href="../../..
0790: 2f 66 64 69 66 66 3f 76 31 3d 32 31 66 39 61 30  /fdiff?v1=21f9a0
07a0: 30 66 65 32 66 61 34 61 31 37 26 76 32 3d 64 35  0fe2fa4a17&v2=d5
07b0: 63 34 66 66 30 35 33 32 62 64 38 39 63 33 23 63  c4ff0532bd89c3#c
07c0: 68 75 6e 6b 35 22 0a 20 20 20 20 20 20 74 61 72  hunk5".      tar
07d0: 67 65 74 3d 22 74 65 73 74 77 69 6e 64 6f 77 22  get="testwindow"
07e0: 3e 73 71 6c 69 74 65 33 2e 63 20 63 68 61 6e 67  >sqlite3.c chang
07f0: 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 74 68 61  es</a>.      tha
0800: 74 20 61 72 65 20 64 69 66 66 69 63 75 6c 74 20  t are difficult 
0810: 74 6f 20 61 6c 69 67 6e 2e 0a 20 20 2a 20 20 3c  to align..  *  <
0820: 61 20 68 72 65 66 3d 22 2e 2e 2f 2e 2e 2f 2e 2e  a href="../../..
0830: 2f 66 64 69 66 66 3f 76 32 3d 32 31 66 39 61 30  /fdiff?v2=21f9a0
0840: 30 66 65 32 66 61 34 61 31 37 26 76 31 3d 64 35  0fe2fa4a17&v1=d5
0850: 63 34 66 66 30 35 33 32 62 64 38 39 63 33 23 63  c4ff0532bd89c3#c
0860: 68 75 6e 6b 35 22 0a 20 20 20 20 20 20 74 61 72  hunk5".      tar
0870: 67 65 74 3d 22 74 65 73 74 77 69 6e 64 6f 77 22  get="testwindow"
0880: 3e 73 71 6c 69 74 65 33 2e 63 20 63 68 61 6e 67  >sqlite3.c chang
0890: 65 73 20 69 6e 76 65 72 74 65 64 2e 3c 2f 61 3e  es inverted.</a>
08a0: 0a 0a 45 78 74 65 72 6e 61 6c 3a 0a 0a 20 20 2a  ..External:..  *
08b0: 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a    <a href="http:
08c0: 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f 72 67  //www.sqlite.org
08d0: 2f 73 72 63 2f 66 64 69 66 66 3f 76 31 3d 61 61  /src/fdiff?v1=aa
08e0: 66 63 62 32 31 61 37 34 65 34 31 66 39 61 26 76  fcb21a74e41f9a&v
08f0: 32 3d 61 36 64 31 32 37 64 64 30 35 64 61 66 30  2=a6d127dd05daf0
0900: 66 39 23 63 68 75 6e 6b 33 22 20 74 61 72 67 65  f9#chunk3" targe
0910: 74 3d 22 74 65 73 74 77 69 6e 64 6f 77 22 3e 0a  t="testwindow">.
0920: 20 20 20 20 20 43 6f 64 65 20 69 6e 64 65 6e 74       Code indent
0930: 61 74 69 6f 6e 20 63 68 61 6e 67 65 2e 3c 2f 61  ation change.</a
0940: 3e 0a 20 20 2a 20 20 3c 61 20 68 72 65 66 3d 22  >.  *  <a href="
0950: 68 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74  http://www.sqlit
0960: 65 2e 6f 72 67 2f 73 72 63 2f 69 6e 66 6f 2f 35  e.org/src/info/5
0970: 32 65 37 35 35 39 34 33 66 22 20 74 61 72 67 65  2e755943f" targe
0980: 74 3d 22 74 65 73 74 77 69 6e 64 6f 77 22 3e 0a  t="testwindow">.
0990: 20 20 20 20 20 41 20 63 6f 6d 70 6c 65 78 20 63       A complex c
09a0: 68 61 6e 67 65 20 28 63 68 75 6e 6b 20 31 29 20  hange (chunk 1) 
09b0: 69 6e 20 77 68 69 63 68 20 74 68 65 20 61 6c 69  in which the ali
09c0: 67 6e 6d 65 6e 74 20 62 65 63 6f 6d 65 73 20 73  gnment becomes s
09d0: 6f 20 63 6f 6d 70 6c 65 78 0a 20 20 20 20 20 74  o complex.     t
09e0: 68 61 74 20 69 74 20 69 73 20 62 65 74 74 65 72  hat it is better
09f0: 20 66 6f 72 20 63 6c 61 72 69 74 79 20 74 6f 20   for clarity to 
0a00: 61 62 61 6e 64 6f 6e 20 69 74 20 61 6e 64 20 6a  abandon it and j
0a10: 75 73 74 20 73 68 6f 77 20 74 68 65 20 6c 65 66  ust show the lef
0a20: 74 0a 20 20 20 20 20 61 6e 64 20 72 69 67 68 74  t.     and right
0a30: 20 73 69 64 65 73 20 63 6f 6e 74 69 67 75 6f 75   sides contiguou
0a40: 73 6c 79 2e 3c 2f 61 3e 0a 20 20 2a 20 20 3c 61  sly.</a>.  *  <a
0a50: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77   href="http://ww
0a60: 77 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 73 72 63  w.sqlite.org/src
0a70: 2f 69 6e 66 6f 2f 33 64 36 35 63 37 30 33 34 33  /info/3d65c70343
0a80: 23 63 68 75 6e 6b 35 22 0a 20 20 20 20 20 74 61  #chunk5".     ta
0a90: 72 67 65 74 3d 22 74 65 73 74 77 69 6e 64 6f 77  rget="testwindow
0aa0: 22 3e 0a 20 20 20 20 20 41 6e 20 69 6e 64 65 6e  ">.     An inden
0ab0: 74 61 74 69 6f 6e 20 63 68 61 6e 67 65 2e 20 20  tation change.  
0ac0: 53 65 65 20 65 73 70 65 63 69 61 6c 6c 79 20 6c  See especially l
0ad0: 69 6e 65 73 20 32 33 31 33 20 61 6e 64 20 32 33  ines 2313 and 23
0ae0: 31 37 20 6f 6e 20 74 68 65 20 72 69 67 68 74 2c  17 on the right,
0af0: 0a 20 20 20 20 20 74 68 61 74 20 74 68 65 69 72  .     that their
0b00: 20 67 72 65 65 6e 20 69 6e 64 65 6e 74 61 74 69   green indentati
0b10: 6f 6e 20 61 64 64 69 74 69 6f 6e 20 69 73 20 6c  on addition is l
0b20: 65 66 74 2d 6a 75 73 74 69 66 69 65 64 2e 3c 2f  eft-justified.</
0b30: 61 3e 0a                                         a>.