@@ -1591,10 +1591,11 @@
1591 1591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tagId = db_int(0, "SELECT tagid FROM tag WHERE tagname='sym-%q'", zEnd);
1592 1592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( tagId==0 ){
1593 1593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
endId = symbolic_name_to_rid(zEnd, "ci");
1594 1594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( endId==0 ) return 0;
1595 1595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_pause_dml_log();
1596 1597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bForward ){
1597 1598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( tagId ){
1598 1599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_prepare(&q,
1599 1600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"WITH RECURSIVE dx(id,mtime) AS ("
1600 1601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" SELECT %d, event.mtime FROM event WHERE objid=%d"
@@ -1658,10 +1659,11 @@
1658 1659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1659 1660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( db_step(&q)==SQLITE_ROW ){
1660 1661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ans = db_column_int(&q, 0);
1661 1662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1662 1663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
1664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_unpause_dml_log();
1663 1665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return ans;
1664 1666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1665 1667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1666 1668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1667 1669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** COMMAND: test-endpoint
@@ -1862,14 +1864,17 @@
1862 1864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int advancedMenu = 0; /* Use the advanced menu design */
1863 1865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zPlural; /* Ending for plural forms */
1864 1866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int showCherrypicks = 1; /* True to show cherrypick merges */
1865 1867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int haveParameterN; /* True if n= query parameter present */
1866 1868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int from_to_mode = 0; /* 0: from,to. 1: from,ft 2: from,bt */
1869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int showSql = PB("showsql"); /* True to show the SQL */
1870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob allSql; /* Copy of all SQL text */
1867 1871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1868 1872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_check_credentials();
1869 1873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
url_initialize(&url, "timeline");
1870 1874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_query_parameters_to_url(&url);
1875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_init(&allSql, 0, 0);
1871 1876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1872 1877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(void)P_NoBot("ss")
1873 1878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* "ss" is processed via the udc but at least one spider likes to
1874 1879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** try to SQL inject via this argument, so let's catch that. */;
1875 1880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -2082,10 +2087,11 @@
2082 2087 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2083 2088 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( PB("nc") ){
2084 2089 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tmFlags &= ~(TIMELINE_DELTA|TIMELINE_BRCOLOR|TIMELINE_UCOLOR);
2085 2090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tmFlags |= TIMELINE_NOCOLOR;
2086 2091 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2092 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( showSql ) db_append_dml_to_blob(&allSql);
2087 2093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zUses!=0 ){
2088 2094 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int ufid = db_int(0, "SELECT rid FROM blob WHERE uuid GLOB '%q*'", zUses);
2089 2095 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( ufid ){
2090 2096 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zUses = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", ufid);
2091 2097 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("CREATE TEMP TABLE usesfile(rid INTEGER PRIMARY KEY)");
@@ -2099,42 +2105,42 @@
2099 2105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2100 2106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( renameOnly ){
2101 2107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2102 2108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"CREATE TEMP TABLE rnfile(rid INTEGER PRIMARY KEY);"
2103 2109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO rnfile"
2104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " SELECT mid FROM mlink WHERE pfnid>0 AND pfnid!=fnid;"
2110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT mid FROM mlink WHERE pfnid>0 AND pfnid!=fnid;"
2105 2111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2106 2112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
disableY = 1;
2107 2113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2108 2114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( forkOnly ){
2109 2115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2110 2116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"CREATE TEMP TABLE rnfork(rid INTEGER PRIMARY KEY);\n"
2111 2117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO rnfork(rid)\n"
2112 2118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" SELECT pid FROM plink\n"
2113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE (SELECT value FROM tagxref WHERE tagid=%d AND rid=cid)=="
2114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " (SELECT value FROM tagxref WHERE tagid=%d AND rid=pid)\n"
2115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " GROUP BY pid"
2119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE (SELECT value FROM tagxref WHERE tagid=%d AND rid=cid)==\n"
2120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " (SELECT value FROM tagxref WHERE tagid=%d AND rid=pid)\n"
2121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " GROUP BY pid\n"
2116 2122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" HAVING count(*)>1;\n"
2117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "INSERT OR IGNORE INTO rnfork(rid)"
2123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "INSERT OR IGNORE INTO rnfork(rid)\n"
2118 2124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" SELECT cid FROM plink\n"
2119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE (SELECT value FROM tagxref WHERE tagid=%d AND rid=cid)=="
2120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " (SELECT value FROM tagxref WHERE tagid=%d AND rid=pid)\n"
2121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " GROUP BY cid"
2125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE (SELECT value FROM tagxref WHERE tagid=%d AND rid=cid)==\n"
2126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " (SELECT value FROM tagxref WHERE tagid=%d AND rid=pid)\n"
2127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " GROUP BY cid\n"
2122 2128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" HAVING count(*)>1;\n",
2123 2129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
TAG_BRANCH, TAG_BRANCH, TAG_BRANCH, TAG_BRANCH
2124 2130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2125 2131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2126 2132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO rnfork(rid)\n"
2127 2133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" SELECT cid FROM plink\n"
2128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE pid IN rnfork"
2129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND (SELECT value FROM tagxref WHERE tagid=%d AND rid=cid)=="
2130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " (SELECT value FROM tagxref WHERE tagid=%d AND rid=pid)\n"
2131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " UNION "
2134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE pid IN rnfork\n"
2135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND (SELECT value FROM tagxref WHERE tagid=%d AND rid=cid)==\n"
2136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " (SELECT value FROM tagxref WHERE tagid=%d AND rid=pid)\n"
2137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " UNION\n"
2132 2138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" SELECT pid FROM plink\n"
2133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE cid IN rnfork"
2134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND (SELECT value FROM tagxref WHERE tagid=%d AND rid=cid)=="
2135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " (SELECT value FROM tagxref WHERE tagid=%d AND rid=pid)\n",
2139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE cid IN rnfork\n"
2140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND (SELECT value FROM tagxref WHERE tagid=%d AND rid=cid)==\n"
2141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " (SELECT value FROM tagxref WHERE tagid=%d AND rid=pid)\n",
2136 2142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
TAG_BRANCH, TAG_BRANCH, TAG_BRANCH, TAG_BRANCH
2137 2143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2138 2144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tmFlags |= TIMELINE_UNHIDE;
2139 2145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zType = "ci";
2140 2146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
disableY = 1;
@@ -2239,45 +2245,52 @@
2239 2245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
laterRid = you_rid;
2240 2246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2241 2247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2242 2248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&ins, 0, 0);
2243 2249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "CREATE TABLE IF NOT EXISTS temp.pathnode(x INTEGER PRIMARY KEY);"
2250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "CREATE TEMP TABLE IF NOT EXISTS pathnode(x INTEGER PRIMARY KEY);"
2245 2251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2246 2252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( p ){
2253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int cnt = 4;
2247 2254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&ins, 0, 0);
2248 2255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&ins, "INSERT INTO pathnode(x) VALUES(%d)", p->rid);
2249 2256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p = p->u.pTo;
2250 2257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( p ){
2251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append_sql(&ins, ",(%d)", p->rid);
2258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( cnt==8 ){
2259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&ins, ",\n (%d)", p->rid);
2260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cnt = 0;
2261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
2262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cnt++;
2263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&ins, ",(%d)", p->rid);
2264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2252 2265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p = p->u.pTo;
2253 2266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2254 2267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2255 2268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
path_reset();
2256 2269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("%s", blob_str(&ins)/*safe-for-%s*/);
2257 2270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&ins);
2258 2271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( related || P("mionly") ){
2259 2272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "CREATE TABLE IF NOT EXISTS temp.related(x INTEGER PRIMARY KEY);"
2273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "CREATE TEMP TABLE IF NOT EXISTS related(x INTEGER PRIMARY KEY);"
2261 2274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO related(x)"
2262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " SELECT pid FROM plink WHERE cid IN pathnode AND NOT isprim;"
2275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT pid FROM plink WHERE cid IN pathnode AND NOT isprim;"
2263 2276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2264 2277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( P("mionly")==0 ){
2265 2278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2266 2279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO related(x)"
2267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " SELECT cid FROM plink WHERE pid IN pathnode;"
2280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT cid FROM plink WHERE pid IN pathnode;"
2268 2281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2269 2282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2270 2283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( showCherrypicks ){
2271 2284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2272 2285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO related(x)"
2273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " SELECT parentid FROM cherrypick WHERE childid IN pathnode;"
2286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT parentid FROM cherrypick WHERE childid IN pathnode;"
2274 2287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2275 2288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( P("mionly")==0 ){
2276 2289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2277 2290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO related(x)"
2278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " SELECT childid FROM cherrypick WHERE parentid IN pathnode;"
2291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT childid FROM cherrypick WHERE parentid IN pathnode;"
2279 2292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2280 2293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2281 2294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2282 2295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("INSERT OR IGNORE INTO pathnode SELECT x FROM related");
2283 2296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( earlierRid && laterRid && commonAncs==earlierRid ){
@@ -2363,11 +2376,10 @@
2363 2376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCiName = zDPName;
2364 2377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zCiName==0 ) zCiName = zUuid;
2365 2378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&sql, " AND event.objid IN ok");
2366 2379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nd = 0;
2367 2380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( d_rid ){
2368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Stmt s;
2369 2381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
double rStopTime = 9e99;
2370 2382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFwdTo = P("ft");
2371 2383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zFwdTo ){
2372 2384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
double rStartDate = db_double(0.0,
2373 2385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT mtime FROM event WHERE objid=%d", d_rid);
@@ -2379,27 +2391,25 @@
2379 2391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !haveParameterN ) nEntry = 0;
2380 2392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rStopTime = db_double(9e99,
2381 2393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT mtime FROM event WHERE objid=%d", ridFwdTo);
2382 2394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2383 2395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&s,
2385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "WITH RECURSIVE"
2386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " dx(rid,mtime) AS ("
2387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " SELECT %d, 0"
2388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " UNION"
2389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " SELECT plink.cid, plink.mtime FROM dx, plink"
2390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE plink.pid=dx.rid"
2391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND (:stop>=8e99 OR plink.mtime<=:stop)"
2392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " ORDER BY 2"
2393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " )"
2396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rStopTime<9e99 ){
2397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rStopTime += 5.8e-6; /* Round up by 1/2 second */
2398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_multi_exec(
2400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "WITH RECURSIVE dx(rid,mtime) AS (\n"
2401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT %d, 0\n"
2402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " UNION\n"
2403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT plink.cid, plink.mtime FROM dx, plink\n"
2404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE plink.pid=dx.rid\n"
2405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND plink.mtime<=%.*g\n"
2406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " ORDER BY 2\n"
2407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ")\n"
2394 2408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO ok SELECT rid FROM dx LIMIT %d",
2395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d_rid, nEntry<=0 ? -1 : nEntry+1
2409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ d_rid, rStopTime<8e99 ? 17 : 2, rStopTime, nEntry<=0 ? -1 : nEntry+1
2396 2410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_bind_double(&s, ":stop", rStopTime);
2398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_step(&s);
2399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_finalize(&s);
2400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* compute_descendants(d_rid, nEntry==0 ? 0 : nEntry+1); */
2401 2411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nd = db_int(0, "SELECT count(*)-1 FROM ok");
2402 2412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nd>=0 ) db_multi_exec("%s", blob_sql_text(&sql));
2403 2413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nd>0 || p_rid==0 ){
2404 2414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&desc, "%d descendant%s", nd,(1==nd)?"":"s");
2405 2415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -2508,28 +2518,28 @@
2508 2518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zChng && *zChng ){
2509 2519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
addFileGlobExclusion(zChng, &cond);
2510 2520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tmFlags |= TIMELINE_XMERGE;
2511 2521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2512 2522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zUses ){
2513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append_sql(&cond, " AND event.objid IN usesfile ");
2523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&cond, " AND event.objid IN usesfile\n");
2514 2524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2515 2525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( renameOnly ){
2516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append_sql(&cond, " AND event.objid IN rnfile ");
2526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&cond, " AND event.objid IN rnfile\n");
2517 2527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2518 2528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( forkOnly ){
2519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append_sql(&cond, " AND event.objid IN rnfork ");
2529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&cond, " AND event.objid IN rnfork\n");
2520 2530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2521 2531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( cpOnly && showCherrypicks ){
2522 2532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2523 2533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"CREATE TEMP TABLE IF NOT EXISTS cpnodes(rid INTEGER PRIMARY KEY);"
2524 2534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO cpnodes SELECT childid FROM cherrypick;"
2525 2535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO cpnodes SELECT parentid FROM cherrypick;"
2526 2536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append_sql(&cond, " AND event.objid IN cpnodes ");
2537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&cond, " AND event.objid IN cpnodes\n");
2528 2538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2529 2539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bisectLocal || zBisect!=0 ){
2530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append_sql(&cond, " AND event.objid IN (SELECT rid FROM bilog) ");
2540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&cond, " AND event.objid IN (SELECT rid FROM bilog)\n");
2531 2541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2532 2542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zYearMonth ){
2533 2543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zNext;
2534 2544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zYearMonth = timeline_expand_datetime(zYearMonth);
2535 2545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strlen(zYearMonth)>7 ){
@@ -2878,13 +2888,10 @@
2878 2888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&sql2,
2879 2889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" AND event.mtime>=%f ORDER BY event.mtime ASC", rCirca);
2880 2890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nEntry>0 ){
2881 2891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2);
2882 2892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( PB("showsql") ){
2884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <pre>%h(blob_sql_text(&sql2))</pre>
2885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2886 2893 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("%s", blob_sql_text(&sql2));
2887 2894 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nEntry>0 ){
2888 2895 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nEntry -= db_int(0,"select count(*) from timeline");
2889 2896 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nEntry<=0 ) nEntry = 1;
2890 2897 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -3035,12 +3042,14 @@
3035 3042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_submenu_multichoice("ms", count(azMatchStyles)/2,azMatchStyles,0);
3036 3043 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
3037 3044 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
3038 3045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&cond);
3039 3046 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
3040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( PB("showsql") ){
3041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <pre>%h(blob_sql_text(&sql))</pre>
3047 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( showSql ){
3048 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_append_dml_to_blob(0);
3049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <pre>%h(blob_str(&allSql))</pre>
3050 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&allSql);
3042 3051 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
3043 3052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( search_restrict(SRCH_CKIN)!=0 ){
3044 3053 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_submenu_element("Search", "%R/search?y=c");
3045 3054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
3046 3055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( advancedMenu ){
3047 3056 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!