+1
Hurliman, John wrote: > Formatting got messed up, that should have looked like this: > > // returns true if the key was found and data was updated, otherwise false if > a new key row was added > bool AddOrUpdateKeyValue(string context, string key, string value); > > // returns true if the key was found and deleted > bool DeleteKeyValue(string context, string key); > > // returns the string value if the key was found, otherwise null > string GetValue(string context, string key); > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Hurliman, John > Sent: Monday, September 21, 2009 12:54 PM > To: [email protected] > Subject: [Opensim-dev] Thoughts on adding a generic key-value storage system > to OpenSim? > > A lot of the work going into OpenSim recently has been modularizing the > codebase and making it easy for third party developers to write plugins. One > feature that I think would really complete the picture would be a (simple) > generic data storage interface that leveraged the existing OpenSim storage > framework. Most plugins I've seen (and wrote) currently tack on their own > database tables, use a simple text file with a custom format, or use some > other means of data storage that does not match up with the rest of OpenSim. > Adding a new database table that had three columns: [context, key, value] > would allow plugins to store key/value mappings (string to string) without > worrying about data collisions between plugins or having to implement a > custom data store every time. > > // returns true if the key was found and data was updated, otherwise false if > a new key row was added > bool AddOrUpdateKeyValue(string context, string key, string value); > // returns true if the key was found and deleted > bool DeleteKeyValue(string context, string key); > // returns the string value if the key was found, otherwise null > string GetValue(string context, string key); > > Although I've been writing extensions for the OpenSim codebase for quite a > while, I'm still fairly new to the guts of the system. Does this seem like > the correct solution? If so, where would this interface go? I'm happy to > write the code to implement this, I just want feedback from the dev community > first to see if I'm on track. > > John > _______________________________________________ > Opensim-dev mailing list > [email protected] > https://lists.berlios.de/mailman/listinfo/opensim-dev > _______________________________________________ > Opensim-dev mailing list > [email protected] > https://lists.berlios.de/mailman/listinfo/opensim-dev > _______________________________________________ Opensim-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/opensim-dev
