Fossil SCM

Fix the 'describe' command to use only direct ancestors, and add a safety limit on the recursive CTE.

danield 2024-06-05 15:12 trunk
Commit 1cc2da2ee0eca4a0d6ebbcf9185e1b11e6274f9085a17ccd62b13e5e0dd4da9a
1 file changed +2
+2
--- src/info.c
+++ src/info.c
@@ -3795,13 +3795,15 @@
37953795
" UNION ALL"
37963796
" SELECT plink.pid, event.mtime, singletonTag.tagname, n+1"
37973797
" FROM ancestor, plink, event"
37983798
" LEFT JOIN singletonTag ON singletonTag.rid=plink.pid"
37993799
" WHERE plink.cid=ancestor.rid"
3800
+ " AND plink.isprim=1"
38003801
" AND event.objid=plink.pid"
38013802
" AND ancestor.tagname IS NULL"
38023803
" ORDER BY mtime DESC"
3804
+ " LIMIT 100000"
38033805
" )"
38043806
"SELECT tagname, n"
38053807
" FROM ancestor"
38063808
" WHERE tagname IS NOT NULL"
38073809
" ORDER BY n LIMIT 1;",
38083810
--- src/info.c
+++ src/info.c
@@ -3795,13 +3795,15 @@
3795 " UNION ALL"
3796 " SELECT plink.pid, event.mtime, singletonTag.tagname, n+1"
3797 " FROM ancestor, plink, event"
3798 " LEFT JOIN singletonTag ON singletonTag.rid=plink.pid"
3799 " WHERE plink.cid=ancestor.rid"
 
3800 " AND event.objid=plink.pid"
3801 " AND ancestor.tagname IS NULL"
3802 " ORDER BY mtime DESC"
 
3803 " )"
3804 "SELECT tagname, n"
3805 " FROM ancestor"
3806 " WHERE tagname IS NOT NULL"
3807 " ORDER BY n LIMIT 1;",
3808
--- src/info.c
+++ src/info.c
@@ -3795,13 +3795,15 @@
3795 " UNION ALL"
3796 " SELECT plink.pid, event.mtime, singletonTag.tagname, n+1"
3797 " FROM ancestor, plink, event"
3798 " LEFT JOIN singletonTag ON singletonTag.rid=plink.pid"
3799 " WHERE plink.cid=ancestor.rid"
3800 " AND plink.isprim=1"
3801 " AND event.objid=plink.pid"
3802 " AND ancestor.tagname IS NULL"
3803 " ORDER BY mtime DESC"
3804 " LIMIT 100000"
3805 " )"
3806 "SELECT tagname, n"
3807 " FROM ancestor"
3808 " WHERE tagname IS NOT NULL"
3809 " ORDER BY n LIMIT 1;",
3810

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button