witten
/
luminotes
Archived
1
0
Fork 0

"release" is a reserved keyword in newer versions of sqlite, so put it in quotes.

This commit is contained in:
Dan Helfman 2009-02-23 16:55:07 -08:00
parent 8003ae4107
commit 53c26c6037
3 changed files with 9 additions and 6 deletions

4
NEWS
View File

@ -1,5 +1,7 @@
1.6.8: ?
*
* Fixed a compatibility problem with newer versions of SQLite. (Luminotes
was using a reserved keyword as an identifier.) This only affected those
people who installed Luminotes Server themselves.
1.6.7: February 23, 2009
* When you export your notebook as an HTML or CSV file, the saved filename is

View File

@ -98,7 +98,8 @@ class Schema_upgrader:
database.rollback()
schema_version = default_version or ( 1, 5, 4 )
database.execute( "create table schema_version ( major numeric, minor numeric, release numeric );", commit = False );
# "release" is a reserved keyword in newer versions of sqlite, so put it in quotes
database.execute( "create table schema_version ( major numeric, minor numeric, \"release\" numeric );", commit = False );
database.execute( "insert into schema_version values ( %s, %s, %s );" % schema_version, commit = False );
return schema_version
@ -123,7 +124,7 @@ class Schema_upgrader:
# http://oss.itsystementwicklung.de/download/pysqlite/doc/sqlite3.html#sqlite3-controlling-transactions
self.__database.execute_script( self.__read_file( filename ), commit = False )
self.__database.execute( "update schema_version set major = %s, minor = %s, release = %s;" % version, commit = False );
self.__database.execute( "update schema_version set major = %s, minor = %s, \"release\" = %s;" % version, commit = False );
self.__database.commit()
@staticmethod

View File

@ -60,12 +60,12 @@ class Test_schema_upgrader( object ):
assert result == [ ( 5, 7, 11 ) ];
def test_upgrade_schema_with_schema_version_table( self ):
self.database.execute( u"create table schema_version ( major numeric, minor numeric, release numeric );" );
self.database.execute( u"create table schema_version ( major numeric, minor numeric, \"release\" numeric );" );
self.database.execute( u"insert into schema_version values ( 0, 0, 0 );" )
self.test_upgrade_schema();
def test_upgrade_schema_with_schema_version_table_and_specific_starting_version( self ):
self.database.execute( u"create table schema_version ( major numeric, minor numeric, release numeric );" );
self.database.execute( u"create table schema_version ( major numeric, minor numeric, \"release\" numeric );" );
self.database.execute( u"insert into schema_version values ( 5, 6, 6 );" )
self.fake_files[ u"model/delta/5.6.1.sqlite" ] = u"this is not valid sql and should not be executed anyway;";
@ -120,7 +120,7 @@ class Test_schema_upgrader( object ):
assert result == [ ( 1, 5, 6 ) ];
def test_apply_schema_delta( self ):
self.database.execute( u"create table schema_version ( major numeric, minor numeric, release numeric );" );
self.database.execute( u"create table schema_version ( major numeric, minor numeric, \"release\" numeric );" );
self.database.execute( u"insert into schema_version values ( 0, 0, 0 );" )
self.fake_files = {