Hex Artifact Content
Not logged in

Artifact 446360743bfb93f6101c7a03026d929a843d6dcc:

Ticket change [446360743b] - Ticket [2a1e8e3c4b] content_get can recursive too deep status still Open with 1 other change by drh 2010-10-03 18:02:19.
0000: 44 20 32 30 31 30 2d 31 30 2d 30 33 54 31 38 3a  D 2010-10-03T18:
0010: 30 32 3a 31 39 0a 4a 20 2b 63 6f 6d 6d 65 6e 74  02:19.J +comment
0020: 20 5c 6e 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 64   \n\n<hr\s/><i>d
0030: 72 68 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32  rh\sadded\son\s2
0040: 30 31 30 2d 31 30 2d 30 33 5c 73 31 38 3a 30 32  010-10-03\s18:02
0050: 3a 31 39 3a 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c  :19:</i><br\s/>\
0060: 6e 49 5c 73 64 6f 6e 27 74 5c 73 75 6e 64 65 72  nI\sdon't\sunder
0070: 73 74 61 6e 64 5c 73 79 6f 75 72 5c 73 69 73 73  stand\syour\siss
0080: 75 65 5c 73 77 69 74 68 5c 73 74 68 65 5c 73 73  ue\swith\sthe\ss
0090: 74 61 63 6b 5c 73 73 69 7a 65 2e 5c 73 5c 73 59  tack\ssize.\s\sY
00a0: 65 73 2c 5c 73 63 6f 6e 74 65 6e 74 5f 67 65 74  es,\scontent_get
00b0: 28 29 5c 73 69 73 5c 72 5c 6e 64 65 65 70 6c 79  ()\sis\r\ndeeply
00c0: 5c 73 72 65 63 75 72 73 69 76 65 2c 5c 73 62 75  \srecursive,\sbu
00d0: 74 5c 73 65 61 63 68 5c 73 73 74 61 63 6b 5c 73  t\seach\sstack\s
00e0: 66 72 61 6d 65 5c 73 69 73 5c 73 6f 6e 6c 79 5c  frame\sis\sonly\
00f0: 73 35 32 5c 73 62 79 74 65 73 2e 5c 73 5c 73 57  s52\sbytes.\s\sW
0100: 68 61 74 5c 73 77 6f 72 6b 73 74 61 74 69 6f 6e  hat\sworkstation
0110: 5c 72 5c 6e 74 68 65 73 65 5c 73 64 61 79 73 5c  \r\nthese\sdays\
0120: 73 63 61 6e 27 74 5c 73 68 61 6e 64 6c 65 5c 73  scan't\shandle\s
0130: 31 30 30 4b 5c 73 6f 72 5c 73 6d 6f 72 65 5c 73  100K\sor\smore\s
0140: 72 65 63 75 72 73 69 6f 6e 73 5c 73 6f 66 5c 73  recursions\sof\s
0150: 61 5c 73 35 32 2d 62 79 74 65 5c 73 73 74 61 63  a\s52-byte\sstac
0160: 6b 5c 73 66 72 61 6d 65 3f 5c 72 5c 6e 5c 72 5c  k\sframe?\r\n\r\
0170: 6e 43 6f 6e 74 65 6e 74 5c 73 69 73 5c 73 73 74  nContent\sis\sst
0180: 6f 72 65 64 5c 73 61 73 5c 73 61 5c 73 73 65 71  ored\sas\sa\sseq
0190: 75 65 6e 63 65 5c 73 6f 66 5c 73 64 65 6c 74 61  uence\sof\sdelta
01a0: 73 2e 5c 73 5c 73 53 6f 5c 73 74 68 65 5c 73 65  s.\s\sSo\sthe\se
01b0: 78 74 72 61 63 74 69 6f 6e 5c 73 61 6c 67 6f 72  xtraction\salgor
01c0: 69 74 68 6d 5c 72 5c 6e 69 73 5c 73 69 6e 68 65  ithm\r\nis\sinhe
01d0: 72 65 6e 74 6c 79 5c 73 72 65 63 75 72 73 69 76  rently\srecursiv
01e0: 65 2e 5c 73 5c 73 57 65 5c 73 63 6f 75 6c 64 5c  e.\s\sWe\scould\
01f0: 73 73 77 69 74 63 68 5c 73 74 6f 5c 73 75 73 69  sswitch\sto\susi
0200: 6e 67 5c 73 61 5c 73 6c 6f 6f 70 5c 73 61 6e 64  ng\sa\sloop\sand
0210: 5c 73 73 74 6f 72 65 5c 73 74 68 65 5c 72 5c 6e  \sstore\sthe\r\n
0220: 72 65 63 75 72 73 69 6f 6e 5c 73 69 6e 66 6f 72  recursion\sinfor
0230: 6d 61 74 69 6f 6e 5c 73 69 6e 5c 73 6d 65 6d 6f  mation\sin\smemo
0240: 72 79 5c 73 6f 62 74 61 69 6e 65 64 5c 73 66 72  ry\sobtained\sfr
0250: 6f 6d 5c 73 74 68 65 5c 73 68 65 61 70 2e 5c 73  om\sthe\sheap.\s
0260: 5c 73 42 75 74 5c 73 77 68 61 74 5c 73 64 6f 65  \sBut\swhat\sdoe
0270: 73 5c 73 5c 72 5c 6e 74 68 61 74 5c 73 72 65 61  s\s\r\nthat\srea
0280: 6c 6c 79 5c 73 61 63 63 6f 6d 70 6c 69 73 68 2c  lly\saccomplish,
0290: 5c 73 6f 74 68 65 72 5c 73 74 68 61 6e 5c 73 6d  \sother\sthan\sm
02a0: 61 6b 69 6e 67 5c 73 74 68 65 5c 73 63 6f 64 65  aking\sthe\scode
02b0: 5c 73 6d 6f 72 65 5c 73 6f 62 74 75 73 65 2e 5c  \smore\sobtuse.\
02c0: 72 5c 6e 5c 72 5c 6e 57 65 27 76 65 5c 73 6e 6f  r\n\r\nWe've\sno
02d0: 74 5c 73 68 61 64 5c 73 70 65 72 66 6f 72 6d 61  t\shad\sperforma
02e0: 6e 63 65 5c 73 69 73 73 75 65 73 5c 73 77 69 74  nce\sissues\swit
02f0: 68 5c 73 72 65 62 75 69 6c 64 5c 73 62 65 66 6f  h\srebuild\sbefo
0300: 72 65 2e 5c 73 5c 73 54 68 69 73 5c 73 73 75 67  re.\s\sThis\ssug
0310: 67 65 73 74 73 5c 73 74 68 61 74 5c 72 5c 6e 79  gests\sthat\r\ny
0320: 6f 75 72 5c 73 72 65 70 6f 73 69 74 6f 72 79 5c  our\srepository\
0330: 73 68 61 73 5c 73 61 5c 73 64 69 66 66 65 72 65  shas\sa\sdiffere
0340: 6e 74 5c 73 73 74 72 75 63 74 75 72 65 5c 73 74  nt\sstructure\st
0350: 68 61 6e 5c 73 77 68 61 74 5c 73 77 65 5c 73 68  han\swhat\swe\sh
0360: 61 76 65 5c 73 73 65 65 6e 5c 73 69 6e 5c 73 74  ave\sseen\sin\st
0370: 68 65 5c 72 5c 6e 70 61 73 74 2e 5c 73 5c 73 43  he\r\npast.\s\sC
0380: 61 6e 5c 73 77 65 5c 73 63 6c 6f 6e 65 5c 73 61  an\swe\sclone\sa
0390: 5c 73 63 6f 70 79 5c 73 6f 66 5c 73 79 6f 75 72  \scopy\sof\syour
03a0: 5c 73 72 65 70 6f 73 69 74 6f 72 79 5c 73 66 6f  \srepository\sfo
03b0: 72 5c 73 66 75 72 74 68 65 72 5c 73 73 74 75 64  r\sfurther\sstud
03c0: 79 2c 5c 73 73 6f 5c 73 74 68 61 74 5c 72 5c 6e  y,\sso\sthat\r\n
03d0: 77 65 5c 73 63 61 6e 5c 73 67 65 74 5c 73 61 5c  we\scan\sget\sa\
03e0: 73 62 65 74 74 65 72 5c 73 67 72 69 70 5c 73 6f  sbetter\sgrip\so
03f0: 6e 5c 73 74 68 65 5c 73 73 6f 75 72 63 65 5c 73  n\sthe\ssource\s
0400: 6f 66 5c 73 79 6f 75 72 5c 73 70 65 72 66 6f 72  of\syour\sperfor
0410: 6d 61 6e 63 65 5c 73 70 72 6f 62 6c 65 6d 3f 0a  mance\sproblem?.
0420: 4b 20 32 61 31 65 38 65 33 63 34 62 30 62 33 39  K 2a1e8e3c4b0b39
0430: 65 30 38 66 64 64 65 30 64 32 34 64 39 66 62 33  e08fdde0d24d9fb3
0440: 35 66 62 63 36 36 64 33 39 61 0a 55 20 64 72 68  5fbc66d39a.U drh
0450: 0a 5a 20 35 35 31 36 30 34 37 61 32 39 61 38 32  .Z 5516047a29a82
0460: 35 66 64 36 33 63 31 31 62 34 62 38 35 66 32 37  5fd63c11b4b85f27
0470: 36 34 66 0a                                      64f.