refactor: remove all dev.* and public.* schema hardcodes from runtime code
14 files updated to use schema::table_name() instead of hardcoded schema prefixes. Only src/bin/release.rs intentionally retains dev.* references.
This commit is contained in:
@@ -1233,7 +1233,7 @@ impl PostgresDb {
|
||||
let tx = self.pool.begin().await?;
|
||||
|
||||
let chunk_vectors = schema::table_name("chunk_vectors");
|
||||
let chunks = "dev.chunk";
|
||||
let chunks = schema::table_name("chunk");
|
||||
let processor_results = schema::table_name("processor_results");
|
||||
let videos = schema::table_name("videos");
|
||||
|
||||
@@ -1255,7 +1255,8 @@ impl PostgresDb {
|
||||
.execute(&self.pool)
|
||||
.await?;
|
||||
|
||||
sqlx::query(&format!("DELETE FROM dev.pre_chunks WHERE file_uuid = $1"))
|
||||
let pre_chunks = schema::table_name("pre_chunks");
|
||||
sqlx::query(&format!("DELETE FROM {} WHERE file_uuid = $1", pre_chunks))
|
||||
.bind(uuid)
|
||||
.execute(&self.pool)
|
||||
.await?;
|
||||
@@ -1283,7 +1284,7 @@ impl PostgresDb {
|
||||
}
|
||||
|
||||
pub async fn get_chunk_count(&self, uuid: &str) -> Result<(i64, i64)> {
|
||||
let chunks = "dev.chunk";
|
||||
let chunks = schema::table_name("chunk");
|
||||
let sentence_count: i64 = sqlx::query_scalar(&format!(
|
||||
"SELECT COUNT(*) FROM {} WHERE file_uuid = $1 AND chunk_type = 'sentence'",
|
||||
chunks
|
||||
@@ -2508,21 +2509,23 @@ impl PostgresDb {
|
||||
limit: i32,
|
||||
offset: i64,
|
||||
) -> Result<Vec<IdentityChunkRecord>> {
|
||||
let query = r#"
|
||||
SELECT c.id, c.file_uuid, c.chunk_id, c.chunk_type,
|
||||
c.start_time, c.end_time, c.text_content, c.content
|
||||
FROM dev.chunk c
|
||||
WHERE c.file_uuid IN (
|
||||
SELECT DISTINCT fd.file_uuid
|
||||
FROM face_detections fd
|
||||
JOIN identities i ON fd.identity_id = i.id
|
||||
WHERE i.uuid = $1
|
||||
)
|
||||
ORDER BY c.start_time ASC
|
||||
LIMIT $2 OFFSET $3
|
||||
"#;
|
||||
let chunk_table = schema::table_name("chunk");
|
||||
let query = format!(
|
||||
"SELECT c.id, c.file_uuid, c.chunk_id, c.chunk_type, \
|
||||
c.start_time, c.end_time, c.text_content, c.content \
|
||||
FROM {} c \
|
||||
WHERE c.file_uuid IN ( \
|
||||
SELECT DISTINCT fd.file_uuid \
|
||||
FROM face_detections fd \
|
||||
JOIN identities i ON fd.identity_id = i.id \
|
||||
WHERE i.uuid = $1 \
|
||||
) \
|
||||
ORDER BY c.start_time ASC \
|
||||
LIMIT $2 OFFSET $3",
|
||||
chunk_table
|
||||
);
|
||||
|
||||
let rows = sqlx::query_as(query)
|
||||
let rows = sqlx::query_as(&query)
|
||||
.bind(identity_id)
|
||||
.bind(limit)
|
||||
.bind(offset)
|
||||
@@ -2552,7 +2555,7 @@ impl PostgresDb {
|
||||
}
|
||||
|
||||
pub async fn store_chunk(&self, chunk: &Chunk) -> Result<()> {
|
||||
let table = "dev.chunk";
|
||||
let table = schema::table_name("chunk");
|
||||
let content_with_rule = serde_json::json!({
|
||||
"rule": chunk.rule.as_str(),
|
||||
"data": chunk.content
|
||||
@@ -2629,7 +2632,7 @@ impl PostgresDb {
|
||||
chunk: &Chunk,
|
||||
tx: &mut sqlx::Transaction<'_, sqlx::Postgres>,
|
||||
) -> Result<()> {
|
||||
let table = "dev.chunk";
|
||||
let table = schema::table_name("chunk");
|
||||
let content_with_rule = serde_json::json!({
|
||||
"rule": chunk.rule.as_str(),
|
||||
"data": chunk.content
|
||||
@@ -2699,7 +2702,7 @@ impl PostgresDb {
|
||||
}
|
||||
|
||||
pub async fn get_chunks_by_uuid(&self, uuid: &str) -> Result<Vec<Chunk>> {
|
||||
let table = "dev.chunk";
|
||||
let table = schema::table_name("chunk");
|
||||
let rows = sqlx::query(&format!(
|
||||
"SELECT COALESCE(file_id, 0) as file_id, file_uuid as uuid, chunk_id, chunk_type, COALESCE(fps, 24.0) as fps, COALESCE(start_frame, 0) as start_frame, COALESCE(end_frame, 0) as end_frame, text_content, content, metadata, vector_id, COALESCE(frame_count, 0) as frame_count, pre_chunk_ids, parent_chunk_id::text as parent_chunk_id, child_chunk_ids, visual_stats FROM {} WHERE file_uuid = $1 ORDER BY id",
|
||||
table
|
||||
@@ -2779,7 +2782,7 @@ impl PostgresDb {
|
||||
chunk_id: &str,
|
||||
uuid: &str,
|
||||
) -> Result<Option<Chunk>> {
|
||||
let table = "dev.chunk";
|
||||
let table = schema::table_name("chunk");
|
||||
let row = sqlx::query(&format!(
|
||||
"SELECT COALESCE(file_id, 0) as file_id, file_uuid, chunk_id, chunk_type, COALESCE(fps, 24.0) as fps, COALESCE(start_frame, 0) as start_frame, COALESCE(end_frame, 0) as end_frame, text_content, content, metadata, vector_id, COALESCE(frame_count, 0) as frame_count, pre_chunk_ids, parent_chunk_id, child_chunk_ids, visual_stats FROM {} WHERE chunk_id = $1 AND file_uuid = $2",
|
||||
table
|
||||
@@ -3006,7 +3009,7 @@ impl PostgresDb {
|
||||
start_time: f64,
|
||||
end_time: f64,
|
||||
) -> Result<Vec<Chunk>> {
|
||||
let table = "dev.chunk";
|
||||
let table = schema::table_name("chunk");
|
||||
let rows = sqlx::query(&format!(
|
||||
"SELECT file_id, uuid, chunk_id, chunk_type, start_time, end_time, fps, start_frame, end_frame, text_content, content, metadata, vector_id, frame_count, pre_chunk_ids, parent_chunk_id::text as parent_chunk_id, child_chunk_ids
|
||||
FROM {}
|
||||
@@ -3091,7 +3094,7 @@ impl PostgresDb {
|
||||
return Ok(vec![]);
|
||||
}
|
||||
|
||||
let table = "dev.chunk";
|
||||
let table = schema::table_name("chunk");
|
||||
let rows = sqlx::query(&format!(
|
||||
"SELECT file_id, uuid, chunk_id, chunk_type, fps, start_frame, end_frame, text_content, content, metadata, vector_id, frame_count, pre_chunk_ids, parent_chunk_id::text as parent_chunk_id, child_chunk_ids FROM {} WHERE chunk_id = ANY($1) ORDER BY id",
|
||||
table
|
||||
@@ -3200,7 +3203,7 @@ impl PostgresDb {
|
||||
}
|
||||
|
||||
pub async fn update_vector_id(&self, chunk_id: &str, vector_id: &str) -> Result<()> {
|
||||
let table = "dev.chunk";
|
||||
let table = schema::table_name("chunk");
|
||||
sqlx::query(&format!(
|
||||
"UPDATE {} SET vector_id = $1 WHERE chunk_id = $2",
|
||||
table
|
||||
@@ -3222,7 +3225,7 @@ impl PostgresDb {
|
||||
}
|
||||
|
||||
pub async fn search_text(&self, query: &str, chunk_type: Option<&str>) -> Result<Vec<Chunk>> {
|
||||
let table = "dev.chunk";
|
||||
let table = schema::table_name("chunk");
|
||||
let query_pattern = format!("%{}%", query);
|
||||
|
||||
let sql = match chunk_type {
|
||||
@@ -3327,7 +3330,7 @@ impl PostgresDb {
|
||||
uuid: Option<&str>,
|
||||
limit: usize,
|
||||
) -> Result<Vec<Bm25Result>> {
|
||||
let table = "dev.chunk";
|
||||
let table = schema::table_name("chunk");
|
||||
let tsquery = self.prepare_tsquery(query).await?;
|
||||
|
||||
let sql = match uuid {
|
||||
@@ -4447,7 +4450,7 @@ impl PostgresDb {
|
||||
total_frames: u64,
|
||||
) -> Result<()> {
|
||||
let table = schema::table_name("videos");
|
||||
let chunks_table = "dev.chunk";
|
||||
let chunks_table = schema::table_name("chunk");
|
||||
let pre_chunks_table = schema::table_name("pre_chunks");
|
||||
|
||||
// Query chunks count and frames
|
||||
@@ -4623,18 +4626,20 @@ impl PostgresDb {
|
||||
let vector_json = serde_json::to_string(query_vector)
|
||||
.map_err(|e| anyhow::anyhow!("Vector serialize error: {}", e))?;
|
||||
|
||||
let chunk_table = schema::table_name("chunk");
|
||||
let results = sqlx::query_as::<_, SemanticSearchResult>(
|
||||
r#"
|
||||
SELECT
|
||||
id as scene_order, start_time, end_time,
|
||||
COALESCE(summary_text, text_content, '') as summary,
|
||||
metadata,
|
||||
(1 - (embedding <=> $1::vector)) as similarity
|
||||
FROM dev.chunk
|
||||
WHERE file_uuid = $2 AND chunk_type = 'cut' AND embedding IS NOT NULL
|
||||
ORDER BY embedding <=> $1::vector
|
||||
LIMIT $3
|
||||
"#,
|
||||
&format!(
|
||||
"SELECT \
|
||||
id as scene_order, start_time, end_time, \
|
||||
COALESCE(summary_text, text_content, '') as summary, \
|
||||
metadata, \
|
||||
(1 - (embedding <=> $1::vector)) as similarity \
|
||||
FROM {} \
|
||||
WHERE file_uuid = $2 AND chunk_type = 'cut' AND embedding IS NOT NULL \
|
||||
ORDER BY embedding <=> $1::vector \
|
||||
LIMIT $3",
|
||||
chunk_table
|
||||
),
|
||||
)
|
||||
.bind(&vector_json)
|
||||
.bind(uuid)
|
||||
|
||||
Reference in New Issue
Block a user