@@ -26,7 +26,7 @@ extern crate quick_error;
26
26
extern crate rusqlite;
27
27
extern crate serde_json;
28
28
29
- use :: rusqlite:: Connection ;
29
+ use :: rusqlite:: { Connection , NO_PARAMS } ;
30
30
use :: rusqlite:: types:: Value as SqlValue ;
31
31
use :: rusqlite:: types:: { ToSql , ToSqlOutput } ;
32
32
use :: rusqlite:: Error as SqlError ;
@@ -78,13 +78,13 @@ impl Dumpy {
78
78
79
79
/// Init our dumpy store on an existing connection.
80
80
pub fn init ( & self , conn : & Connection ) -> DResult < ( ) > {
81
- conn. execute ( "CREATE TABLE IF NOT EXISTS dumpy_objects (id VARCHAR(64) PRIMARY KEY, table_name VARCHAR(32), data TEXT)" , & [ ] ) ?;
82
- conn. execute ( "CREATE TABLE IF NOT EXISTS dumpy_index (id INTEGER PRIMARY KEY, table_name VARCHAR(32), index_name VARCHAR(32), vals VARCHAR(256), object_id VARCHAR(64))" , & [ ] ) ?;
83
- conn. execute ( "CREATE TABLE IF NOT EXISTS dumpy_kv (key VARCHAR(32) PRIMARY KEY, value TEXT)" , & [ ] ) ?;
81
+ conn. execute ( "CREATE TABLE IF NOT EXISTS dumpy_objects (id VARCHAR(64) PRIMARY KEY, table_name VARCHAR(32), data TEXT)" , NO_PARAMS ) ?;
82
+ conn. execute ( "CREATE TABLE IF NOT EXISTS dumpy_index (id INTEGER PRIMARY KEY, table_name VARCHAR(32), index_name VARCHAR(32), vals VARCHAR(256), object_id VARCHAR(64))" , NO_PARAMS ) ?;
83
+ conn. execute ( "CREATE TABLE IF NOT EXISTS dumpy_kv (key VARCHAR(32) PRIMARY KEY, value TEXT)" , NO_PARAMS ) ?;
84
84
85
- conn. execute ( "CREATE INDEX IF NOT EXISTS dumpy_idx_index ON dumpy_index (table_name, index_name, vals)" , & [ ] ) ?;
86
- conn. execute ( "CREATE INDEX IF NOT EXISTS dumpy_idx_index_obj ON dumpy_index (table_name, object_id)" , & [ ] ) ?;
87
- conn. execute ( "CREATE UNIQUE INDEX IF NOT EXISTS dumpy_idx_kv ON dumpy_kv (key)" , & [ ] ) ?;
85
+ conn. execute ( "CREATE INDEX IF NOT EXISTS dumpy_idx_index ON dumpy_index (table_name, index_name, vals)" , NO_PARAMS ) ?;
86
+ conn. execute ( "CREATE INDEX IF NOT EXISTS dumpy_idx_index_obj ON dumpy_index (table_name, object_id)" , NO_PARAMS ) ?;
87
+ conn. execute ( "CREATE UNIQUE INDEX IF NOT EXISTS dumpy_idx_kv ON dumpy_kv (key)" , NO_PARAMS ) ?;
88
88
Ok ( ( ) )
89
89
}
90
90
@@ -215,7 +215,7 @@ impl Dumpy {
215
215
pub fn get ( & self , conn : & Connection , table : & String , id : & String ) -> DResult < Option < Value > > {
216
216
let query = "SELECT data FROM dumpy_objects WHERE id = $1 AND table_name = $2" ;
217
217
let res = conn. query_row_and_then ( query, & [ id, table] , |row| -> DResult < Value > {
218
- let data: SqlValue = row. get_checked ( "data" ) ?;
218
+ let data: SqlValue = row. get ( "data" ) ?;
219
219
match data {
220
220
SqlValue :: Text ( ref x) => {
221
221
Ok ( jedi:: parse ( x) ?)
@@ -265,7 +265,7 @@ impl Dumpy {
265
265
} ) ;
266
266
let query = format ! ( "SELECT data FROM dumpy_objects WHERE id IN ({}) ORDER BY id ASC" , oids) ;
267
267
let mut query = conn. prepare ( & query[ ..] ) ?;
268
- let rows = query. query_map ( & [ ] , |row| {
268
+ let rows = query. query_map ( NO_PARAMS , |row| {
269
269
row. get ( "data" )
270
270
} ) ?;
271
271
let mut objects: Vec < Value > = Vec :: new ( ) ;
@@ -288,9 +288,9 @@ impl Dumpy {
288
288
let merged_qry = qry_parts. as_slice ( ) . join ( "" ) ;
289
289
let mut query = conn. prepare ( merged_qry. as_str ( ) ) ?;
290
290
291
- let values: Vec < & ToSql > = qry_vals. iter ( )
291
+ let values: Vec < & dyn ToSql > = qry_vals. iter ( )
292
292
. map ( |x| {
293
- let ts: & ToSql = x;
293
+ let ts: & dyn ToSql = x;
294
294
ts
295
295
} )
296
296
. collect :: < Vec < _ > > ( ) ;
@@ -325,10 +325,10 @@ impl Dumpy {
325
325
qry_parts. push ( ") ORDER BY id ASC" ) ;
326
326
let final_query = qry_parts. as_slice ( ) . join ( "" ) ;
327
327
let mut prepared_qry = conn. prepare ( final_query. as_str ( ) ) ?;
328
- let mut values: Vec < & ToSql > = Vec :: with_capacity ( qry_vals. len ( ) ) ;
328
+ let mut values: Vec < & dyn ToSql > = Vec :: with_capacity ( qry_vals. len ( ) ) ;
329
329
for val in & qry_vals {
330
- let ts: & ToSql = val;
331
- values. push ( ts ) ;
330
+ // let ts: dyn ToSql = val;
331
+ values. push ( val as & dyn ToSql ) ;
332
332
}
333
333
let rows = prepared_qry. query_map ( values. as_slice ( ) , |row| row. get ( "data" ) ) ?;
334
334
let mut objects: Vec < Value > = Vec :: new ( ) ;
@@ -340,15 +340,15 @@ impl Dumpy {
340
340
341
341
/// Set a value into the key/val store
342
342
pub fn kv_set ( & self , conn : & Connection , key : & str , val : & String ) -> DResult < ( ) > {
343
- conn. execute ( "INSERT OR REPLACE INTO dumpy_kv (key, value) VALUES ($1, $2)" , & [ & key, val] ) ?;
343
+ conn. execute ( "INSERT OR REPLACE INTO dumpy_kv (key, value) VALUES ($1, $2)" , & [ & key, val. as_str ( ) ] ) ?;
344
344
Ok ( ( ) )
345
345
}
346
346
347
347
/// Get a value from the key/val store
348
348
pub fn kv_get ( & self , conn : & Connection , key : & str ) -> DResult < Option < String > > {
349
349
let query = "SELECT value FROM dumpy_kv WHERE key = $1" ;
350
350
let res = conn. query_row_and_then ( query, & [ & key] , |row| -> DResult < String > {
351
- let data: SqlValue = row. get_checked ( "value" ) ?;
351
+ let data: SqlValue = row. get ( "value" ) ?;
352
352
match data {
353
353
SqlValue :: Text ( x) => {
354
354
Ok ( x)
@@ -393,7 +393,7 @@ mod tests {
393
393
394
394
fn index_count ( conn : & Connection ) -> i64 {
395
395
conn. query_row_and_then ( "SELECT COUNT(*) AS count FROM dumpy_index" , & [ ] , |row| -> DResult < i64 > {
396
- let data: SqlValue = row. get_checked ( "count" ) ?;
396
+ let data: SqlValue = row. get ( "count" ) ?;
397
397
match data {
398
398
SqlValue :: Integer ( ref x) => Ok ( x. clone ( ) ) ,
399
399
_ => Err ( DError :: Msg ( format ! ( "error grabbing count" ) ) ) ,
0 commit comments