<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>I'm not familiar with a standard database feature to allow that
mode, but it sounds like you are referencing an extra annotation
on constraints. Somehow this situation has only come up once in
the 10+ years of Ur/Web's existence, and it's never been an issue
for my own Ur/Web apps.<br>
</p>
<div class="moz-cite-prefix">On 04/02/2017 10:10 AM, Marko Schütz
Schmuck wrote:<br>
</div>
<blockquote cite="mid:87efxauchp.wl-MarkoSchuetz@gmail.com"
type="cite">
<pre wrap="">On Sun, 02 Apr 2017 09:02:15 -0400,
Adam Chlipala wrote:
</pre>
<blockquote type="cite">
<pre wrap="">
Actually, Ur/Web won't even accept those table definitions: no mutually recursive
definitions yet, w.r.t. constraints. And I haven't thought before about allowing
temporary breaking of constraints.
</pre>
</blockquote>
<pre wrap="">
"Constraints hold after every statement" -> "Constraints hold after
every transaction"?
</pre>
<blockquote type="cite">
<pre wrap="">On 04/02/2017 08:35 AM, Marko Schütz Schmuck wrote:
</pre>
<blockquote type="cite">
<pre wrap="">If I have tables
table chicken : { Id : int, Egg : int }
PRIMARY KEY (Id),
CONSTRAINT egg FOREIGN KEY Egg REFERENCES egg(Id)
table egg : { Id : int, Chicken : int }
PRIMARY KEY (Id),
CONSTRAINT chicken FOREIGN KEY Chicken REFERENCES chicken(Id)
Outside of Ur/Web this would be solved by setting the constraints
DEFERRABLE INITIALLY DEFERRED and do the INSERTs pairwise inside a
single transaction.
I doubt that there currently is a way to do this in Ur/Web since there
is neither a way to specify DEFERRABLE INITIALLY DEFERRED nor a way to
explicitly form transactions.
Would it be enough to introduce an operator
dml_sequence : dml -> dml -> dml
allowing two dml statements to be composed and run in a single
transaction together with exposing DEFERRABLE INITIALLY DEFERRED at
the Ur/Web language level?
Best regards,
Marko
</pre>
</blockquote>
<pre wrap="">
_______________________________________________
Ur mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Ur@impredicative.com">Ur@impredicative.com</a>
<a class="moz-txt-link-freetext" href="http://www.impredicative.com/cgi-bin/mailman/listinfo/ur">http://www.impredicative.com/cgi-bin/mailman/listinfo/ur</a>
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Ur mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Ur@impredicative.com">Ur@impredicative.com</a>
<a class="moz-txt-link-freetext" href="http://www.impredicative.com/cgi-bin/mailman/listinfo/ur">http://www.impredicative.com/cgi-bin/mailman/listinfo/ur</a>
</pre>
</blockquote>
</blockquote>
<br>
</body>
</html>