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

Overview
Comment:Correct SQL syntax error on "fossil changes -merge" which is not supposed to display any files yet still tries to run the file query even though it says only "ORDER BY pathname" with no SELECT
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | andygoth-changes
Files: files | file ages | folders
SHA1:61da77525f0a1e3cc2e99d0eb0730b414cad3cca
User & Date: andygoth 2016-11-06 23:40:37
Context
2016-11-07
00:20
Correct SELECT to not exclude added files, i.e. files not present in the blob table Closed-Leaf check-in: 45e2e3e9 user: andygoth tags: andygoth-changes
2016-11-06
23:45
Integrate andygoth-changes for broader testing and comment. This change should be fully backward-compatible, unless of course a script depends on the help text never changing or new options never being added. All existing options and defaults should work identically to before. I had planned to update the ls command to use the same backend as changes/status, but that work will have to wait until we decide if the ls options should be redesigned. The SCAN_MTIME, SCAN_SIZE, C_MTIME, and C_SIZE flags are currently unused and can be removed, but their presence harms nothing, and they should be useful for a basis for an updated ls command, though they may need modification to address confusion between commit time, on-disk mtime, checked-in size, and on-disk size. check-in: 7c8cc2ad user: andygoth tags: trunk
23:40
Correct SQL syntax error on "fossil changes -merge" which is not supposed to display any files yet still tries to run the file query even though it says only "ORDER BY pathname" with no SELECT check-in: 61da7752 user: andygoth tags: andygoth-changes
23:35
Merge trunk check-in: 74a5873c user: andygoth tags: andygoth-changes
Changes

Changes to src/checkin.c.

117
118
119
120
121
122
123





124
125
126
127
128
129
130
...
291
292
293
294
295
296
297

298
299
300
301
302
303
304
){
  Stmt q;
  int nErr = 0;
  Blob rewrittenPathname;
  Blob sql = BLOB_INITIALIZER, where = BLOB_INITIALIZER;
  const char *zName;
  int i;






  /* Assemble the path-limiting WHERE clause, if any. */
  blob_zero(&where);
  for(i=2; i<g.argc; i++){
    Blob fname;
    file_tree_name(g.argv[i], &fname, 0, 1);
    zName = blob_str(&fname);
................................................................................
    }
    free(zFullName);
  }
  blob_reset(&rewrittenPathname);
  db_finalize(&q);

  /* If C_MERGE, put merge contributors at the end of the report. */

  if( flags & C_MERGE ){
    db_prepare(&q, "SELECT uuid, id FROM vmerge JOIN blob ON merge=rid"
                   " WHERE id<=0");
    while( db_step(&q)==SQLITE_ROW ){
      if( flags & C_COMMENT ){
        blob_append(report, "# ", 2);
      }







>
>
>
>
>







 







>







117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
...
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
){
  Stmt q;
  int nErr = 0;
  Blob rewrittenPathname;
  Blob sql = BLOB_INITIALIZER, where = BLOB_INITIALIZER;
  const char *zName;
  int i;

  /* Skip the file report if no files are requested at all. */
  if( !(flags & (C_ALL | C_EXTRA)) ){
     goto skipFiles;
  }

  /* Assemble the path-limiting WHERE clause, if any. */
  blob_zero(&where);
  for(i=2; i<g.argc; i++){
    Blob fname;
    file_tree_name(g.argv[i], &fname, 0, 1);
    zName = blob_str(&fname);
................................................................................
    }
    free(zFullName);
  }
  blob_reset(&rewrittenPathname);
  db_finalize(&q);

  /* If C_MERGE, put merge contributors at the end of the report. */
skipFiles:
  if( flags & C_MERGE ){
    db_prepare(&q, "SELECT uuid, id FROM vmerge JOIN blob ON merge=rid"
                   " WHERE id<=0");
    while( db_step(&q)==SQLITE_ROW ){
      if( flags & C_COMMENT ){
        blob_append(report, "# ", 2);
      }