Skip to content

Commit 7eb1dba

Browse files
Split up some idioms that outgrew their list comprehensions.
1 parent c3ce585 commit 7eb1dba

File tree

2 files changed

+23
-30
lines changed

2 files changed

+23
-30
lines changed

src/bql.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -147,25 +147,22 @@ def execute_phrase(bdb, phrase, bindings=()):
147147
assert len(cursor) == 1
148148
nsamples = cursor[0][0]
149149
assert isinstance(nsamples, int)
150-
constraints = [
151-
(core.bayesdb_variable_number(bdb, population_id, generator_id,
152-
var),
153-
value)
154-
for (var, _expression), value in
155-
zip(phrase.simulation.constraints, cursor[0][1:])
156-
]
157-
colnos = [
158-
core.bayesdb_variable_number(bdb, population_id, generator_id,
159-
var)
160-
for var in column_names
161-
]
150+
def map_var(var):
151+
return core.bayesdb_variable_number(bdb, population_id,
152+
generator_id, var)
153+
def map_constraint(((var, _expression), value)):
154+
return (map_var(var), value)
155+
constraints = map(map_constraint,
156+
zip(phrase.simulation.constraints, cursor[0][1:]))
157+
colnos = map(map_var, column_names)
158+
schema = ','.join('%s %s' %
159+
(qcn, column_sqltypes[casefold(column_name)])
160+
for qcn, column_name in zip(qcns, column_names))
162161
bdb.sql_execute('CREATE %sTABLE %s%s (%s)' %
163162
('TEMP ' if phrase.temp else '',
164163
'IF NOT EXISTS ' if phrase.ifnotexists else '',
165164
qn,
166-
','.join('%s %s' %
167-
(qcn, column_sqltypes[casefold(column_name)])
168-
for qcn, column_name in zip(qcns, column_names))))
165+
schema))
169166
insert_sql = '''
170167
INSERT INTO %s (%s) VALUES (%s)
171168
''' % (qn, ','.join(qcns), ','.join('?' for qcn in qcns))

src/compiler.py

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -637,22 +637,18 @@ def compile_simulate(bdb, simulate, out):
637637
assert len(cursor) == 1
638638
nsamples = cursor[0][0]
639639
assert isinstance(nsamples, int)
640+
def map_var(var):
641+
return core.bayesdb_variable_number(bdb, population_id,
642+
generator_id, var)
643+
def map_constraint(((var, _expression), value)):
644+
return (map_var(var), value)
640645
constraints = \
641-
[(core.bayesdb_variable_number(bdb, population_id, generator_id,
642-
name),
643-
value)
644-
for (name, _expression), value in
645-
zip(simulate.constraints, cursor[0][1:])]
646-
colnos = \
647-
[core.bayesdb_variable_number(bdb, population_id, generator_id,
648-
name)
649-
for name in column_names]
650-
out.winder('CREATE TEMP TABLE %s (%s)' %
651-
(qtt,
652-
','.join('%s %s' %
653-
(qcn, column_sqltypes[casefold(column_name)])
654-
for qcn, column_name in zip(qcns, column_names))),
655-
())
646+
map(map_constraint, zip(simulate.constraints, cursor[0][1:]))
647+
colnos = map(map_var, column_names)
648+
schema = ','.join('%s %s' %
649+
(qcn, column_sqltypes[casefold(column_name)])
650+
for qcn, column_name in zip(qcns, column_names))
651+
out.winder('CREATE TEMP TABLE %s (%s)' % (qtt, schema), ())
656652
insert_sql = '''
657653
INSERT INTO %s (%s) VALUES (%s)
658654
''' % (qtt, ','.join(qcns), ','.join('?' for qcn in qcns))

0 commit comments

Comments
 (0)