SQLite

Check-in [ee53b46011]
Login

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

Overview
Comment:Fix incorrect column names in UPDATE statements generated by the sqldiff utility.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ee53b46011852e27db23708387fe1e918cc8284c
User & Date: drh 2015-04-09 19:39:54.853
Context
2015-04-10
07:55
Do not allow virtual table constructors to be called recursively. (check-in: 0a72726da2 user: dan tags: trunk)
2015-04-09
19:39
Fix incorrect column names in UPDATE statements generated by the sqldiff utility. (check-in: ee53b46011 user: drh tags: trunk)
18:14
Add the --primarykey option to the sqldiff tool, which causes it to use the schema-defined PRIMARY KEY. (check-in: 5063f9070a user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to tool/sqldiff.c.
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
      int iType = sqlite3_column_int(pStmt, nPk);
      if( iType==1 || iType==2 ){
        if( iType==1 ){       /* Change the content of a row */
          printf("UPDATE %s", zId);
          zSep = " SET";
          for(i=nPk+1; i<nQ; i+=2){
            if( sqlite3_column_int(pStmt,i)==0 ) continue;
            printf("%s %s=", zSep, az2[(i-1)/2]);
            zSep = ",";
            printQuoted(sqlite3_column_value(pStmt,i+1));
          }
        }else{                /* Delete a row */
          printf("DELETE FROM %s", zId);
        }
        zSep = " WHERE";







|







654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
      int iType = sqlite3_column_int(pStmt, nPk);
      if( iType==1 || iType==2 ){
        if( iType==1 ){       /* Change the content of a row */
          printf("UPDATE %s", zId);
          zSep = " SET";
          for(i=nPk+1; i<nQ; i+=2){
            if( sqlite3_column_int(pStmt,i)==0 ) continue;
            printf("%s %s=", zSep, az2[(i+nPk-1)/2]);
            zSep = ",";
            printQuoted(sqlite3_column_value(pStmt,i+1));
          }
        }else{                /* Delete a row */
          printf("DELETE FROM %s", zId);
        }
        zSep = " WHERE";