probcomp/bayeslite

pass query parameters through to metamodel syntax

Open

#446 opened on 2016年7月12日

GitHub で見る
 (0 comments) (0 reactions) (0 assignees)Python (915 stars) (63 forks)batch import
help wantedk days

説明

Currently we do not distinguish

CREATE GENERATOR g FOR p USING m ("foo")

from

CREATE GENERATOR g FOR p USING m ('foo')

which is not at the moment blocking anything (hence the stall of #410), but which may be worth fixing soon. Furthermore, passing a verbatim string through, e.g. to provide the source code in

CREATE GENERATOR g FOR p USING cgpm (
    MODEL x GIVEN y USING venturescript (source = 'assume x = 42; ...')
)

as we kludgily do in https://github.com/probcomp/bayeslite/blob/f3f27a584286a4f3f3a415a7935da6ea78bd9824/tests/test_vscgpm.py#L166-L179 with Python string formatting, is not easy to do reliably. That fragment just assumes no " appears in the VentureScript code, and abuses "..." quotation, which in SQL means names, with '...' meaning strings. No quotation should be necessary on the user's part -- it should be possible to do

bdb.execute('CREATE GENERATOR ... USING venturescript (source = ?) ...', (venturescript,))

and get the same intended effect reliably.

コントリビューターガイド