Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Further improvements to /clusterlist and to /info for a cluster. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
9953b169766f74ff05e12c8c8c0eebb6 |
| User & Date: | drh 2024-12-20 19:50:25.519 |
Context
|
2024-12-20
| ||
| 21:16 | Optimize sync of long cluster chains by sending all cluster artifacts on the third client/server round-trip. check-in: 637fcef830 user: drh tags: trunk | |
| 19:50 | Further improvements to /clusterlist and to /info for a cluster. check-in: 9953b16976 user: drh tags: trunk | |
| 19:44 | Edit pass on the www/ssl-server.md to cover some of the details brought up [forum:/forumpost/94c36cf8d2 | on the forum]. This also adds fragment IDs for section heads and improves the discussion generally. check-in: f374a46337 user: wyoung tags: trunk | |
Changes
Changes to src/info.c.
| ︙ | ︙ | |||
3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 |
int i;
Blob where = BLOB_INITIALIZER;
Blob unks = BLOB_INITIALIZER;
Stmt q;
char *zSha1Bg;
char *zSha3Bg;
int badRid = 0;
int hashClr = PB("hclr");
pCluster = manifest_get(rid, CFTYPE_CLUSTER, 0);
if( pCluster==0 ){
artifact_page();
return;
}
style_header("Cluster %S", zName);
@ <p>Artifact %z(href("%R/artifact/%h",zName))%S(zName)</a> is a cluster
| > > > > > > > > > | > > > > > | 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 |
int i;
Blob where = BLOB_INITIALIZER;
Blob unks = BLOB_INITIALIZER;
Stmt q;
char *zSha1Bg;
char *zSha3Bg;
int badRid = 0;
int rcvid;
int hashClr = PB("hclr");
const char *zDate;
pCluster = manifest_get(rid, CFTYPE_CLUSTER, 0);
if( pCluster==0 ){
artifact_page();
return;
}
style_header("Cluster %S", zName);
rcvid = db_int(0, "SELECT rcvid FROM blob WHERE rid=%d", rid);
if( rcvid==0 ){
zDate = 0;
}else{
zDate = db_text(0, "SELECT datetime(mtime) FROM rcvfrom WHERE rcvid=%d",
rcvid);
}
@ <p>Artifact %z(href("%R/artifact/%h",zName))%S(zName)</a> is a cluster
@ with %d(pCluster->nCChild) entries
if( g.perm.Admin ){
@ received <a href="%R/rcvfrom?rcvid=%d(rcvid)">%h(zDate)</a>:
}else{
@ received %h(zDate):
}
blob_appendf(&where,"IN(0");
for(i=0; i<pCluster->nCChild; i++){
int rid = fast_uuid_to_rid(pCluster->azCChild[i]);
if( rid ){
blob_appendf(&where,",%d", rid);
}else{
if( blob_size(&unks)>0 ) blob_append_char(&unks, ',');
|
| ︙ | ︙ |
Changes to src/name.c.
| ︙ | ︙ | |||
1754 1755 1756 1757 1758 1759 1760 |
" ORDER BY rid DESC LIMIT 1 OFFSET %d)",n);
}else{
zRange = mprintf("BETWEEN %d AND %d", s, s+n-1);
}
describe_artifacts(zRange);
fossil_free(zRange);
db_prepare(&q,
| > | > | > < | < < < | > | < | | | < | 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 |
" ORDER BY rid DESC LIMIT 1 OFFSET %d)",n);
}else{
zRange = mprintf("BETWEEN %d AND %d", s, s+n-1);
}
describe_artifacts(zRange);
fossil_free(zRange);
db_prepare(&q,
/* 0 1 2 3 4 5 6 */
"SELECT rid, uuid, summary, isPrivate, type='phantom', ref, rcvid, "
" datetime(rcvfrom.mtime)"
" FROM description LEFT JOIN rcvfrom USING(rcvid)"
" ORDER BY rid %s",
((bRecent||bUnclst)?"DESC":"ASC")/*safe-for-%s*/
);
if( skin_detail_boolean("white-foreground") ){
zSha1Bg = "#714417";
zSha3Bg = "#177117";
}else{
zSha1Bg = "#ebffb0";
zSha3Bg = "#b0ffb0";
}
@ <table cellpadding="2" cellspacing="0" border="1">
@ <tr><th>RID<th>Hash<th>Received<th>Description<th>Ref<th>Remarks
while( db_step(&q)==SQLITE_ROW ){
int rid = db_column_int(&q,0);
const char *zUuid = db_column_text(&q, 1);
const char *zDesc = db_column_text(&q, 2);
int isPriv = db_column_int(&q,3);
int isPhantom = db_column_int(&q,4);
const char *zRef = db_column_text(&q,5);
const char *zDate = db_column_text(&q,7);
if( isPriv && !isPhantom && !g.perm.Private && !g.perm.Admin ){
/* Don't show private artifacts to users without Private (x) permission */
continue;
}
if( hashClr ){
const char *zClr = db_column_bytes(&q,1)>40 ? zSha3Bg : zSha1Bg;
@ <tr style='background-color:%s(zClr);'><td align="right">%d(rid)</td>
}else{
@ <tr><td align="right">%d(rid)</td>
}
@ <td> %z(href("%R/info/%!S",zUuid))%S(zUuid)</a> </td>
if( g.perm.Admin ){
int rcvid = db_column_int(&q, 6);
@ <td><a href='%R/rcvfrom?rcvid=%d(rcvid)'>%h(zDate)</a>
}else{
@ <td>%h(zDate)
}
@ <td align="left">%h(zDesc)</td>
if( zRef && zRef[0] ){
@ <td>%z(href("%R/info/%!S",zRef))%S(zRef)</a>
}else{
@ <td>
}
|
| ︙ | ︙ |