/ Check-in [ee53b460]
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 | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:ee53b46011852e27db23708387fe1e918cc8284c
User & Date: drh 2015-04-09 19:39:54
Context
2015-04-10
07:55
Do not allow virtual table constructors to be called recursively. check-in: 0a72726d user: dan tags: trunk
2015-04-09
19:39
Fix incorrect column names in UPDATE statements generated by the sqldiff utility. check-in: ee53b460 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: 5063f907 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs 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";