Skip to content

Commit 31c2a8c

Browse files
Pass analysis program through to metamodels.
1 parent 2aa8640 commit 31c2a8c

File tree

5 files changed

+22
-5
lines changed

5 files changed

+22
-5
lines changed

src/bql.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,8 @@ def execute_phrase(bdb, phrase, bindings=()):
460460
iterations=phrase.iterations,
461461
max_seconds=phrase.seconds,
462462
ckpt_iterations=phrase.ckpt_iterations,
463-
ckpt_seconds=phrase.ckpt_seconds)
463+
ckpt_seconds=phrase.ckpt_seconds,
464+
program=phrase.program)
464465
return empty_cursor(bdb)
465466

466467
if isinstance(phrase, ast.DropModels):

src/metamodel.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,8 @@ def drop_models(self, bdb, generator_id, modelnos=None):
151151
raise NotImplementedError
152152

153153
def analyze_models(self, bdb, generator_id, modelnos=None, iterations=1,
154-
max_seconds=None, ckpt_iterations=None, ckpt_seconds=None):
154+
max_seconds=None, ckpt_iterations=None, ckpt_seconds=None,
155+
program=None):
155156
"""Analyze the specified model numbers of a generator.
156157
157158
If none are specified, analyze all of them.
@@ -163,6 +164,7 @@ def analyze_models(self, bdb, generator_id, modelnos=None, iterations=1,
163164
results of analysis to the database
164165
:param int ckpt_seconds: number of seconds before committing results of
165166
anlaysis to the database
167+
:param object program: None, or list of tokens of analysis program
166168
"""
167169
raise NotImplementedError
168170

src/metamodels/cgpm_metamodel.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,12 +246,16 @@ def drop_models(self, bdb, generator_id, modelnos=None):
246246
del cache.engine[generator_id]
247247

248248
def analyze_models(self, bdb, generator_id, modelnos=None, iterations=1,
249-
max_seconds=None, ckpt_iterations=None, ckpt_seconds=None):
249+
max_seconds=None, ckpt_iterations=None, ckpt_seconds=None,
250+
program=None):
250251
assert modelnos is None
251252

252253
if ckpt_iterations is not None or ckpt_seconds is not None:
253254
# XXX
254255
raise NotImplementedError('cgpm analysis checkpoint')
256+
if program is not None:
257+
# XXX
258+
raise NotImplementedError('cgpm analysis programs')
255259

256260
# Get the engine.
257261
engine = self._engine(bdb, generator_id)

src/metamodels/crosscat.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -864,7 +864,12 @@ def drop_models(self, bdb, generator_id, modelnos=None):
864864
del cc_cache.thetas[generator_id]
865865

866866
def analyze_models(self, bdb, generator_id, modelnos=None, iterations=1,
867-
max_seconds=None, ckpt_iterations=None, ckpt_seconds=None):
867+
max_seconds=None, ckpt_iterations=None, ckpt_seconds=None,
868+
program=None):
869+
if program is not None:
870+
# XXX
871+
raise NotImplementedError('crosscat analysis programs')
872+
868873
# XXX What about a schema change or insert in the middle of
869874
# analysis?
870875
M_c = self._crosscat_metadata(bdb, generator_id)

src/metamodels/nig_normal.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,12 @@ def drop_models(self, bdb, generator_id, modelnos=None):
158158
bdb.sql_execute(delete_models_sql, (generator_id, modelno))
159159

160160
def analyze_models(self, bdb, generator_id, modelnos=None, iterations=1,
161-
max_seconds=None, ckpt_iterations=None, ckpt_seconds=None):
161+
max_seconds=None, ckpt_iterations=None, ckpt_seconds=None,
162+
program=None):
163+
if program is not None:
164+
# XXX
165+
raise NotImplementedError('nig_normal analysis programs')
166+
162167
# Ignore analysis timing control, because one step reaches the
163168
# posterior anyway.
164169
# NOTE: Does not update the model iteration count. This would

0 commit comments

Comments
 (0)