comparison src/cjrize.sml @ 338:e976b187d73a

SQL sequences
author Adam Chlipala <adamc@hcoop.net>
date Sun, 14 Sep 2008 11:02:18 -0400
parents 04ebfe929a98
children 7abb28e9d51f
comparison
equal deleted inserted replaced
337:18d5affa790d 338:e976b187d73a
386 val (e, sm) = cifyExp (e, sm) 386 val (e, sm) = cifyExp (e, sm)
387 in 387 in
388 ((L'.EDml {dml = e, prepared = NONE}, loc), sm) 388 ((L'.EDml {dml = e, prepared = NONE}, loc), sm)
389 end 389 end
390 390
391 | L.ENextval e =>
392 let
393 val (e, sm) = cifyExp (e, sm)
394 in
395 ((L'.ENextval {seq = e, prepared = NONE}, loc), sm)
396 end
397
391 398
392 fun cifyDecl ((d, loc), sm) = 399 fun cifyDecl ((d, loc), sm) =
393 case d of 400 case d of
394 L.DDatatype (x, n, xncs) => 401 L.DDatatype (x, n, xncs) =>
395 let 402 let
488 ((x, t), sm) 495 ((x, t), sm)
489 end) sm xts 496 end) sm xts
490 in 497 in
491 (SOME (L'.DTable (s, xts), loc), NONE, sm) 498 (SOME (L'.DTable (s, xts), loc), NONE, sm)
492 end 499 end
500 | L.DSequence s =>
501 (SOME (L'.DSequence s, loc), NONE, sm)
493 | L.DDatabase s => (SOME (L'.DDatabase s, loc), NONE, sm) 502 | L.DDatabase s => (SOME (L'.DDatabase s, loc), NONE, sm)
494 503
495 fun cjrize ds = 504 fun cjrize ds =
496 let 505 let
497 val (dsF, ds, ps, sm) = foldl (fn (d, (dsF, ds, ps, sm)) => 506 val (dsF, ds, ps, sm) = foldl (fn (d, (dsF, ds, ps, sm)) =>