Fossil

Diff
Login

Differences From Artifact [d96d23a4ec]:

To Artifact [b72f3fbf4b]:


435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451


452
453
454
455

456
457
458
459
460
461
462
463
464
435
436
437
438
439
440
441

442
443
444
445
446
447
448


449
450
451
452
453

454
455

456
457
458
459
460
461
462







-







-
-
+
+



-
+

-







    const char *zType = find_option("type","t",1);
    Blob sql = empty_blob;
    if( zType==0 || zType[0]==0 ) zType = "*";
    if( g.argc!=4 ){
      usage("find ?--raw? ?-t|--type TYPE? ?-n|--limit #? TAGNAME");
    }
    if( fRaw ){
      int nLine = 0;
      blob_appendf(&sql,
        "SELECT blob.uuid FROM tagxref, blob"
        " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
        "   AND tagxref.tagtype>0"
        "   AND blob.rid=tagxref.rid",
        g.argv[3]
      );
      if( nFindLimit>0 ){
        blob_appendf(&sql, " LIMIT %d", nFindLimit);
      if( nFindLimit!=0 ){
        blob_appendf(&sql, " LIMIT %d", nFindLimit<0?-nFindLimit:nFindLimit);
      }
      db_prepare(&q, "%s", blob_str(&sql));
      blob_reset(&sql);
      while( db_step(&q)==SQLITE_ROW && (nFindLimit<=0 || nLine<=nFindLimit)){
      while( db_step(&q)==SQLITE_ROW){
        fossil_print("%s\n", db_column_text(&q, 0));
        nLine++;
      }
      db_finalize(&q);
    }else{
      int tagid = db_int(0, "SELECT tagid FROM tag WHERE tagname='sym-%q'",
                         g.argv[3]);
      if( tagid>0 ){
        blob_appendf(&sql,