diff options
author | Peng Wu <alexepico@gmail.com> | 2013-01-18 13:03:23 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2013-01-18 13:03:23 +0800 |
commit | 32dbf024db28d6f550c1422fd0208403c998b3a6 (patch) | |
tree | 16582c8ceb93caf6651cf8bb41e0be64304ef2d5 /partialword.py | |
parent | ddf1253172d6c3ba7144f145b145f611c245cd15 (diff) | |
download | trainer-32dbf024db28d6f550c1422fd0208403c998b3a6.tar.gz trainer-32dbf024db28d6f550c1422fd0208403c998b3a6.tar.xz trainer-32dbf024db28d6f550c1422fd0208403c998b3a6.zip |
write sql
Diffstat (limited to 'partialword.py')
-rw-r--r-- | partialword.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/partialword.py b/partialword.py new file mode 100644 index 0000000..54ea0e0 --- /dev/null +++ b/partialword.py @@ -0,0 +1,42 @@ +#!/usr/bin/python3 +import os +import os.path +import sqlite3 + + +SELECT_PARTIAL_WORD_DML = ''' +SELECT words, freq FROM ngram WHERE freq > ?; +''' + +#try insert first +INSERT_LOW_NGRAM_DML = ''' +INSERT INTO ngram (words, freq) VALUES (?, ?); +''' + +UPDATE_LOW_NGRAM_DML = ''' +UPDATE ngram SET freq = freq + ? WHERE words = ?; +''' + +#try delete last +DELETE_HIGH_NGRAM_DML = ''' +DELETE FROM ngram WHERE words = ?; +''' +#assert rowcount <= 1 + + +#sqlite full text search section +CREATE_NGRAM_FTS_DDL = ''' +CREATE VIRTUAL TABLE ngram_fts USING fts3 (words TEXT NOT NULL, freq INTEGER NOT NULL); +''' + +POPULATE_NGRAM_FTS_DML = ''' +INSERT INTO ngram_fts (words, freq) SELECT words, freq FROM ngram; +''' + +DROP_NGRAM_FTS_DML = ''' +DROP TABLE IF EXISTS ngram_fts; +''' + +SELECT_MERGE_HIGH_NGRAM_DML = ''' +SELECT words, freq FROM ngram_fts WHERE words MATCH ?; +''' |