Compare commits
1 Commits
main
...
kanji-read
| Author | SHA1 | Date | |
|---|---|---|---|
|
781e650f0b
|
@@ -39,6 +39,7 @@ CREATE TABLE "JMdict_Entry" (
|
|||||||
-- KanjiElement
|
-- KanjiElement
|
||||||
|
|
||||||
CREATE TABLE "JMdict_KanjiElement" (
|
CREATE TABLE "JMdict_KanjiElement" (
|
||||||
|
"elementId" INTEGER PRIMARY KEY,
|
||||||
"entryId" INTEGER NOT NULL REFERENCES "JMdict_Entry"("entryId"),
|
"entryId" INTEGER NOT NULL REFERENCES "JMdict_Entry"("entryId"),
|
||||||
"orderNum" INTEGER NOT NULL,
|
"orderNum" INTEGER NOT NULL,
|
||||||
"reading" TEXT NOT NULL,
|
"reading" TEXT NOT NULL,
|
||||||
@@ -47,7 +48,7 @@ CREATE TABLE "JMdict_KanjiElement" (
|
|||||||
"spec" INTEGER CHECK ("spec" BETWEEN 1 AND 2),
|
"spec" INTEGER CHECK ("spec" BETWEEN 1 AND 2),
|
||||||
"gai" INTEGER CHECK ("gai" BETWEEN 1 AND 2),
|
"gai" INTEGER CHECK ("gai" BETWEEN 1 AND 2),
|
||||||
"nf" INTEGER CHECK ("nf" BETWEEN 1 AND 48),
|
"nf" INTEGER CHECK ("nf" BETWEEN 1 AND 48),
|
||||||
PRIMARY KEY ("entryId", "reading"),
|
UNIQUE("entryId", "reading"),
|
||||||
UNIQUE("entryId", "orderNum")
|
UNIQUE("entryId", "orderNum")
|
||||||
) WITHOUT ROWID;
|
) WITHOUT ROWID;
|
||||||
|
|
||||||
@@ -55,17 +56,15 @@ CREATE INDEX "JMdict_KanjiElement_byEntryId_byOrderNum" ON "JMdict_KanjiElement"
|
|||||||
CREATE INDEX "JMdict_KanjiElement_byReading" ON "JMdict_KanjiElement"("reading");
|
CREATE INDEX "JMdict_KanjiElement_byReading" ON "JMdict_KanjiElement"("reading");
|
||||||
|
|
||||||
CREATE TABLE "JMdict_KanjiElementInfo" (
|
CREATE TABLE "JMdict_KanjiElementInfo" (
|
||||||
"entryId" INTEGER NOT NULL,
|
"elementId" INTEGER NOT NULL REFERENCES "JMdict_KanjiElement"("elementId"),
|
||||||
"reading" TEXT NOT NULL,
|
|
||||||
"info" TEXT NOT NULL REFERENCES "JMdict_InfoKanji"("id"),
|
"info" TEXT NOT NULL REFERENCES "JMdict_InfoKanji"("id"),
|
||||||
FOREIGN KEY ("entryId", "reading")
|
PRIMARY KEY ("elementId", "info")
|
||||||
REFERENCES "JMdict_KanjiElement"("entryId", "reading"),
|
|
||||||
PRIMARY KEY ("entryId", "reading", "info")
|
|
||||||
) WITHOUT ROWID;
|
) WITHOUT ROWID;
|
||||||
|
|
||||||
-- ReadingElement
|
-- ReadingElement
|
||||||
|
|
||||||
CREATE TABLE "JMdict_ReadingElement" (
|
CREATE TABLE "JMdict_ReadingElement" (
|
||||||
|
"elementId" INTEGER PRIMARY KEY,
|
||||||
"entryId" INTEGER NOT NULL REFERENCES "JMdict_Entry"("entryId"),
|
"entryId" INTEGER NOT NULL REFERENCES "JMdict_Entry"("entryId"),
|
||||||
"orderNum" INTEGER NOT NULL,
|
"orderNum" INTEGER NOT NULL,
|
||||||
"reading" TEXT NOT NULL,
|
"reading" TEXT NOT NULL,
|
||||||
@@ -75,7 +74,7 @@ CREATE TABLE "JMdict_ReadingElement" (
|
|||||||
"spec" INTEGER CHECK ("spec" BETWEEN 1 AND 2),
|
"spec" INTEGER CHECK ("spec" BETWEEN 1 AND 2),
|
||||||
"gai" INTEGER CHECK ("gai" BETWEEN 1 AND 2),
|
"gai" INTEGER CHECK ("gai" BETWEEN 1 AND 2),
|
||||||
"nf" INTEGER CHECK ("nf" BETWEEN 1 AND 48),
|
"nf" INTEGER CHECK ("nf" BETWEEN 1 AND 48),
|
||||||
PRIMARY KEY ("entryId", "reading"),
|
UNIQUE("entryId", "reading"),
|
||||||
UNIQUE("entryId", "orderNum")
|
UNIQUE("entryId", "orderNum")
|
||||||
) WITHOUT ROWID;
|
) WITHOUT ROWID;
|
||||||
|
|
||||||
@@ -83,21 +82,15 @@ CREATE INDEX "JMdict_ReadingElement_byEntryId_byOrderNum" ON "JMdict_ReadingElem
|
|||||||
CREATE INDEX "JMdict_ReadingElement_byReading" ON "JMdict_ReadingElement"("reading");
|
CREATE INDEX "JMdict_ReadingElement_byReading" ON "JMdict_ReadingElement"("reading");
|
||||||
|
|
||||||
CREATE TABLE "JMdict_ReadingElementRestriction" (
|
CREATE TABLE "JMdict_ReadingElementRestriction" (
|
||||||
"entryId" INTEGER NOT NULL,
|
"elementId" INTEGER NOT NULL REFERENCES "JMdict_ReadingElement"("elementId"),
|
||||||
"reading" TEXT NOT NULL,
|
|
||||||
"restriction" TEXT NOT NULL,
|
"restriction" TEXT NOT NULL,
|
||||||
FOREIGN KEY ("entryId", "reading")
|
PRIMARY KEY ("elementId", "restriction")
|
||||||
REFERENCES "JMdict_ReadingElement"("entryId", "reading"),
|
|
||||||
PRIMARY KEY ("entryId", "reading", "restriction")
|
|
||||||
) WITHOUT ROWID;
|
) WITHOUT ROWID;
|
||||||
|
|
||||||
CREATE TABLE "JMdict_ReadingElementInfo" (
|
CREATE TABLE "JMdict_ReadingElementInfo" (
|
||||||
"entryId" INTEGER NOT NULL,
|
"elementId" INTEGER NOT NULL REFERENCES "JMdict_ReadingElement"("elementId"),
|
||||||
"reading" TEXT NOT NULL,
|
|
||||||
"info" TEXT NOT NULL REFERENCES "JMdict_InfoReading"("id"),
|
"info" TEXT NOT NULL REFERENCES "JMdict_InfoReading"("id"),
|
||||||
FOREIGN KEY ("entryId", "reading")
|
PRIMARY KEY ("elementId", "info")
|
||||||
REFERENCES "JMdict_ReadingElement"("entryId", "reading"),
|
|
||||||
PRIMARY KEY ("entryId", "reading", "info")
|
|
||||||
) WITHOUT ROWID;
|
) WITHOUT ROWID;
|
||||||
|
|
||||||
-- Sense
|
-- Sense
|
||||||
|
|||||||
@@ -1,55 +1,55 @@
|
|||||||
CREATE VIRTUAL TABLE "JMdict_KanjiElementFTS" USING FTS5("entryId" UNINDEXED, "reading");
|
CREATE VIRTUAL TABLE "JMdict_KanjiElementFTS" USING FTS5("elementId" UNINDEXED, "reading");
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_KanjiElement_InsertFTS"
|
CREATE TRIGGER "JMdict_KanjiElement_InsertFTS"
|
||||||
AFTER INSERT ON "JMdict_KanjiElement"
|
AFTER INSERT ON "JMdict_KanjiElement"
|
||||||
BEGIN
|
BEGIN
|
||||||
INSERT INTO "JMdict_KanjiElementFTS"("entryId", "reading")
|
INSERT INTO "JMdict_KanjiElementFTS"("elementId", "reading")
|
||||||
VALUES (NEW."entryId", NEW."reading");
|
VALUES (NEW."elementId", NEW."reading");
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_KanjiElement_UpdateFTS"
|
CREATE TRIGGER "JMdict_KanjiElement_UpdateFTS"
|
||||||
AFTER UPDATE OF "entryId", "reading"
|
AFTER UPDATE OF "elementId", "reading"
|
||||||
ON "JMdict_KanjiElement"
|
ON "JMdict_KanjiElement"
|
||||||
BEGIN
|
BEGIN
|
||||||
UPDATE "JMdict_KanjiElementFTS"
|
UPDATE "JMdict_KanjiElementFTS"
|
||||||
SET
|
SET
|
||||||
"entryId" = NEW."entryId",
|
"elementId" = NEW."elementId",
|
||||||
"reading" = NEW."reading"
|
"reading" = NEW."reading"
|
||||||
WHERE "entryId" = OLD."entryId";
|
WHERE "elementId" = OLD."elementId";
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_KanjiElement_DeleteFTS"
|
CREATE TRIGGER "JMdict_KanjiElement_DeleteFTS"
|
||||||
AFTER DELETE ON "JMdict_KanjiElement"
|
AFTER DELETE ON "JMdict_KanjiElement"
|
||||||
BEGIN
|
BEGIN
|
||||||
DELETE FROM "JMdict_KanjiElementFTS"
|
DELETE FROM "JMdict_KanjiElementFTS"
|
||||||
WHERE "entryId" = OLD."entryId";
|
WHERE "elementId" = OLD."elementId";
|
||||||
END;
|
END;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CREATE VIRTUAL TABLE "JMdict_ReadingElementFTS" USING FTS5("entryId" UNINDEXED, "reading");
|
CREATE VIRTUAL TABLE "JMdict_ReadingElementFTS" USING FTS5("elementId" UNINDEXED, "reading");
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_ReadingElement_InsertFTS"
|
CREATE TRIGGER "JMdict_ReadingElement_InsertFTS"
|
||||||
AFTER INSERT ON "JMdict_ReadingElement"
|
AFTER INSERT ON "JMdict_ReadingElement"
|
||||||
BEGIN
|
BEGIN
|
||||||
INSERT INTO "JMdict_ReadingElementFTS"("entryId", "reading")
|
INSERT INTO "JMdict_ReadingElementFTS"("elementId", "reading")
|
||||||
VALUES (NEW."entryId", NEW."reading");
|
VALUES (NEW."elementId", NEW."reading");
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_ReadingElement_UpdateFTS"
|
CREATE TRIGGER "JMdict_ReadingElement_UpdateFTS"
|
||||||
AFTER UPDATE OF "entryId", "reading"
|
AFTER UPDATE OF "elementId", "reading"
|
||||||
ON "JMdict_ReadingElement"
|
ON "JMdict_ReadingElement"
|
||||||
BEGIN
|
BEGIN
|
||||||
UPDATE "JMdict_ReadingElementFTS"
|
UPDATE "JMdict_ReadingElementFTS"
|
||||||
SET
|
SET
|
||||||
"entryId" = NEW."entryId",
|
"elementId" = NEW."elementId",
|
||||||
"reading" = NEW."reading"
|
"reading" = NEW."reading"
|
||||||
WHERE "entryId" = OLD."entryId";
|
WHERE "elementId" = OLD."elementId";
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_ReadingElement_DeleteFTS"
|
CREATE TRIGGER "JMdict_ReadingElement_DeleteFTS"
|
||||||
AFTER DELETE ON "JMdict_ReadingElement"
|
AFTER DELETE ON "JMdict_ReadingElement"
|
||||||
BEGIN
|
BEGIN
|
||||||
DELETE FROM "JMdict_ReadingElementFTS"
|
DELETE FROM "JMdict_ReadingElementFTS"
|
||||||
WHERE "entryId" = OLD."entryId";
|
WHERE "elementId" = OLD."elementId";
|
||||||
END;
|
END;
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
CREATE TABLE "JMdict_EntryScore" (
|
CREATE TABLE "JMdict_EntryScore" (
|
||||||
"type" TEXT NOT NULL CHECK ("type" IN ('reading', 'kanji')),
|
"type" TEXT NOT NULL CHECK ("type" IN ('reading', 'kanji')),
|
||||||
"entryId" INTEGER NOT NULL,
|
"elementId" INTEGER NOT NULL,
|
||||||
"reading" TEXT NOT NULL,
|
|
||||||
"score" INTEGER NOT NULL DEFAULT 0,
|
"score" INTEGER NOT NULL DEFAULT 0,
|
||||||
"common" BOOLEAN NOT NULL DEFAULT FALSE,
|
"common" BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
PRIMARY KEY ("type", "entryId", "reading")
|
PRIMARY KEY ("type", "elementId")
|
||||||
) WITHOUT ROWID;
|
) WITHOUT ROWID;
|
||||||
|
|
||||||
CREATE INDEX "JMdict_EntryScore_byEntryId_byReading_byScore" ON "JMdict_EntryScore"("entryId", "reading", "score");
|
CREATE INDEX "JMdict_EntryScore_byElementId_byScore" ON "JMdict_EntryScore"("elementId", "score");
|
||||||
CREATE INDEX "JMdict_EntryScore_byScore" ON "JMdict_EntryScore"("score");
|
CREATE INDEX "JMdict_EntryScore_byScore" ON "JMdict_EntryScore"("score");
|
||||||
CREATE INDEX "JMdict_EntryScore_byCommon" ON "JMdict_EntryScore"("common");
|
CREATE INDEX "JMdict_EntryScore_byCommon" ON "JMdict_EntryScore"("common");
|
||||||
|
|
||||||
CREATE INDEX "JMdict_EntryScore_byType_byEntryId_byReading_byScore" ON "JMdict_EntryScore"("type", "entryId", "reading", "score");
|
CREATE INDEX "JMdict_EntryScore_byType_byElementId_byScore" ON "JMdict_EntryScore"("type", "elementId", "score");
|
||||||
CREATE INDEX "JMdict_EntryScore_byType_byScore" ON "JMdict_EntryScore"("type", "score");
|
CREATE INDEX "JMdict_EntryScore_byType_byScore" ON "JMdict_EntryScore"("type", "score");
|
||||||
CREATE INDEX "JMdict_EntryScore_byType_byCommon" ON "JMdict_EntryScore"("type", "common");
|
CREATE INDEX "JMdict_EntryScore_byType_byCommon" ON "JMdict_EntryScore"("type", "common");
|
||||||
|
|
||||||
@@ -21,8 +20,7 @@ CREATE INDEX "JMdict_EntryScore_byType_byCommon" ON "JMdict_EntryScore"("type",
|
|||||||
CREATE VIEW "JMdict_EntryScoreView_Reading" AS
|
CREATE VIEW "JMdict_EntryScoreView_Reading" AS
|
||||||
SELECT
|
SELECT
|
||||||
'reading' AS "type",
|
'reading' AS "type",
|
||||||
"JMdict_ReadingElement"."entryId",
|
"JMdict_ReadingElement"."elementId",
|
||||||
"JMdict_ReadingElement"."reading",
|
|
||||||
(
|
(
|
||||||
"news" IS 1
|
"news" IS 1
|
||||||
OR "ichi" IS 1
|
OR "ichi" IS 1
|
||||||
@@ -53,8 +51,7 @@ LEFT JOIN "JMdict_JLPTTag" USING ("entryId");
|
|||||||
CREATE VIEW "JMdict_EntryScoreView_Kanji" AS
|
CREATE VIEW "JMdict_EntryScoreView_Kanji" AS
|
||||||
SELECT
|
SELECT
|
||||||
'kanji' AS "type",
|
'kanji' AS "type",
|
||||||
"JMdict_KanjiElement"."entryId",
|
"JMdict_KanjiElement"."elementId",
|
||||||
"JMdict_KanjiElement"."reading",
|
|
||||||
(
|
(
|
||||||
"news" IS 1
|
"news" IS 1
|
||||||
OR "ichi" IS 1
|
OR "ichi" IS 1
|
||||||
@@ -97,15 +94,13 @@ AFTER INSERT ON "JMdict_ReadingElement"
|
|||||||
BEGIN
|
BEGIN
|
||||||
INSERT INTO "JMdict_EntryScore" (
|
INSERT INTO "JMdict_EntryScore" (
|
||||||
"type",
|
"type",
|
||||||
"entryId",
|
"elementId",
|
||||||
"reading",
|
|
||||||
"score",
|
"score",
|
||||||
"common"
|
"common"
|
||||||
)
|
)
|
||||||
SELECT "type", "entryId", "reading", "score", "common"
|
SELECT "type", "elementId", "score", "common"
|
||||||
FROM "JMdict_EntryScoreView_Reading"
|
FROM "JMdict_EntryScoreView_Reading"
|
||||||
WHERE "entryId" = NEW."entryId"
|
WHERE "elementId" = NEW."elementId";
|
||||||
AND "reading" = NEW."reading";
|
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_EntryScore_Update_JMdict_ReadingElement"
|
CREATE TRIGGER "JMdict_EntryScore_Update_JMdict_ReadingElement"
|
||||||
@@ -117,8 +112,7 @@ BEGIN
|
|||||||
"score" = "JMdict_EntryScoreView_Reading"."score",
|
"score" = "JMdict_EntryScoreView_Reading"."score",
|
||||||
"common" = "JMdict_EntryScoreView_Reading"."common"
|
"common" = "JMdict_EntryScoreView_Reading"."common"
|
||||||
FROM "JMdict_EntryScoreView_Reading"
|
FROM "JMdict_EntryScoreView_Reading"
|
||||||
WHERE "entryId" = NEW."entryId"
|
WHERE "elementId" = NEW."elementId";
|
||||||
AND "reading" = NEW."reading";
|
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_EntryScore_Delete_JMdict_ReadingElement"
|
CREATE TRIGGER "JMdict_EntryScore_Delete_JMdict_ReadingElement"
|
||||||
@@ -126,8 +120,7 @@ AFTER DELETE ON "JMdict_ReadingElement"
|
|||||||
BEGIN
|
BEGIN
|
||||||
DELETE FROM "JMdict_EntryScore"
|
DELETE FROM "JMdict_EntryScore"
|
||||||
WHERE "type" = 'reading'
|
WHERE "type" = 'reading'
|
||||||
AND "entryId" = OLD."entryId"
|
AND "elementId" = OLD."elementId";
|
||||||
AND "reading" = OLD."reading";
|
|
||||||
END;
|
END;
|
||||||
|
|
||||||
--- JMdict_KanjiElement triggers
|
--- JMdict_KanjiElement triggers
|
||||||
@@ -137,15 +130,13 @@ AFTER INSERT ON "JMdict_KanjiElement"
|
|||||||
BEGIN
|
BEGIN
|
||||||
INSERT INTO "JMdict_EntryScore" (
|
INSERT INTO "JMdict_EntryScore" (
|
||||||
"type",
|
"type",
|
||||||
"entryId",
|
"elementId",
|
||||||
"reading",
|
|
||||||
"score",
|
"score",
|
||||||
"common"
|
"common"
|
||||||
)
|
)
|
||||||
SELECT "type", "entryId", "reading", "score", "common"
|
SELECT "type", "elementId", "score", "common"
|
||||||
FROM "JMdict_EntryScoreView_Kanji"
|
FROM "JMdict_EntryScoreView_Kanji"
|
||||||
WHERE "entryId" = NEW."entryId"
|
WHERE "elementId" = NEW."elementId";
|
||||||
AND "reading" = NEW."reading";
|
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_EntryScore_Update_JMdict_KanjiElement"
|
CREATE TRIGGER "JMdict_EntryScore_Update_JMdict_KanjiElement"
|
||||||
@@ -157,8 +148,7 @@ BEGIN
|
|||||||
"score" = "JMdict_EntryScoreView_Kanji"."score",
|
"score" = "JMdict_EntryScoreView_Kanji"."score",
|
||||||
"common" = "JMdict_EntryScoreView_Kanji"."common"
|
"common" = "JMdict_EntryScoreView_Kanji"."common"
|
||||||
FROM "JMdict_EntryScoreView_Kanji"
|
FROM "JMdict_EntryScoreView_Kanji"
|
||||||
WHERE "entryId" = NEW."entryId"
|
WHERE "elementId" = NEW."elementId";
|
||||||
AND "reading" = NEW."reading";
|
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER "JMdict_EntryScore_Delete_JMdict_KanjiElement"
|
CREATE TRIGGER "JMdict_EntryScore_Delete_JMdict_KanjiElement"
|
||||||
@@ -166,8 +156,7 @@ AFTER DELETE ON "JMdict_KanjiElement"
|
|||||||
BEGIN
|
BEGIN
|
||||||
DELETE FROM "JMdict_EntryScore"
|
DELETE FROM "JMdict_EntryScore"
|
||||||
WHERE "type" = 'kanji'
|
WHERE "type" = 'kanji'
|
||||||
AND "entryId" = OLD."entryId"
|
AND "elementId" = OLD."elementId";
|
||||||
AND "reading" = OLD."reading";
|
|
||||||
END;
|
END;
|
||||||
|
|
||||||
--- JMdict_JLPTTag triggers
|
--- JMdict_JLPTTag triggers
|
||||||
@@ -180,7 +169,24 @@ BEGIN
|
|||||||
"score" = "JMdict_EntryScoreView"."score",
|
"score" = "JMdict_EntryScoreView"."score",
|
||||||
"common" = "JMdict_EntryScoreView"."common"
|
"common" = "JMdict_EntryScoreView"."common"
|
||||||
FROM "JMdict_EntryScoreView"
|
FROM "JMdict_EntryScoreView"
|
||||||
WHERE "JMdict_EntryScoreView"."entryId" = NEW."entryId"
|
WHERE
|
||||||
|
(
|
||||||
|
(
|
||||||
|
"JMdict_EntryScoreView"."type" = 'kanji'
|
||||||
|
AND
|
||||||
|
"JMdict_EntryScoreView"."elementId" IN (
|
||||||
|
SELECT "elementId" FROM "JMdict_KanjiElement" WHERE "entryId" = NEW."entryId"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
OR
|
||||||
|
(
|
||||||
|
"JMdict_EntryScoreView"."type" = 'reading'
|
||||||
|
AND
|
||||||
|
"JMdict_EntryScoreView"."elementId" IN (
|
||||||
|
SELECT "elementId" FROM "JMdict_ReadingElement" WHERE "entryId" = NEW."entryId"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
AND "JMdict_EntryScoreView"."entryId" = "JMdict_EntryScore"."entryId"
|
AND "JMdict_EntryScoreView"."entryId" = "JMdict_EntryScore"."entryId"
|
||||||
AND "JMdict_EntryScoreView"."reading" = "JMdict_EntryScore"."reading";
|
AND "JMdict_EntryScoreView"."reading" = "JMdict_EntryScore"."reading";
|
||||||
END;
|
END;
|
||||||
@@ -194,7 +200,24 @@ BEGIN
|
|||||||
"score" = "JMdict_EntryScoreView"."score",
|
"score" = "JMdict_EntryScoreView"."score",
|
||||||
"common" = "JMdict_EntryScoreView"."common"
|
"common" = "JMdict_EntryScoreView"."common"
|
||||||
FROM "JMdict_EntryScoreView"
|
FROM "JMdict_EntryScoreView"
|
||||||
WHERE "JMdict_EntryScoreView"."entryId" = NEW."entryId"
|
WHERE
|
||||||
|
(
|
||||||
|
(
|
||||||
|
"JMdict_EntryScoreView"."type" = 'kanji'
|
||||||
|
AND
|
||||||
|
"JMdict_EntryScoreView"."elementId" IN (
|
||||||
|
SELECT "elementId" FROM "JMdict_KanjiElement" WHERE "entryId" = NEW."entryId"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
OR
|
||||||
|
(
|
||||||
|
"JMdict_EntryScoreView"."type" = 'reading'
|
||||||
|
AND
|
||||||
|
"JMdict_EntryScoreView"."elementId" IN (
|
||||||
|
SELECT "elementId" FROM "JMdict_ReadingElement" WHERE "entryId" = NEW."entryId"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
AND "JMdict_EntryScoreView"."entryId" = "JMdict_EntryScore"."entryId"
|
AND "JMdict_EntryScoreView"."entryId" = "JMdict_EntryScore"."entryId"
|
||||||
AND "JMdict_EntryScoreView"."reading" = "JMdict_EntryScore"."reading";
|
AND "JMdict_EntryScoreView"."reading" = "JMdict_EntryScore"."reading";
|
||||||
END;
|
END;
|
||||||
@@ -207,7 +230,24 @@ BEGIN
|
|||||||
"score" = "JMdict_EntryScoreView"."score",
|
"score" = "JMdict_EntryScoreView"."score",
|
||||||
"common" = "JMdict_EntryScoreView"."common"
|
"common" = "JMdict_EntryScoreView"."common"
|
||||||
FROM "JMdict_EntryScoreView"
|
FROM "JMdict_EntryScoreView"
|
||||||
WHERE "JMdict_EntryScoreView"."entryId" = NEW."entryId"
|
WHERE
|
||||||
|
(
|
||||||
|
(
|
||||||
|
"JMdict_EntryScoreView"."type" = 'kanji'
|
||||||
|
AND
|
||||||
|
"JMdict_EntryScoreView"."elementId" IN (
|
||||||
|
SELECT "elementId" FROM "JMdict_KanjiElement" WHERE "entryId" = OLD."entryId"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
OR
|
||||||
|
(
|
||||||
|
"JMdict_EntryScoreView"."type" = 'reading'
|
||||||
|
AND
|
||||||
|
"JMdict_EntryScoreView"."elementId" IN (
|
||||||
|
SELECT "elementId" FROM "JMdict_ReadingElement" WHERE "entryId" = OLD."entryId"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
AND "JMdict_EntryScoreView"."entryId" = "JMdict_EntryScore"."entryId"
|
AND "JMdict_EntryScoreView"."entryId" = "JMdict_EntryScore"."entryId"
|
||||||
AND "JMdict_EntryScoreView"."reading" = "JMdict_EntryScore"."reading";
|
AND "JMdict_EntryScoreView"."reading" = "JMdict_EntryScore"."reading";
|
||||||
END;
|
END;
|
||||||
|
|||||||
@@ -77,8 +77,13 @@ SELECT DISTINCT "radical" FROM "RADKFILE";
|
|||||||
CREATE VIEW "JMdict_CombinedEntryScore"
|
CREATE VIEW "JMdict_CombinedEntryScore"
|
||||||
AS
|
AS
|
||||||
SELECT
|
SELECT
|
||||||
"JMdict_EntryScore"."entryId",
|
CASE
|
||||||
|
WHEN "JMdict_EntryScore"."type" = 'kanji'
|
||||||
|
THEN (SELECT entryId FROM "JMdict_KanjiElement" WHERE "elementId" = "JMdict_EntryScore"."elementId")
|
||||||
|
WHEN "JMdict_EntryScore"."type" = 'reading'
|
||||||
|
THEN (SELECT entryId FROM "JMdict_ReadingElement" WHERE "elementId" = "JMdict_EntryScore"."elementId")
|
||||||
|
END AS "entryId",
|
||||||
MAX("JMdict_EntryScore"."score") AS "score",
|
MAX("JMdict_EntryScore"."score") AS "score",
|
||||||
MAX("JMdict_EntryScore"."common") AS "common"
|
MAX("JMdict_EntryScore"."common") AS "common"
|
||||||
FROM "JMdict_EntryScore"
|
FROM "JMdict_EntryScore"
|
||||||
GROUP BY "JMdict_EntryScore"."entryId";
|
GROUP BY "entryId";
|
||||||
|
|||||||
Reference in New Issue
Block a user