Differences From
Artifact [c81652b018]:
1515 1515 post: uint64
1516 1516 ): bool
1517 1517 var q = queries.post_reacts_fetch_uid.exec(src,uid,post,'like')
1518 1518 if q.sz > 0 then q:free() return true end
1519 1519 return false
1520 1520 end];
1521 1521
1522 - timeline_instance_fetch = [terra(src: &lib.store.source, rg: lib.store.range)
1522 + timeline_instance_fetch = [terra(
1523 + src: &lib.store.source,
1524 + rg: lib.store.range
1525 + ): lib.mem.lstptr(lib.store.post)
1523 1526 var r = pqr { sz = 0 }
1524 1527 var A,B,C,D = rg:matrix() -- :/
1525 1528 r = queries.timeline_instance_fetch.exec(src,A,B,C,D)
1529 +
1530 + var ret: lib.mem.ptr(lib.mem.ptr(lib.store.post)) ret:init(r.sz)
1531 + for i=0,r.sz do
1532 + ret.ptr[i] = row_to_post(&r, i) -- MUST FREE ALL
1533 + ret.ptr[i].ptr.source = src
1534 + end
1535 +
1536 + return ret
1537 + end];
1538 +
1539 + timeline_actor_fetch_uid = [terra(
1540 + src: &lib.store.source,
1541 + uid: uint64,
1542 + rg: lib.store.range
1543 + ): lib.mem.lstptr(lib.store.post)
1544 + var r = pqr { sz = 0 }
1545 + var A,B,C,D = rg:matrix() -- :/
1546 + r = queries.timeline_actor_fetch.exec(src,uid,A,B,C,D)
1526 1547
1527 1548 var ret: lib.mem.ptr(lib.mem.ptr(lib.store.post)) ret:init(r.sz)
1528 1549 for i=0,r.sz do
1529 1550 ret.ptr[i] = row_to_post(&r, i) -- MUST FREE ALL
1530 1551 ret.ptr[i].ptr.source = src
1531 1552 end
1532 1553
................................................................................
1608 1629
1609 1630 var res = queries.actor_rel_enum.exec(src,relator,relatee)
1610 1631 var recip = queries.actor_rel_enum.exec(src,relatee,relator)
1611 1632
1612 1633 if res.sz > 0 then defer res:free()
1613 1634 for i = 0, res.sz do
1614 1635 var bit = res:int(uint16, i, 0)-1
1615 - if bit < [#lib.store.relation.members] then r.rel:setbit(bit, true)
1636 + if bit < [#lib.store.relation.members] then r.rel:setbit(bit,true)
1616 1637 else lib.warn('unknown relationship type in database') end
1617 1638 end
1618 1639 end
1619 1640
1620 1641 if recip.sz > 0 then defer recip:free()
1621 1642 for i = 0, recip.sz do
1622 1643 var bit = recip:int(uint16, i, 0)-1
1623 - if bit < [#lib.store.relation.members] then r.recip:setbit(bit, true)
1644 + if bit < [#lib.store.relation.members] then r.recip:setbit(bit,true)
1624 1645 else lib.warn('unknown relationship type in database') end
1625 1646 end
1626 1647 end
1627 1648
1628 1649 return r
1629 1650 end];
1630 1651