Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix a couple instances of OOM handling in the json extension. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
213a6c5ccbcfe4495d45e3608e99a639 |
User & Date: | drh 2015-08-22 03:05:54.585 |
Context
2015-08-22
| ||
19:39 | Add the json_valid() function to the json1.c extension. Fix various minor problems in the json1.c extension. (check-in: 380a97345b user: drh tags: trunk) | |
07:56 | Merge further trunk changes. (check-in: c2327a3b8e user: dan tags: begin-concurrent) | |
03:05 | Fix a couple instances of OOM handling in the json extension. (check-in: 213a6c5ccb user: drh tags: trunk) | |
01:32 | Do not apply the WHERE-clause pushdown optimization to terms that originate in the ON or USING clause of a LEFT JOIN. Fix for ticket [c2a19d81652f40568c]. (check-in: 351bc22fa9 user: drh tags: trunk) | |
Changes
Changes to ext/misc/json1.c.
︙ | ︙ | |||
583 584 585 586 587 588 589 590 591 592 593 594 595 596 | for(j=i+1;;j++){ while( isspace(pParse->zJson[j]) ){ j++; } x = jsonParseValue(pParse, j); if( x<0 ){ if( x==(-2) && pParse->nNode==iThis+1 ) return j+1; return -1; } if( pParse->aNode[pParse->nNode-1].eType!=JSON_STRING ) return -1; j = x; while( isspace(pParse->zJson[j]) ){ j++; } if( pParse->zJson[j]!=':' ) return -1; j++; x = jsonParseValue(pParse, j); if( x<0 ) return -1; | > | 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 | for(j=i+1;;j++){ while( isspace(pParse->zJson[j]) ){ j++; } x = jsonParseValue(pParse, j); if( x<0 ){ if( x==(-2) && pParse->nNode==iThis+1 ) return j+1; return -1; } if( pParse->oom ) return -1; if( pParse->aNode[pParse->nNode-1].eType!=JSON_STRING ) return -1; j = x; while( isspace(pParse->zJson[j]) ){ j++; } if( pParse->zJson[j]!=':' ) return -1; j++; x = jsonParseValue(pParse, j); if( x<0 ) return -1; |
︙ | ︙ | |||
635 636 637 638 639 640 641 | jnFlags = JNODE_ESCAPE; }else if( c=='"' ){ break; } j++; } jsonParseAddNode(pParse, JSON_STRING, j+1-i, &pParse->zJson[i]); | | | 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 | jnFlags = JNODE_ESCAPE; }else if( c=='"' ){ break; } j++; } jsonParseAddNode(pParse, JSON_STRING, j+1-i, &pParse->zJson[i]); if( !pParse->oom ) pParse->aNode[pParse->nNode-1].jnFlags = jnFlags; return j+1; }else if( c=='n' && strncmp(pParse->zJson+i,"null",4)==0 && !isalnum(pParse->zJson[i+4]) ){ jsonParseAddNode(pParse, JSON_NULL, 0, 0); return i+4; }else if( c=='t' |
︙ | ︙ |