From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada package registry? Date: Tue, 9 Feb 2016 09:50:56 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <02241ec4-0f95-4f63-9abc-092f167eb59e@googlegroups.com> <56af17b7$0$301$14726298@news.sunsite.dk> <56b06eb8$0$301$14726298@news.sunsite.dk> <1454483747.2785.135.camel@obry.net> NNTP-Posting-Host: bqgfK7NL3xTHnr0WRaLl4g.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:29455 Date: 2016-02-09T09:50:56+01:00 List-Id: On 09/02/2016 00:02, Randy Brukardt wrote: > "Dmitry A. Kazakov" wrote in message > news:n94cbv$19ed$1@gioia.aioe.org... >> For persistence layer you need dereference primitive operations. One for >> read access in order to cache data and one write access to mark the cache >> dirty. > > The first is the function call (to Reference, if you're looking at the Ada > containers), and the second is the Finalize call that happens when the > object returned from Reference goes away. That was the whole point of the > design. (Of course, you could have written that in Ada 95, but without the > syntactic sugar that makes it easier to read and write.) It is not same. A reference points to a proxy object, a cached copy of the external object in the persistent storage. When the proxy object is updated via any reference, it must be marked dirty. So that when the object at some point gets finalized or the transaction is committed it would be written back to the storage. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de