/ Changes On Branch simplify
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch simplify Excluding Merge-Ins

This is equivalent to a diff from e9e6000bd2 to a863729ccb

2016-02-15
18:02
Minor code simplifications. (check-in: c3b38efd50 user: drh tags: trunk)
2016-02-11
15:37
Add JSON1 and FTS5 to the set of extensions subject to close compiler warning analysis. Fix some warnings in each. More (harmless) warnings still exist in FTS5. (check-in: cfe2eb88b5 user: drh tags: trunk)
13:30
Minor simplifications deferred to the next release. (Closed-Leaf check-in: a863729ccb user: drh tags: simplify)
2016-02-10
21:45
In the MSVC makefile, include the working directory so that it can pickup build generated files (e.g. sqlite3.h, etc). (check-in: e9e6000bd2 user: mistachkin tags: trunk)
19:10
Add testcase() macros to the CHECK constraint avoidance logic. Avoid creating an unused VDBE label during CHECK constraint code generation. (check-in: 970881befd user: drh tags: trunk)

Changes to src/build.c.

706
707
708
709
710
711
712
713
714
715
716

717
718
719
720
721
722
723
724
725
706
707
708
709
710
711
712

713


714


715
716
717
718
719
720
721







-

-
-
+
-
-







** function returns the index of the named database in db->aDb[], or
** -1 if the named db cannot be found.
*/
int sqlite3FindDbName(sqlite3 *db, const char *zName){
  int i = -1;         /* Database number */
  if( zName ){
    Db *pDb;
    int n = sqlite3Strlen30(zName);
    for(i=(db->nDb-1), pDb=&db->aDb[i]; i>=0; i--, pDb--){
      if( (!OMIT_TEMPDB || i!=1 ) && n==sqlite3Strlen30(pDb->zName) && 
          0==sqlite3StrICmp(pDb->zName, zName) ){
      if( 0==sqlite3StrICmp(pDb->zName, zName) ) break;
        break;
      }
    }
  }
  return i;
}

/*
** The token *pName contains the name of a database (either "main" or
3233
3234
3235
3236
3237
3238
3239
3240

3241
3242
3243
3244
3245
3246
3247
3229
3230
3231
3232
3233
3234
3235

3236
3237
3238
3239
3240
3241
3242
3243







-
+







      for(k=0; k<pIdx->nKeyCol; k++){
        const char *z1;
        const char *z2;
        assert( pIdx->aiColumn[k]>=0 );
        if( pIdx->aiColumn[k]!=pIndex->aiColumn[k] ) break;
        z1 = pIdx->azColl[k];
        z2 = pIndex->azColl[k];
        if( z1!=z2 && sqlite3StrICmp(z1, z2) ) break;
        if( sqlite3StrICmp(z1, z2) ) break;
      }
      if( k==pIdx->nKeyCol ){
        if( pIdx->onError!=pIndex->onError ){
          /* This constraint creates the same index as a previous
          ** constraint specified somewhere in the CREATE TABLE statement.
          ** However the ON CONFLICT clauses are different. If both this 
          ** constraint and the previous equivalent constraint have explicit