<div dir="ltr">Hey<div><br></div><div>Mojca you said once that you have lot to comment on the current database.</div><div>So it would be great if you could do that.</div><div>As today is the last day of Community bonding period.</div><div>From tommorrow coding starts.</div><div><br></div><div>Thanks</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 12 May 2018 at 23:14, Mojca Miklavec <span dir="ltr"><<a href="mailto:mojca@macports.org" target="_blank">mojca@macports.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Vishnu,<br>
<br>
Sorry for being slightly out-of-sync (sending emails I wrote quite a<br>
while ago and in the meantime no longer being up-to-date with other<br>
responses).<br>
<span class=""><br>
On 12 May 2018 at 17:26, Vishnu wrote:<br>
> Hi<br>
><br>
> "The PortIndex file itself is generated with the 'portindex' command,<br>
> which only updates the data for Portfiles that have a modification time<br>
> that is newer than the existing PortIndex file."<br>
><br>
> So where can i see that code that checks the modification time?<br>
<br>
</span><a href="https://github.com/macports/macports-base/blob/master/src/port/portindex.tcl" rel="noreferrer" target="_blank">https://github.com/macports/<wbr>macports-base/blob/master/src/<wbr>port/portindex.tcl</a><br>
<span class=""><br>
> So suppose<br>
> Our ports tree contains three ports A, B, C last modified time : 1:00 UTC<br>
> present port index:<br>
> [ A<br>
> B<br>
> C<br>
> ] @ 1:00 UTC<br>
><br>
> There was a edit in Port A @ 1:30 UTC<br>
> so something will check all the port files modification time and if<br>
> relatively newer it will update the port index.<br>
><br>
> so new port index:<br>
> [ A<br>
> B<br>
> C<br>
> ] @ 1:30 UTC<br>
><br>
><br>
> "The portindex2postgres.sql script merely converts the PortIndex file<br>
> from the custom format based on Tcl lists to SQL. The output will always<br>
> contain SQL statements with the full data for every port."<br>
><br>
> Then after the port index is updated this script runs and flushes the db<br>
> then fills it with new portindex data?<br>
> or just updates the db with the modified port data?<br>
<br>
</span>I don't know the answer without looking at it first (you can check<br>
what the code does yourself), but from the perspective of your app<br>
development this is irrelevant.<br>
<span class=""><br>
> So after every commit the entire 15mb portindex being processed and data<br>
> being uploaded to the db.<br>
> I think this is very inefficient.<br>
> rather it would be best if after every commit the buildbot/ webhook updates<br>
> the database itself.<br>
<br>
</span>I totally agree that it might make a lot more sense to submit just<br>
differential data, but my suggestion would be to first implement the<br>
functionality and optimise it at the end if there will be time. No<br>
user will suffer from suboptimal data transfer (even if that database<br>
only gets updated once per day, it will still be perfectly<br>
acceptable), while nobody will benefit from spending a lot of time<br>
figuring out how to properly implement a super efficient solution and<br>
then running out of time to actually finish the app.<br>
<br>
Let's just work with what we have for now.<br>
<span class="HOEnZb"><font color="#888888"><br>
Mojca<br>
</font></span></blockquote></div><br></div>