# on-going transaction if any other statement besides # SELECT/INSERT/UPDATE/DELETE/REPLACE is seen. # # In an ORM we're really dealing with cached data, so working on top # of a system like that means that cache validity is pretty random. # # So what we do about that in this module is disabling all that hackery # by *pretending* to PySQLite that we'll work without transactions # (isolation_level=None), and then we actually take responsibility for # controlling the transaction. # # References: # http://www.sqlite.org/lockingv3.html # http://docs.python.org/lib/sqlite3-Controlling-Transactions.html # # -------------------------------------------------------------------- # Reserved words, SQLite specific # The list of reserved words here are SQLite specific. SQL92 reserved words # are registered in storm.expr, near the "Reserved words, from SQL1992" # comment. The reserved words here were taken from: # # http://www.sqlite.org/lang_keywords.html compile.add_reserved_words(""" abort after analyze attach autoincrement before conflict database detach each exclusive explain fail glob if ignore index indexed instead isnull limit notnull offset plan pragma query raise regexp reindex release rename replace row savepoint temp trigger vacuum virtual """.split())
return time(int(h), int(m), s, (f-s)*1000000) return time(int(h), int(m), int(s), 0) # -------------------------------------------------------------------- # Reserved words, MySQL specific # The list of reserved words here are MySQL specific. SQL92 reserved words # are registered in storm.expr, near the "Reserved words, from SQL1992" # comment. The reserved words here were taken from: # # http://dev.mysql.com/doc/refman/5.4/en/reserved-words.html compile.add_reserved_words(""" accessible analyze asensitive before bigint binary blob call change condition current_user database databases day_hour day_microsecond day_minute day_second delayed deterministic distinctrow div dual each elseif enclosed escaped exit explain float4 float8 force fulltext high_priority hour_microsecond hour_minute hour_second if ignore index infile inout int1 int2 int3 int4 int8 iterate keys kill leave limit linear lines load localtime localtimestamp lock long longblob longtext loop low_priority master_ssl_verify_server_cert mediumblob mediumint mediumtext middleint minute_microsecond minute_second mod modifies no_write_to_binlog optimize optionally out outfile purge range read_write reads regexp release rename repeat replace require return rlike schemas second_microsecond sensitive separator show spatial specific sql_big_result sql_calc_found_rows sql_small_result sqlexception sqlwarning ssl starting straight_join terminated tinyblob tinyint tinytext trigger undo unlock unsigned use utc_date utc_time utc_timestamp varbinary varcharacter while xor year_month zerofill """.split())