summaryrefslogtreecommitdiffstats
path: root/partialword.py
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2013-01-18 13:03:23 +0800
committerPeng Wu <alexepico@gmail.com>2013-01-18 13:03:23 +0800
commit32dbf024db28d6f550c1422fd0208403c998b3a6 (patch)
tree16582c8ceb93caf6651cf8bb41e0be64304ef2d5 /partialword.py
parentddf1253172d6c3ba7144f145b145f611c245cd15 (diff)
downloadtrainer-32dbf024db28d6f550c1422fd0208403c998b3a6.tar.gz
trainer-32dbf024db28d6f550c1422fd0208403c998b3a6.tar.xz
trainer-32dbf024db28d6f550c1422fd0208403c998b3a6.zip
write sql
Diffstat (limited to 'partialword.py')
-rw-r--r--partialword.py42
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 ?;
+'''