mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 08:55:56 +08:00
Apply patch from bug #1605 -- Documentation for Data/SQLite. Thanks kerunix_Flan!
This commit is contained in:
@@ -44,6 +44,12 @@ namespace OpenSim.Data.SQLite
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="dt"></param>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="type"></param>
|
||||
public static void createCol(DataTable dt, string name, Type type)
|
||||
{
|
||||
DataColumn col = new DataColumn(name, type);
|
||||
@@ -60,17 +66,24 @@ namespace OpenSim.Data.SQLite
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
/// <summary>
|
||||
/// Create an insert command
|
||||
/// </summary>
|
||||
/// <param name="table">table name</param>
|
||||
/// <param name="dt">data table</param>
|
||||
/// <returns>the created command</returns>
|
||||
/// <remarks>
|
||||
/// This is subtle enough to deserve some commentary.
|
||||
/// Instead of doing *lots* and *lots of hardcoded strings
|
||||
/// for database definitions we'll use the fact that
|
||||
/// realistically all insert statements look like "insert
|
||||
/// into A(b, c) values(:b, :c) on the parameterized query
|
||||
/// front. If we just have a list of b, c, etc... we can
|
||||
/// generate these strings instead of typing them out.
|
||||
/// </remarks>
|
||||
public static SqliteCommand createInsertCommand(string table, DataTable dt)
|
||||
{
|
||||
/**
|
||||
* This is subtle enough to deserve some commentary.
|
||||
* Instead of doing *lots* and *lots of hardcoded strings
|
||||
* for database definitions we'll use the fact that
|
||||
* realistically all insert statements look like "insert
|
||||
* into A(b, c) values(:b, :c) on the parameterized query
|
||||
* front. If we just have a list of b, c, etc... we can
|
||||
* generate these strings instead of typing them out.
|
||||
*/
|
||||
|
||||
string[] cols = new string[dt.Columns.Count];
|
||||
for (int i = 0; i < dt.Columns.Count; i++)
|
||||
{
|
||||
@@ -95,6 +108,13 @@ namespace OpenSim.Data.SQLite
|
||||
return cmd;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// create an update command
|
||||
/// </summary>
|
||||
/// <param name="table">table name</param>
|
||||
/// <param name="pk"></param>
|
||||
/// <param name="dt"></param>
|
||||
/// <returns>the created command</returns>
|
||||
public static SqliteCommand createUpdateCommand(string table, string pk, DataTable dt)
|
||||
{
|
||||
string sql = "update " + table + " set ";
|
||||
@@ -122,7 +142,11 @@ namespace OpenSim.Data.SQLite
|
||||
return cmd;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="dt">Data Table</param>
|
||||
/// <returns></returns>
|
||||
public static string defineTable(DataTable dt)
|
||||
{
|
||||
string sql = "create table " + dt.TableName + "(";
|
||||
@@ -158,15 +182,21 @@ namespace OpenSim.Data.SQLite
|
||||
**********************************************************************/
|
||||
|
||||
///<summary>
|
||||
/// <para>
|
||||
/// This is a convenience function that collapses 5 repetitive
|
||||
/// lines for defining SqliteParameters to 2 parameters:
|
||||
/// column name and database type.
|
||||
///
|
||||
/// </para>
|
||||
///
|
||||
/// <para>
|
||||
/// It assumes certain conventions like :param as the param
|
||||
/// name to replace in parametrized queries, and that source
|
||||
/// version is always current version, both of which are fine
|
||||
/// for us.
|
||||
/// </para>
|
||||
///</summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="type"></param>
|
||||
///<returns>a built sqlite parameter</returns>
|
||||
public static SqliteParameter createSqliteParameter(string name, Type type)
|
||||
{
|
||||
@@ -184,6 +214,11 @@ namespace OpenSim.Data.SQLite
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
/// <summary>
|
||||
/// Type conversion function
|
||||
/// </summary>
|
||||
/// <param name="type">a type</param>
|
||||
/// <returns>a DbType</returns>
|
||||
public static DbType dbtypeFromType(Type type)
|
||||
{
|
||||
if (type == typeof (String))
|
||||
@@ -224,8 +259,11 @@ namespace OpenSim.Data.SQLite
|
||||
}
|
||||
}
|
||||
|
||||
// this is something we'll need to implement for each db
|
||||
// slightly differently.
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
/// <param name="type">a Type</param>
|
||||
/// <returns>a string</returns>
|
||||
/// <remarks>this is something we'll need to implement for each db slightly differently.</remarks>
|
||||
public static string sqliteType(Type type)
|
||||
{
|
||||
if (type == typeof (String))
|
||||
|
||||
Reference in New Issue
Block a user