[Ur] code bug

Sergey Mironov grrwlf at gmail.com
Tue Oct 1 07:17:36 EDT 2013


Hmm, that could be, but if you mean the database directive of the
*urp, then I should say that I have one:

  database dbname=App.db

I'll pull the urweb updates soon. For now I've created small project
containing the error and the copy of webapp.c. Repo is located here:

https://github.com/grwlf/urbugs/blob/master/AppMM.ur

Regards,
Sergey

2013/10/1 Adam Chlipala <adamc at csail.mit.edu>:
> On 09/30/2013 12:21 PM, Sergey Mironov wrote:
>>
>> Consider following code:
>>
>> fun noDml (q:dml) : transaction {} =
>>    e<- tryDml q;
>>    return {}
>>
>> task initialize = fn {} =>
>>    noDml (INSERT INTO page(Id, Caption) VALUES (0, "Top"));
>>    noDml (INSERT INTO page(Id, Caption) VALUES (1, "Top"));
>>    return {}
>>
>> When compiling, urweb issues the following error:
>>
>> dev:[grwlf at greyblade:~/proj/urdesign]$ LANG=C make
>> building stamp1
>> urweb -dbms sqlite  AppMM
>> /tmp/filestFy18/webapp.c:371:37: error: unknown type name 'uw_Basis_dml'
>>
>
>
> Ah, this was just a case of a bad error message.  I meant for the compiler
> to complain that you haven't used a 'database' directive to declare the
> database connection of this application, so it is not legal to use SQL
> actions.  There was a bug in the analysis for detecting when SQL is used in
> program code, and your experience with small program variants "fixing" the
> problem is just based on the particularities of that bug.  It's fixed now,
> in a changeset pushed to the public repo.



More information about the Ur mailing list