From e7ce3efb3f7e34a6e0abcca52a2ab63c48e02b2a Mon Sep 17 00:00:00 2001 From: PThorpe92 Date: Wed, 23 Jul 2025 16:50:57 -0400 Subject: [PATCH] Remove default trait impl from csv extension --- extensions/csv/src/lib.rs | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/extensions/csv/src/lib.rs b/extensions/csv/src/lib.rs index 227e0bef2..d2cb11bca 100644 --- a/extensions/csv/src/lib.rs +++ b/extensions/csv/src/lib.rs @@ -24,8 +24,8 @@ use std::fs::File; use std::io::{Read, Seek, SeekFrom}; use std::sync::Arc; use turso_ext::{ - register_extension, Connection, ConstraintInfo, IndexInfo, OrderByInfo, ResultCode, VTabCursor, - VTabKind, VTabModule, VTabModuleDerive, VTable, Value, + register_extension, Connection, ResultCode, VTabCursor, VTabKind, VTabModule, VTabModuleDerive, + VTable, Value, }; register_extension! { @@ -108,6 +108,7 @@ impl VTabModule for CsvVTabModule { type Table = CsvTable; const VTAB_KIND: VTabKind = VTabKind::VirtualTable; const NAME: &'static str = "csv"; + const READONLY: bool = true; fn create(args: &[Value]) -> Result<(String, Self::Table), ResultCode> { if args.is_empty() { @@ -263,29 +264,6 @@ impl VTable for CsvTable { Err(_) => Err(ResultCode::Error), } } - - fn update(&mut self, _rowid: i64, _args: &[Value]) -> Result<(), Self::Error> { - Err(ResultCode::ReadOnly) - } - - fn insert(&mut self, _args: &[Value]) -> Result { - Err(ResultCode::ReadOnly) - } - - fn delete(&mut self, _rowid: i64) -> Result<(), Self::Error> { - Err(ResultCode::ReadOnly) - } - - fn best_index(_constraints: &[ConstraintInfo], _order_by: &[OrderByInfo]) -> IndexInfo { - // Only a forward full table scan is supported. - IndexInfo { - idx_num: -1, - idx_str: None, - order_by_consumed: false, - estimated_cost: 1_000_000., - ..Default::default() - } - } } enum ReadSource {