Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix an off-by-one error in the value data decoder logic that prevented DEFAULT VALUE from working correctly in some instances. Also fix some nearby code formatting issues. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
98d35b06cd3ba42cd72f2202a14d2291 |
User & Date: | drh 2013-01-25 21:23:17.289 |
Context
2013-01-28
| ||
08:56 | Merge block-redirects branch with trunk. This changes the lsm file format. check-in: 647229e983 user: dan tags: trunk | |
2013-01-25
| ||
21:23 | Fix an off-by-one error in the value data decoder logic that prevented DEFAULT VALUE from working correctly in some instances. Also fix some nearby code formatting issues. check-in: 98d35b06cd user: drh tags: trunk | |
2013-01-24
| ||
18:24 | Fix a string type compile warning. check-in: 11b2bf1628 user: stephan tags: trunk | |
Changes
Changes to src/vdbecodec.c.
︙ | ︙ | |||
142 143 144 145 146 147 148 | }else if( cclass==0 ){ if( size==0 ){ sqlite4VdbeMemSetStr(pOut, "", 0, SQLITE4_UTF8, SQLITE4_TRANSIENT); }else if( p->a[ofst]>0x02 ){ sqlite4VdbeMemSetStr(pOut, (char*)(p->a+ofst), size, SQLITE4_UTF8, SQLITE4_TRANSIENT); }else{ | | | > > | | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | }else if( cclass==0 ){ if( size==0 ){ sqlite4VdbeMemSetStr(pOut, "", 0, SQLITE4_UTF8, SQLITE4_TRANSIENT); }else if( p->a[ofst]>0x02 ){ sqlite4VdbeMemSetStr(pOut, (char*)(p->a+ofst), size, SQLITE4_UTF8, SQLITE4_TRANSIENT); }else{ static const u8 enc[] = {SQLITE4_UTF8,SQLITE4_UTF16LE,SQLITE4_UTF16BE }; sqlite4VdbeMemSetStr(pOut, (char*)(p->a+ofst+1), size-1, enc[p->a[ofst]], SQLITE4_TRANSIENT); } }else{ sqlite4VdbeMemSetStr(pOut, (char*)(p->a+ofst), size, 0,SQLITE4_TRANSIENT); } } testcase( i==iVal ); testcase( i==iVal+1 ); if( i<=iVal ){ if( pDefault ){ sqlite4VdbeMemShallowCopy(pOut, pDefault, MEM_Static); }else{ sqlite4VdbeMemSetNull(pOut); } } return SQLITE4_OK; |
︙ | ︙ |