@@ -90,10 +90,10 @@ impl DatabaseLayer {
9090/// `Data` is what's stored in a database!
9191pub trait Data
9292where
93- Self : ToInput + Clone + PartialEq + Send + Sync ,
93+ Self : ToInput + Clone + PartialEq + Send + Sync + Default ,
9494{
9595 fn id ( & self ) -> DataIdentifier ;
96- fn set_id ( & mut self , id : DataIdentifier ) ;
96+ // fn set_id(&mut self, id: DataIdentifier);
9797}
9898
9999/// `Data` that maintains a history of its value over time.
@@ -102,7 +102,7 @@ where
102102 Self : Data ,
103103{
104104 fn timestamp ( & self ) -> DbTimestamp ;
105- fn set_timestamp ( & self , timestamp : DbTimestamp ) ;
105+ // fn set_timestamp(&self, timestamp: DbTimestamp);
106106
107107 fn timestamp_key ( ) -> KeyDefinition < KeyOptions > {
108108 KeyDefinition :: new (
@@ -194,7 +194,7 @@ impl<T: Data> Drop for Resident<T> {
194194 }
195195}
196196
197- impl < T : Data + Default + ' static > Resident < T > {
197+ impl < T : Data + ' static > Resident < T > {
198198 /// Create a new `Watch` when there's only one row in the database.
199199 pub fn singleton ( db : Arc < native_db:: Database < ' static > > ) -> Result < Self > {
200200 let r = db. r_transaction ( ) ?;
@@ -298,16 +298,17 @@ impl<T: HistoricalData> Resident<T> {
298298 let r = self . db . r_transaction ( ) ?;
299299
300300 // TODO use the most restrictive condition first for performance
301- let mut it = r. scan ( ) . secondary ( T :: timestamp_key ( ) ) ?. range ( range) ?;
301+ // let mut it = r.scan().secondary(T::timestamp_key())?.range(range)?;
302302
303- for ( key_def, key) in secondary_keys. into_iter ( ) {
304- it = it. and ( r. scan ( ) . secondary ( key_def) ?. equal ( match key {
305- KeyEntry :: Default ( key) => key,
306- KeyEntry :: Optional ( key) => key. unwrap ( ) , // TODO
307- } ) ?) ;
308- }
303+ // for (key_def, key) in secondary_keys.into_iter() {
304+ // it = it.and(r.scan().secondary(key_def)?.equal(match key {
305+ // KeyEntry::Default(key) => key,
306+ // KeyEntry::Optional(key) => key.unwrap(), // TODO
307+ // })?);
308+ // }
309309
310- Ok ( it. try_collect ( ) ?)
310+ // Ok(it.try_collect()?)
311+ todo ! ( )
311312 }
312313}
313314
@@ -318,33 +319,20 @@ mod test_resident {
318319 use native_db:: Models ;
319320 use native_db:: * ;
320321 use native_model:: { Model , native_model} ;
321- use sandpolis_macros:: { Data , HistoricalData } ;
322+ use sandpolis_macros:: { Data , HistoricalData , data } ;
322323 use serde:: { Deserialize , Serialize } ;
323324 use tokio:: time:: { Duration , sleep} ;
324325
325- #[ derive( Serialize , Deserialize , PartialEq , Debug , Clone , Default , Data ) ]
326- #[ native_model( id = 5 , version = 1 ) ]
327- #[ native_db]
326+ #[ data]
328327 pub struct TestData {
329- #[ primary_key]
330- pub _id : DataIdentifier ,
331-
332328 #[ secondary_key]
333329 pub a : String ,
334330 #[ secondary_key]
335331 pub b : String ,
336332 }
337333
338- #[ derive( Serialize , Deserialize , PartialEq , Debug , Clone , Default , Data , HistoricalData ) ]
339- #[ native_model( id = 6 , version = 1 ) ]
340- #[ native_db]
334+ #[ data( history) ]
341335 pub struct TestHistoryData {
342- #[ primary_key]
343- pub _id : DataIdentifier ,
344-
345- #[ secondary_key]
346- pub _timestamp : DbTimestamp ,
347-
348336 #[ secondary_key]
349337 pub a : String ,
350338 pub b : String ,
0 commit comments