Rename definitions db column to cedict_definitions

This commit is contained in:
Marvin Elsen 2024-10-07 18:08:43 +02:00
parent c7bd51408a
commit 2c11a3563f
Signed by: marvinelsen
GPG Key ID: 820672408CC318C2
2 changed files with 25 additions and 9 deletions

View File

@ -29,7 +29,9 @@ fun main() {
zhuyin TEXT NOT NULL, zhuyin TEXT NOT NULL,
searchable_pinyin TEXT NOT NULL, searchable_pinyin TEXT NOT NULL,
searchable_pinyin_with_tone_numbers TEXT NOT NULL, searchable_pinyin_with_tone_numbers TEXT NOT NULL,
definitions JSON NOT NULL, cedict_definitions JSON NOT NULL,
lac_definitions JSON NOT NULL,
moe_definitions JSON NOT NULL,
character_count INTEGER NOT NULL, character_count INTEGER NOT NULL,
CONSTRAINT character_count_gte CHECK(character_count > 0) CONSTRAINT character_count_gte CHECK(character_count > 0)
); );
@ -51,7 +53,7 @@ fun main() {
val insertStatement = val insertStatement =
connection.prepareStatement( connection.prepareStatement(
"INSERT OR IGNORE INTO cedict(traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, searchable_pinyin, searchable_pinyin_with_tone_numbers, definitions, character_count) VALUES(?,?,?,?,?,?,?,?,?)" "INSERT OR IGNORE INTO cedict(traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, searchable_pinyin, searchable_pinyin_with_tone_numbers, cedict_definitions, lac_definitions, moe_definitions, character_count) VALUES(?,?,?,?,?,?,?,?,?,?,?)"
) )
for (entry in cedictEntries) { for (entry in cedictEntries) {
try { try {
@ -101,7 +103,21 @@ fun main() {
entry.definitions.map { it.glosses } entry.definitions.map { it.glosses }
) )
) )
insertStatement.setInt(9, entry.traditional.length) insertStatement.setString(
9,
Json.encodeToString(
ListSerializer(String.serializer()),
emptyList()
)
)
insertStatement.setString(
10,
Json.encodeToString(
ListSerializer(String.serializer()),
emptyList()
)
)
insertStatement.setInt(11, entry.traditional.length)
} catch (_: Exception) { } catch (_: Exception) {
// no-op // no-op
} }

View File

@ -27,7 +27,7 @@ class SqliteDictionary(private val connection: Connection) : Dictionary {
private val searchSimplifiedPreparedStatement: PreparedStatement by lazy { private val searchSimplifiedPreparedStatement: PreparedStatement by lazy {
connection.prepareStatement( connection.prepareStatement(
""" """
SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, definitions SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, cedict_definitions
FROM cedict FROM cedict
WHERE simplified GLOB ? WHERE simplified GLOB ?
ORDER BY character_count ASC ORDER BY character_count ASC
@ -38,7 +38,7 @@ class SqliteDictionary(private val connection: Connection) : Dictionary {
private val searchTraditionalPreparedStatement: PreparedStatement by lazy { private val searchTraditionalPreparedStatement: PreparedStatement by lazy {
connection.prepareStatement( connection.prepareStatement(
""" """
SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, definitions SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, cedict_definitions
FROM cedict FROM cedict
WHERE traditional GLOB ? WHERE traditional GLOB ?
ORDER BY character_count ASC ORDER BY character_count ASC
@ -49,7 +49,7 @@ class SqliteDictionary(private val connection: Connection) : Dictionary {
private val searchPinyinPreparedStatement: PreparedStatement by lazy { private val searchPinyinPreparedStatement: PreparedStatement by lazy {
connection.prepareStatement( connection.prepareStatement(
""" """
SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, definitions SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, cedict_definitions
FROM cedict FROM cedict
WHERE searchable_pinyin GLOB ? WHERE searchable_pinyin GLOB ?
OR searchable_pinyin_with_tone_numbers GLOB ? OR searchable_pinyin_with_tone_numbers GLOB ?
@ -60,7 +60,7 @@ class SqliteDictionary(private val connection: Connection) : Dictionary {
private val searchSegments = """ private val searchSegments = """
WITH cte(id, segment) AS (VALUES ?) WITH cte(id, segment) AS (VALUES ?)
SELECT cedict.traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, definitions SELECT cedict.traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, cedict_definitions
FROM cedict INNER JOIN cte FROM cedict INNER JOIN cte
ON cte.segment = cedict.traditional OR cte.segment = cedict.simplified ON cte.segment = cedict.traditional OR cte.segment = cedict.simplified
ORDER BY cte.id ORDER BY cte.id
@ -69,7 +69,7 @@ class SqliteDictionary(private val connection: Connection) : Dictionary {
private val findWordsContaining: PreparedStatement by lazy { private val findWordsContaining: PreparedStatement by lazy {
connection.prepareStatement( connection.prepareStatement(
""" """
SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, definitions SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, cedict_definitions
FROM cedict FROM cedict
WHERE traditional LIKE ? WHERE traditional LIKE ?
ORDER BY character_count ASC ORDER BY character_count ASC
@ -79,7 +79,7 @@ class SqliteDictionary(private val connection: Connection) : Dictionary {
private val findCharacters = """ private val findCharacters = """
WITH cte(id, character) AS (VALUES ?) WITH cte(id, character) AS (VALUES ?)
SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, definitions SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, cedict_definitions
FROM cedict INNER JOIN cte FROM cedict INNER JOIN cte
ON cte.character = cedict.traditional OR cte.character = cedict.simplified ON cte.character = cedict.traditional OR cte.character = cedict.simplified
ORDER BY cte.id ORDER BY cte.id