You're right that there are currently no type-class instances for
storing XML in the SQL database. At the moment, I can't remember any
good reasons for not adding an instance for all [xml] types. I'll plan
to do it, if no one adds a counterargument here in the next few days!
On 11/02/2017 03:59 PM, Peter Brottveit Bock wrote:
Hi,
It seems to me that it's not possible to store xml in a database. Is there any
reason for this?
My understanding of ur/web is that the xml data type is—under the hood—simply a
string. I therefore would have thought it would be trivial to store it in a
database.
As a minimal example:
------------------
table db : { Elem : xbody }
fun display_db () =
queryX (SELECT * FROM db)
(fn row => row.Db.Elem)
fun add_to_db (x : xbody) : transaction unit =
dml (INSERT INTO db(Elem) VALUES ({[x]}))
fun main () =
add_to_db <xml> Hello </xml>;
display_db ()
------------------
fails with
------------------
example.ur:5:38: (to 5:43) Can't resolve type class instance
Class constraint:
sql_injectable (xml ([Dyn = (), MakeForm = (), Body = ()]) ([]) ([]))
Reduced to unresolvable:
sql_injectable_prim
(xml ([Dyn = (), MakeForm = (), Body = ()]) ([]) ([]))
------------------
— Peter
_______________________________________________
Ur mailing list
Ur@impredicative.com
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur