Spaces:
Runtime error
Runtime error
Upload SQLite_DB.py
Browse files
App_Function_Libraries/DB/SQLite_DB.py
CHANGED
|
@@ -301,7 +301,8 @@ def create_tables(db) -> None:
|
|
| 301 |
is_trash BOOLEAN DEFAULT 0,
|
| 302 |
trash_date DATETIME,
|
| 303 |
vector_embedding BLOB,
|
| 304 |
-
chunking_status TEXT DEFAULT 'pending'
|
|
|
|
| 305 |
)
|
| 306 |
''',
|
| 307 |
'''
|
|
@@ -564,11 +565,14 @@ def sqlite_update_fts_for_media(db, media_id: int):
|
|
| 564 |
conn.commit()
|
| 565 |
|
| 566 |
|
| 567 |
-
def
|
| 568 |
-
|
| 569 |
-
|
| 570 |
-
|
| 571 |
-
|
|
|
|
|
|
|
|
|
|
| 572 |
|
| 573 |
def get_next_media_id():
|
| 574 |
try:
|
|
@@ -580,8 +584,18 @@ def get_next_media_id():
|
|
| 580 |
finally:
|
| 581 |
conn.close()
|
| 582 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 583 |
#
|
| 584 |
-
# End of
|
| 585 |
#######################################################################################################################
|
| 586 |
|
| 587 |
|
|
@@ -2896,6 +2910,23 @@ def update_media_table(db):
|
|
| 2896 |
# Add chunking_status column if it doesn't exist
|
| 2897 |
add_missing_column_if_not_exists(db, 'Media', 'chunking_status', "TEXT DEFAULT 'pending'")
|
| 2898 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2899 |
#
|
| 2900 |
# End of Functions to manage media chunks
|
| 2901 |
#######################################################################################################################
|
|
|
|
| 301 |
is_trash BOOLEAN DEFAULT 0,
|
| 302 |
trash_date DATETIME,
|
| 303 |
vector_embedding BLOB,
|
| 304 |
+
chunking_status TEXT DEFAULT 'pending',
|
| 305 |
+
vector_processing INTEGER DEFAULT 0
|
| 306 |
)
|
| 307 |
''',
|
| 308 |
'''
|
|
|
|
| 565 |
conn.commit()
|
| 566 |
|
| 567 |
|
| 568 |
+
def get_unprocessed_media(db):
|
| 569 |
+
query = """
|
| 570 |
+
SELECT id, content, type, COALESCE(title, '') as file_name
|
| 571 |
+
FROM Media
|
| 572 |
+
WHERE vector_processing = 0
|
| 573 |
+
ORDER BY id
|
| 574 |
+
"""
|
| 575 |
+
return db.execute_query(query)
|
| 576 |
|
| 577 |
def get_next_media_id():
|
| 578 |
try:
|
|
|
|
| 584 |
finally:
|
| 585 |
conn.close()
|
| 586 |
|
| 587 |
+
|
| 588 |
+
def mark_media_as_processed(database, media_id):
|
| 589 |
+
try:
|
| 590 |
+
query = "UPDATE Media SET vector_processing = 1 WHERE id = ?"
|
| 591 |
+
database.execute_query(query, (media_id,))
|
| 592 |
+
logger.info(f"Marked media_id {media_id} as processed")
|
| 593 |
+
except Exception as e:
|
| 594 |
+
logger.error(f"Error marking media_id {media_id} as processed: {str(e)}")
|
| 595 |
+
raise
|
| 596 |
+
|
| 597 |
#
|
| 598 |
+
# End of Vector-chunk-related Functions
|
| 599 |
#######################################################################################################################
|
| 600 |
|
| 601 |
|
|
|
|
| 2910 |
# Add chunking_status column if it doesn't exist
|
| 2911 |
add_missing_column_if_not_exists(db, 'Media', 'chunking_status', "TEXT DEFAULT 'pending'")
|
| 2912 |
|
| 2913 |
+
# Vector check FIXME/Delete later
|
| 2914 |
+
def alter_media_table(db):
|
| 2915 |
+
alter_query = '''
|
| 2916 |
+
ALTER TABLE Media ADD COLUMN vector_processing INTEGER DEFAULT 0
|
| 2917 |
+
'''
|
| 2918 |
+
try:
|
| 2919 |
+
db.execute_query(alter_query)
|
| 2920 |
+
logging.info("Media table altered successfully to include vector_processing column.")
|
| 2921 |
+
except Exception as e:
|
| 2922 |
+
logging.error(f"Error altering Media table: {str(e)}")
|
| 2923 |
+
# If the column already exists, SQLite will throw an error, which we can safely ignore
|
| 2924 |
+
if "duplicate column name" not in str(e).lower():
|
| 2925 |
+
raise
|
| 2926 |
+
|
| 2927 |
+
# Vector check FIXME/Delete later
|
| 2928 |
+
alter_media_table(db)
|
| 2929 |
+
|
| 2930 |
#
|
| 2931 |
# End of Functions to manage media chunks
|
| 2932 |
#######################################################################################################################
|