probcomp/bayeslite

pass query parameters through to metamodel syntax

Open

#446 aberto em 12 de jul. de 2016

Ver no GitHub
 (0 comments) (0 reactions) (0 assignees)Python (63 forks)batch import
help wantedk days

Métricas do repositório

Stars
 (915 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

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.

Guia do colaborador