[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/elisa 0f94c23a5d 40/98: Add more sqlite tables
From: |
ELPA Syncer |
Subject: |
[elpa] externals/elisa 0f94c23a5d 40/98: Add more sqlite tables |
Date: |
Wed, 17 Jul 2024 18:58:02 -0400 (EDT) |
branch: externals/elisa
commit 0f94c23a5d5c6937c9726e8f2fd58db06568cb11
Author: Sergey Kostyaev <kostyaev.sergey2@wb.ru>
Commit: Sergey Kostyaev <kostyaev.sergey2@wb.ru>
Add more sqlite tables
---
elisa.el | 41 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/elisa.el b/elisa.el
index aaaa527153..11f87576c3 100644
--- a/elisa.el
+++ b/elisa.el
@@ -177,10 +177,43 @@ concise. Act like user. Prompt:
(format "create virtual table if not exists elisa_embeddings using
vss0(embedding(%d));"
(elisa-get-embedding-size)))
+(defun elisa-data-embeddings-create-table-sql ()
+ "Generate sql for create data embeddings table."
+ (format "create virtual table if not exists data_embeddings using
vss0(embedding(%d));"
+ (elisa-get-embedding-size)))
+
+(defun elisa-data-fts-create-table-sql ()
+ "Generate sql for create full text search table."
+ "create virtual table if not exists data_fts using fts5(data);")
+
(defun elisa-info-create-table-sql ()
"Generate sql for create info table."
"create table if not exists info (node text unique);")
+(defun elisa-collections-create-table-sql ()
+ "Generate sql for create collections table."
+ "create table if not exists collections (name text unique);")
+
+(defun elisa-kinds-create-table-sql ()
+ "Generate sql for create kinds table."
+ "create table if not exists kinds (name text unique);")
+
+(defun elisa-fill-kinds-sql ()
+ "Generate sql for fill kinds table."
+ "insert into kinds (name) values ('web'), ('file'), ('info') on conflict do
nothing;")
+
+(defun elisa-data-create-table-sql ()
+ "Generate sql for create data table."
+ "create table if not exists data (
+kind_id INTEGER,
+collection_id INTEGER,
+path text,
+hash text,
+data text,
+FOREIGN KEY(kind_id) REFERENCES kinds(rowid),
+FOREIGN KEY(collection_id) REFERENCES collections(rowid)
+);")
+
(defun elisa--init-db (db)
"Initialize elisa DB."
(if (not (file-exists-p (elisa--vss-path)))
@@ -192,7 +225,13 @@ concise. Act like user. Prompt:
db
(elisa--vss-path))
(sqlite-execute db (elisa-embeddings-create-table-sql))
- (sqlite-execute db (elisa-info-create-table-sql))))
+ (sqlite-execute db (elisa-info-create-table-sql))
+ (sqlite-execute db (elisa-collections-create-table-sql))
+ (sqlite-execute db (elisa-kinds-create-table-sql))
+ (sqlite-execute db (elisa-fill-kinds-sql))
+ (sqlite-execute db (elisa-data-create-table-sql))
+ (sqlite-execute db (elisa-data-embeddings-create-table-sql))
+ (sqlite-execute db (elisa-data-fts-create-table-sql))))
(defvar elisa-db (progn
(make-directory elisa-db-directory t)
- [elpa] externals/elisa ed1299a8aa 23/98: Bump version, (continued)
- [elpa] externals/elisa ed1299a8aa 23/98: Bump version, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 5d62cf3803 24/98: Reopen db after download sqlite extensions, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 9a6dfa678b 25/98: Add info about downloading sqlite extensions into docs, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 7f5a5fff5d 26/98: Fix CI warnings, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 48d96a9716 27/98: Merge pull request #5 from s-kostyaev/fix-load-file, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 8794e14d75 29/98: Improve built-in manuals directory location method, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa c03baded1e 32/98: Bump version, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa a99ed0b234 33/98: Add semantic splitting, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 90a76fc7c2 37/98: Add webpage semantic chunks extraction function, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa d90df5889d 38/98: Add function that return buffer with url content, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 0f94c23a5d 40/98: Add more sqlite tables,
ELPA Syncer <=
- [elpa] externals/elisa e877f8f5c7 44/98: First implementation for web search, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 5ca66e9f0d 47/98: Fix custom variables, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 273a1d492d 50/98: Add reranker to RAG pipeline, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa ade7ac0af9 52/98: Update info manual parsing, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 8a2c92dc34 54/98: Fix parsing info manuals, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa cecc5cb13f 55/98: Make sync parsing interactive, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa 4cad3085fd 57/98: Use more async calls to prevent emacs from blocking, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa ad130b564f 60/98: Add parse file function, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa b419fb2cf2 61/98: Add code for parsing directory as an elisa collection, ELPA Syncer, 2024/07/17
- [elpa] externals/elisa ef06534f46 62/98: Implement incremental parsing, ELPA Syncer, 2024/07/17