[darcs-users] Patch language for a database?
Jason Dagit
dagit at codersbase.com
Mon Jun 1 17:49:11 UTC 2009
On Mon, Jun 1, 2009 at 10:31 AM, Maurício <briqueabraque at yahoo.com> wrote:
> Hi,
>
> If this doesn't make sense, please forgive my lack of technical
> knowledge and just forget this message, but...
>
> Common databases use SQL, which is supposed to be based on
> (an incomplete version of, I've been told) relational algebra.
>
> Since darcs has a well defined patch algebra, could we have
> some kind of big bag of patches that could be queried using
> a patch algebra based language? Instead of repositories,
> we (users and providers) would have one (or many, of course)
> big patch database and query it for patches, dependencies,
> changesets or even complex combinatorial operations (that
> providers could restrict to avoid cpu overflow). I belive
> this could even simplify implementation and be faster for
> some simple operations than darcs.
>
> I don't have a good idea on how such language could be,
> though...
I've thought about similar things. What would a common query look like?
You might want to know when two patch sets have a common ancestor for
example. Darcs the implementation stores patch context information
implicitly. This makes it hard to construct such queries from a "big bag of
patches". You could fix this by changing context to be explicit. Next, I
think there is not a clear way to make this work for determining patch
dependencies and whatnot, but that is only because I didn't spend enough
time on it yet :) Overall, I like the idea of turning version control into
a standard thing with various implementations. If creating a language
analogous to SQL is the trick to doing this, then we should do it.
I think this idea would work well for meta data and I think some of the
recent work with various cache types are ad-hoc database (really indexes)
implementations as the need arises. Should these be one database with a
nice schema and carefully indexed tables? Perhaps. SQLite would probably
be a very efficient way for us to store all our meta data in one place with
fast querying.
I would encourage people to play with this. I strongly believe that darcs
should be a playground for people who want to do research into distributed
version control.
Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20090601/4bd4e182/attachment.htm>
More information about the darcs-users
mailing list