Seite 1 von 1

[erledigt] SQLite und PRAGMA table_info() - Bug?

Verfasst: Dienstag 28. Februar 2006, 10:40
von jens

Code: Alles auswählen

class test:
    def __init__(self):
        from pysqlite2 import dbapi2 as dbapi
        self.conn = dbapi.connect(":memory:")
        self.cursor = self.conn.cursor()

db = test()

db.cursor.execute("""CREATE TABLE TestTable (
    id INT( 11 ) NOT NULL,
    data1 VARCHAR( 50 ) NOT NULL,
    PRIMARY KEY ( id )
);""")

db.conn.commit()

db.cursor.execute("PRAGMA table_info(TestTable);")
db.conn.commit()
print "1:", db.cursor.fetchall()
print "2:", db.cursor.fetchall()

db.cursor.execute("PRAGMA table_info(TestTable);")
db.conn.commit()
print "3:", db.cursor.fetchall()

db.cursor.execute("PRAGMA table_info(TestTable);")
db.conn.commit()
print "4:", db.cursor.fetchall()

db.cursor.execute("PRAGMA table_info(TestTable);")
db.conn.commit()
print "5:", db.cursor.fetchall()

db.cursor.execute("PRAGMA table_info(TestTable);")
db.conn.commit()
print "6:", db.cursor.fetchall()
Meine Ausgaben:
1: [(0, u'id', u'INT( 11 )', 99, None, 1), (1, u'data1', u'VARCHAR( 50 )', 99, None, 0)]
2: []
3: []
4: [(0, u'id', u'INT( 11 )', 99, None, 1), (1, u'data1', u'VARCHAR( 50 )', 99, None, 0)]
5: []
6: [(0, u'id', u'INT( 11 )', 99, None, 1), (1, u'data1', u'VARCHAR( 50 )', 99, None, 0)]
Das bei Punkt 2 nur ein [] kommt ist ja normal... Das es generell aber nur bei jedem zweiten Aufruf funktioniert, finde ich aber sehr merkwürdig.

Jemand eine Idee?

Verfasst: Dienstag 28. Februar 2006, 10:43
von jens
Ha! Gerade mal mit Linux testetet und damit läuft es einwandfrei... Unter XP kommt es zu diesem Fehlerverhalten... Komisch...

Verfasst: Dienstag 28. Februar 2006, 10:48
von jens
Erledigt... Ich hab es einfach mal neu installiert und siehe da, es geht nun! Dennoch komisch! :?