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
|
bdb.execute(''' |
|
CREATE GENERATOR g0 FOR satellites USING cgpm ( |
|
apogee NORMAL, |
|
LATENT kepler_cluster_id NUMERICAL, |
|
LATENT kepler_noise NUMERICAL, |
|
MODEL kepler_cluster_id, kepler_noise, period |
|
GIVEN apogee, perigee |
|
USING venturescript (source = "{}"), |
|
MODEL perigee GIVEN apogee USING linreg, |
|
MODEL class_of_orbit GIVEN apogee, period, perigee |
|
USING forest (k = 4), |
|
SUBSAMPLE 100, |
|
) |
|
'''.format(kepler_source)) |
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.
Currently we do not distinguish
from
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
as we kludgily do in
bayeslite/tests/test_vscgpm.py
Lines 166 to 179 in f3f27a5
"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 doand get the same intended effect reliably.