X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=scripts%2Fstatev_sql.py;h=b8b2bab52ace9fcf559ffb470671cfd60f863617;hb=41fac672b8f412b67e502dff0f9b03af6ceaef73;hp=97fb0ca9d392385ca603b821e24651bf944c48ef;hpb=032d138be3c1f850c1fea771dabcffade5716e33;p=libfirm diff --git a/scripts/statev_sql.py b/scripts/statev_sql.py index 97fb0ca9d..b8b2bab52 100755 --- a/scripts/statev_sql.py +++ b/scripts/statev_sql.py @@ -21,7 +21,7 @@ class EmitBase: for x in cols.iterkeys(): sorted[cols[x]] = x for x in sorted: - create += (', %s %s' % (x, type)) + create += (", '%s' %s" % (x, type)) create += ');' return create @@ -71,8 +71,10 @@ class EmitMysqlInfile(EmitBase): c = self.conn.cursor() c.execute('drop table if exists ' + self.evtab) c.execute('drop table if exists ' + self.ctxtab) - c.execute(self.create_table(self.ctxcols, self.ctxtab, 'char(80)', 'unique')) - c.execute(self.create_table(self.evcols, self.evtab, 'double default null', '')) + table_ctx = self.create_table(self.ctxcols, self.ctxtab, 'char(80)', 'unique') + c.execute(table_ctx) + table_ev = self.create_table(self.evcols, self.evtab, 'double default null', '') + c.execute(table_ev) self.conn.commit() if options.verbose: @@ -130,8 +132,12 @@ class EmitSqlite3(EmitBase): self.ctxtab = tables['ctx'] self.evtab = tables['ev'] self.conn = sqlite3.connect(options.database) - self.conn.execute(self.create_table(ctxcols, self.ctxtab, 'text', 'unique')) - self.conn.execute(self.create_table(evcols, self.evtab, 'double', '')) + table_ctx = self.create_table(ctxcols, self.ctxtab, 'text', 'unique') + self.conn.execute(table_ctx) + self.conn.execute("CREATE INDEX IF NOT EXISTS ctxindex ON ctx(id)") + table_ev = self.create_table(evcols, self.evtab, 'double', '') + self.conn.execute(table_ev) + self.conn.execute("CREATE INDEX IF NOT EXISTS evindex ON ev(id)") n = max(len(ctxcols), len(evcols)) + 1 q = ['?'] @@ -141,13 +147,29 @@ class EmitSqlite3(EmitBase): q.append('?') def ev(self, curr_id, evitems): - keys = ','.join(evitems.keys()) - stmt = 'insert into %s (id, %s) values (%s)' % (self.evtab, keys, self.quests[len(evitems)]) + keys = "" + first = True + for key in evitems.keys(): + if first: + first = False + else: + keys += ", " + keys += "'%s'" % (key) + + stmt = "insert into '%s' (id, %s) values (%s)" % (self.evtab, keys, self.quests[len(evitems)]) self.conn.execute(stmt, (curr_id,) + tuple(evitems.values())) def ctx(self, curr_id, ctxitems): - keys = ','.join(ctxitems.keys()) - stmt = 'insert into %s (id, %s) values (%s)' % (self.ctxtab, keys, self.quests[len(ctxitems)]) + keys = "" + first = True + for key in ctxitems.keys(): + if first: + first = False + else: + keys += ", " + keys += "'%s'" % (key) + + stmt = "insert into '%s' (id, %s) values (%s)" % (self.ctxtab, keys, self.quests[len(ctxitems)]) self.conn.execute(stmt, (curr_id,) + tuple(ctxitems.values())) def commit(self):