cpdo  Hex Artifact Content

Artifact 29b8610f57f919516ea75d8cfbc2ea6e500523bb:

Wiki page [News] by stephan 2011-05-17 18:45:23.
0000: 44 20 32 30 31 31 2d 30 35 2d 31 37 54 31 38 3a  D 2011-05-17T18:
0010: 34 35 3a 32 33 2e 36 35 39 0a 4c 20 4e 65 77 73  45:23.659.L News
0020: 0a 50 20 31 39 31 35 31 66 63 62 30 34 64 64 35  .P 19151fcb04dd5
0030: 63 62 32 34 65 35 65 62 30 32 30 64 35 62 35 36  cb24e5eb020d5b56
0040: 30 30 37 62 61 64 64 33 62 30 31 0a 55 20 73 74  007badd3b01.U st
0050: 65 70 68 61 6e 0a 57 20 32 31 38 38 0a 3c 73 74  ephan.W 2188.<st
0060: 72 6f 6e 67 3e 41 43 48 54 55 4e 47 3a 20 54 48  rong>ACHTUNG: TH
0070: 45 20 43 50 44 4f 20 57 49 4b 49 20 49 53 20 4e  E CPDO WIKI IS N
0080: 4f 57 20 28 41 53 20 4f 46 20 32 30 31 31 2d 4d  OW (AS OF 2011-M
0090: 61 79 2d 31 37 29 20 4d 41 49 4e 54 41 49 4e 45  ay-17) MAINTAINE
00a0: 44 20 4f 4e 20 41 20 44 45 44 49 43 41 54 45 44  D ON A DEDICATED
00b0: 20 57 49 4b 49 20 53 49 54 45 3a 3c 2f 73 74 72   WIKI SITE:</str
00c0: 6f 6e 67 3e 20 5b 68 74 74 70 3a 2f 2f 77 68 69  ong> [http://whi
00d0: 6b 69 2e 77 61 6e 64 65 72 69 6e 67 68 6f 72 73  ki.wanderinghors
00e0: 65 2e 6e 65 74 2f 77 69 6b 69 73 2f 63 70 64 6f  e.net/wikis/cpdo
00f0: 2f 3f 70 61 67 65 3d 4e 65 77 73 5d 0d 0a 0d 0a  /?page=News]....
0100: 3c 68 31 3e 63 70 64 6f 20 6e 65 77 73 3c 2f 68  <h1>cpdo news</h
0110: 31 3e 0d 0a 0d 0a 4e 65 77 20 66 65 61 74 75 72  1>....New featur
0120: 65 73 20 61 6e 64 20 73 69 67 6e 69 66 69 63 61  es and significa
0130: 6e 74 20 63 68 61 6e 67 65 73 20 61 72 65 20 62  nt changes are b
0140: 72 69 65 66 6c 79 20 64 65 73 63 72 69 62 65 64  riefly described
0150: 20 62 65 6c 6f 77 2e 20 54 68 65 20 6e 65 77 65   below. The newe
0160: 73 74 20 69 74 65 6d 73 20 61 72 65 20 61 74 20  st items are at 
0170: 74 68 65 20 74 6f 70 2e 2e 2e 0d 0a 0d 0a 3c 62  the top.......<b
0180: 3e 32 30 31 31 2d 30 34 2d 31 37 3a 3c 2f 62 3e  >2011-04-17:</b>
0190: 0d 0a 20 20 20 20 2a 20 20 53 74 61 72 74 65 64  ..    *  Started
01a0: 20 70 6f 72 74 69 6e 67 20 74 68 65 20 77 69 6b   porting the wik
01b0: 69 20 6f 76 65 72 20 74 6f 20 5b 68 74 74 70 3a  i over to [http:
01c0: 2f 2f 77 68 69 6b 69 2e 77 61 6e 64 65 72 69 6e  //whiki.wanderin
01d0: 67 68 6f 72 73 65 2e 6e 65 74 2f 77 69 6b 69 73  ghorse.net/wikis
01e0: 2f 63 70 64 6f 2f 5d 2e 20 54 68 65 20 6d 61 69  /cpdo/]. The mai
01f0: 6e 20 73 6f 75 72 63 65 20 72 65 70 6f 27 73 20  n source repo's 
0200: 77 69 6b 69 20 77 69 6c 6c 20 62 65 20 6b 65 70  wiki will be kep
0210: 74 20 66 6f 72 20 68 69 73 74 6f 72 69 63 61 6c  t for historical
0220: 20 72 65 61 73 6f 6e 73 20 28 61 6e 64 20 62 65   reasons (and be
0230: 63 61 75 73 65 20 46 6f 73 73 69 6c 20 67 69 76  cause Fossil giv
0240: 65 73 20 75 73 20 6e 6f 20 77 61 79 20 74 6f 20  es us no way to 
0250: 72 65 6d 6f 76 65 20 70 61 67 65 73 29 2c 20 62  remove pages), b
0260: 75 74 20 77 69 6c 6c 20 6e 6f 20 6c 6f 6e 67 65  ut will no longe
0270: 72 20 62 65 20 6d 61 69 6e 74 61 69 6e 65 64 2e  r be maintained.
0280: 0d 0a 0d 0a 3c 62 3e 32 30 31 31 2d 30 32 2d 31  ....<b>2011-02-1
0290: 30 3a 3c 2f 62 3e 0d 0a 20 20 20 20 2a 20 20 54  0:</b>..    *  T
02a0: 68 65 20 6e 65 77 20 5b 63 70 64 6f 70 70 7c 43  he new [cpdopp|C
02b0: 2b 2b 20 77 72 61 70 70 65 72 20 41 50 49 5d 20  ++ wrapper API] 
02c0: 73 65 65 6d 73 20 74 6f 20 62 65 20 77 6f 72 6b  seems to be work
02d0: 69 6e 67 2e 0d 0a 20 20 20 20 2a 20 20 41 64 64  ing...    *  Add
02e0: 65 64 20 43 2b 2b 20 76 61 72 69 61 6e 74 20 6f  ed C++ variant o
02f0: 66 20 74 68 65 20 5b 41 6d 61 6c 67 61 6d 61 74  f the [Amalgamat
0300: 69 6f 6e 42 75 69 6c 64 5d 2e 0d 0a 20 20 20 20  ionBuild]...    
0310: 2a 20 20 53 65 76 65 72 61 6c 20 43 2d 73 69 64  *  Several C-sid
0320: 65 20 66 69 78 65 73 20 66 6f 72 20 63 6f 6d 70  e fixes for comp
0330: 69 6c 69 6e 67 20 69 6e 20 43 2b 2b 20 6d 6f 64  iling in C++ mod
0340: 65 2e 0d 0a 0d 0a 3c 62 3e 32 30 31 31 2d 30 32  e.....<b>2011-02
0350: 2d 30 34 3a 3c 2f 62 3e 0d 0a 20 20 20 20 2a 20  -04:</b>..    * 
0360: 20 48 6f 6c 79 20 63 6f 77 2e 2e 2e 20 72 65 70   Holy cow... rep
0370: 65 61 74 65 64 20 74 65 73 74 73 20 61 72 65 20  eated tests are 
0380: 73 68 6f 77 69 6e 67 20 6d 65 20 74 68 61 74 20  showing me that 
0390: 63 70 64 6f 20 74 65 73 74 73 20 72 75 6e 6e 69  cpdo tests runni
03a0: 6e 67 20 6f 6e 20 61 20 33 32 2d 62 69 74 20 76  ng on a 32-bit v
03b0: 69 72 74 75 61 6c 20 6d 61 63 68 69 6e 65 20 68  irtual machine h
03c0: 6f 73 74 65 64 20 6f 6e 20 36 34 2d 62 69 74 20  osted on 64-bit 
03d0: 68 61 72 64 77 61 72 65 20 3c 65 6d 3e 63 6f 6e  hardware <em>con
03e0: 73 69 73 74 65 6e 74 6c 79 20 6f 75 74 2d 70 65  sistently out-pe
03f0: 72 66 6f 72 6d 20 74 68 65 20 6e 61 74 69 76 65  rform the native
0400: 20 36 34 2d 62 69 74 20 62 75 69 6c 64 20 72 75   64-bit build ru
0410: 6e 6e 69 6e 67 20 6f 6e 20 36 34 2d 62 69 74 20  nning on 64-bit 
0420: 68 61 72 64 77 61 72 65 3c 2f 65 6d 3e 2e 20 54  hardware</em>. T
0430: 68 65 20 33 32 2d 62 69 74 73 2d 69 6e 2d 61 2d  he 32-bits-in-a-
0440: 76 6d 20 62 75 69 6c 64 73 20 61 72 65 20 63 6f  vm builds are co
0450: 6e 73 69 73 74 65 6e 74 6c 79 20 6d 6f 72 65 20  nsistently more 
0460: 74 68 61 6e 20 35 30 25 20 66 61 73 74 65 72 2e  than 50% faster.
0470: 20 54 68 61 74 27 73 20 6a 75 73 74 20 70 6c 61   That's just pla
0480: 69 6e 20 77 65 69 72 64 2e 0d 0a 0d 0a 3c 62 3e  in weird.....<b>
0490: 32 30 31 31 2d 30 32 2d 30 32 3a 3c 2f 62 3e 0d  2011-02-02:</b>.
04a0: 0a 20 20 20 2a 20 20 47 6f 74 20 6e 61 6d 65 64  .   *  Got named
04b0: 20 70 61 72 61 6d 65 74 65 72 20 73 75 70 70 6f   parameter suppo
04c0: 72 74 20 77 6f 72 6b 69 6e 67 20 69 6e 20 5b 63  rt working in [c
04d0: 70 64 6f 5f 6d 79 73 71 6c 35 5d 20 62 79 20 77  pdo_mysql5] by w
04e0: 6f 72 6b 69 6e 67 20 3c 65 6d 3e 61 72 6f 75 6e  orking <em>aroun
04f0: 64 3c 2f 65 6d 3e 20 4d 79 53 51 4c 20 61 6e 64  d</em> MySQL and
0500: 20 75 73 69 6e 67 20 61 20 63 75 73 74 6f 6d 20   using a custom 
0510: 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 20 70  parameter name p
0520: 61 72 73 65 72 2e 20 49 74 20 73 68 6f 75 6c 64  arser. It should
0530: 20 77 6f 72 6b 20 6a 75 73 74 20 66 69 6e 65 20   work just fine 
0540: 6f 6e 20 61 6e 79 20 72 65 61 73 6f 6e 61 62 6c  on any reasonabl
0550: 79 20 6c 65 67 61 6c 20 53 51 4c 20 63 6f 64 65  y legal SQL code
0560: 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 64 69 73  , and can be dis
0570: 61 62 6c 65 64 20 69 66 20 69 74 20 63 61 75 73  abled if it caus
0580: 65 73 20 67 72 69 65 66 2e 20 28 54 68 65 20 6f  es grief. (The o
0590: 6e 6c 79 20 63 6f 6e 73 74 72 75 63 74 73 20 69  nly constructs i
05a0: 27 76 65 20 67 6f 74 74 65 6e 20 69 74 20 74 6f  've gotten it to
05b0: 20 66 61 69 6c 20 6f 6e 20 61 72 65 20 69 6c 6c   fail on are ill
05c0: 65 67 61 6c 20 53 51 4c 2c 20 73 6f 20 69 74 20  egal SQL, so it 
05d0: 77 61 73 6e 27 74 20 61 63 74 75 61 6c 6c 79 20  wasn't actually 
05e0: 63 72 65 61 74 69 6e 67 20 61 20 70 72 6f 62 6c  creating a probl
05f0: 65 6d 20 77 68 65 72 65 20 74 68 65 72 65 20 77  em where there w
0600: 61 73 6e 27 74 20 6f 6e 65 20 61 6c 72 65 61 64  asn't one alread
0610: 79 2e 29 0d 0a 20 20 20 2a 20 20 41 64 64 65 64  y.)..   *  Added
0620: 20 5b 63 70 64 6f 5f 73 6b 65 6c 65 74 6f 6e 5d   [cpdo_skeleton]
0630: 2c 20 61 20 6e 6f 6e 2d 66 75 6e 63 74 69 6f 6e  , a non-function
0640: 61 6c 20 28 62 75 74 20 63 6f 6d 70 69 6c 61 62  al (but compilab
0650: 6c 65 29 20 3c 74 74 3e 63 70 64 6f 5f 64 72 69  le) <tt>cpdo_dri
0660: 76 65 72 3c 2f 74 74 3e 20 73 6b 65 6c 65 74 6f  ver</tt> skeleto
0670: 6e 20 74 6f 20 62 6f 6f 74 73 74 72 61 70 20 74  n to bootstrap t
0680: 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 63 72  he process of cr
0690: 65 61 74 69 6e 67 20 6e 65 77 20 64 72 69 76 65  eating new drive
06a0: 72 73 2e 0d 0a 20 20 20 2a 20 20 41 64 64 65 64  rs...   *  Added
06b0: 20 70 72 69 6e 74 66 2d 6c 69 6b 65 20 66 6f 72   printf-like for
06c0: 6d 61 74 74 69 6e 67 20 76 61 72 69 61 6e 74 73  matting variants
06d0: 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 74 68 65   for most of the
06e0: 20 73 74 72 69 6e 67 2d 74 61 6b 69 6e 67 20 66   string-taking f
06f0: 75 6e 63 74 69 6f 6e 73 2c 20 65 2e 67 2e 20 3c  unctions, e.g. <
0700: 74 74 3e 63 70 64 6f 5f 65 78 65 63 5f 66 28 29  tt>cpdo_exec_f()
0710: 3c 2f 74 74 3e 2c 20 3c 74 74 3e 63 70 64 6f 5f  </tt>, <tt>cpdo_
0720: 70 72 65 70 61 72 65 5f 66 28 29 3c 2f 74 74 3e  prepare_f()</tt>
0730: 2c 20 61 6e 64 20 3c 74 74 3e 63 70 64 6f 5f 62  , and <tt>cpdo_b
0740: 69 6e 64 5f 73 74 72 69 6e 67 5f 66 28 29 3c 2f  ind_string_f()</
0750: 74 74 3e 2e 0d 0a 0d 0a 3c 62 3e 32 30 31 31 2d  tt>.....<b>2011-
0760: 30 32 2d 30 31 3a 3c 2f 62 3e 0d 0a 20 20 20 2a  02-01:</b>..   *
0770: 20 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 20    Added support 
0780: 66 6f 72 20 62 6f 75 6e 64 20 70 61 72 61 6d 65  for bound parame
0790: 74 65 72 20 6e 61 6d 65 20 68 61 6e 64 6c 69 6e  ter name handlin
07a0: 67 2e 20 41 6c 61 73 2c 20 74 68 65 20 4d 79 53  g. Alas, the MyS
07b0: 51 4c 20 41 50 49 20 64 6f 65 73 20 6e 6f 74 20  QL API does not 
07c0: 61 6c 6c 6f 77 20 75 73 20 74 6f 20 64 6f 20 74  allow us to do t
07d0: 68 69 73 2c 20 73 6f 20 74 68 61 74 20 64 72 69  his, so that dri
07e0: 76 65 72 20 64 6f 65 73 20 6e 6f 74 20 73 75 70  ver does not sup
07f0: 70 6f 72 74 20 74 68 69 73 2e 0d 0a 0d 0a 3c 62  port this.....<b
0800: 3e 32 30 31 31 2d 30 31 2d 33 31 3a 3c 2f 62 3e  >2011-01-31:</b>
0810: 0d 0a 20 20 20 2a 20 20 47 6f 74 20 74 68 65 20  ..   *  Got the 
0820: 41 50 49 20 6d 6f 73 74 6c 79 20 77 68 65 72 65  API mostly where
0830: 20 69 20 77 61 6e 74 20 69 74 2e 20 4f 6e 6c 79   i want it. Only
0840: 20 6d 69 73 73 69 6e 67 20 61 20 73 6d 61 6c 6c   missing a small
0850: 20 6e 75 6d 62 65 72 20 6f 66 20 66 65 61 74 75   number of featu
0860: 72 65 73 2c 20 65 2e 67 2e 20 62 69 6e 64 69 6e  res, e.g. bindin
0870: 67 20 70 61 72 61 6d 65 74 65 72 73 20 62 79 20  g parameters by 
0880: 6e 61 6d 65 2e 0d 0a 20 20 20 2a 20 20 4d 79 53  name...   *  MyS
0890: 51 4c 20 61 6e 64 20 73 71 6c 69 74 65 33 20 64  QL and sqlite3 d
08a0: 72 69 76 65 72 73 20 62 6f 74 68 20 70 61 73 73  rivers both pass
08b0: 20 74 68 65 20 73 61 6e 69 74 79 20 74 65 73 74   the sanity test
08c0: 73 2c 20 62 75 74 20 69 20 6e 65 65 64 20 74 6f  s, but i need to
08d0: 20 61 64 64 20 6d 6f 72 65 20 73 74 72 65 73 73   add more stress
08e0: 20 74 65 73 74 73 2e 0d 0a 0a 5a 20 30 39 34 64   tests....Z 094d
08f0: 35 37 35 62 65 30 36 65 30 31 63 35 62 33 33 36  575be06e01c5b336
0900: 36 34 66 38 30 36 36 38 38 36 61 32 0a           64f8066886a2.