public MultiValueDictionary(SQLiteConnection connection, string name, string tableName, ISQLiteSerializer <TKey> keySerializer, ISQLiteSerializer <TValue> valueSerializer, bool isReadOnly) : base(connection, name, tableName, valueSerializer, isReadOnly) { _connection = connection; _tableName = tableName; _keySerializer = keySerializer; _valueSerializer = valueSerializer; CreateObjectTableIfNecessary(); _existsQuery = string.Format("SELECT EXISTS(SELECT * FROM {0} WHERE key = @key)", _tableName); _existsRowQuery = string.Format("SELECT EXISTS(SELECT * FROM {0} WHERE rowid = @rowid)", tableName); _putQuery = string.Format("INSERT INTO {0} (key, value) VALUES (@key, @value)", _tableName); _getAllKeys = string.Format("SELECT key FROM {0}", _tableName); _getAll = string.Format("SELECT key, value FROM {0}", _tableName); _getByKey = string.Format("SELECT value FROM {0} where key = @key", _tableName); _getByRowId = string.Format("SELECT value FROM {0} WHERE rowid = @rowid", tableName); _removeRowQuery = string.Format("DELETE FROM {0} WHERE rowid = @rowid", _tableName); _removeQuery = string.Format("DELETE FROM {0} WHERE key = @key", _tableName); }
public Point2DCollection(SQLiteConnection connection, string name, string tableName, ISQLiteSerializer <TValue> valueSerializer, bool isReadOnly) : base(connection, name, tableName, valueSerializer, isReadOnly) { _connection = connection; _tableName = tableName; _valueSerializer = valueSerializer; _getAllQuery = string.Format("SELECT x, y, value FROM {0}", tableName); _getAllKeysQuery = string.Format("SELECT x, y FROM {0}", tableName); _existsKeyQuery = string.Format("SELECT EXISTS(SELECT * FROM {0} WHERE x = @x AND y = @y)", tableName); _existsRowQuery = string.Format("SELECT EXISTS(SELECT * FROM {0} WHERE rowid = @rowid)", tableName); _getByRowId = string.Format("SELECT value FROM {0} WHERE rowid = @rowid", tableName); _getByExactCoordinatesQuery = string.Format("SELECT value FROM {0} WHERE x = @x AND y = @y", tableName); _getKeysWithinQuery = string.Format("SELECT x, y FROM {0} WHERE x >= @minX AND x <= @maxX AND y >= @minY AND y <= @maxY", tableName); _getValuesWithinQuery = string.Format("SELECT value FROM {0} WHERE x >= @minX AND x <= @maxX AND y >= @minY AND y <= @maxY", tableName); _getWithinQuery = string.Format("SELECT x, y, value FROM {0} WHERE x >= @minX AND x <= @maxX AND y >= @minY AND y <= @maxY", tableName); _putQuery = string.Format("INSERT INTO {0} (x, y, value) VALUES (@x, @y, @value)", tableName); _removeQuery = string.Format("DELETE FROM {0} WHERE x = @x AND y = @y", tableName); _removeRowQuery = string.Format("DELETE FROM {0} WHERE rowid = @rowid", tableName); _removeWithinQuery = string.Format("DELETE FROM {0} WHERE x >= @minX AND x <= @maxX AND y >= @minY AND y <= @maxY", tableName); CreateObjectTableIfNecessary(); }
public IntervalCollection(SQLiteConnection connection, string name, string tableName, ISQLiteSerializer <TKey> keySerializer, ISQLiteSerializer <TValue> valueSerializer, bool isReadOnly) : base(connection, name, tableName, valueSerializer, isReadOnly) { _connection = connection; _tableName = tableName; _keySerializer = keySerializer; _valueSerializer = valueSerializer; CreateObjectTableIfNecessary(); using (var command = _connection.CreateCommand()) { command.CommandText = string.Format("SELECT MAX(id) FROM {0}", _tableName); var value = command.ExecuteScalar(); if (!Convert.IsDBNull(value)) { _lastId = Convert.ToInt64(value); } } }
public HashSet(SQLiteConnection connection, string name, string tableName, ISQLiteSerializer <T> serializer, bool isReadOnly) : base(connection, name, tableName, serializer, isReadOnly) { _connection = connection; _tableName = tableName; _serializer = serializer; CreateTableIfNecessary(connection, serializer, tableName); }
private void CreateTableIfNecessary(SQLiteConnection connection, ISQLiteSerializer <T> serializer, string tableName) { using (var command = connection.CreateCommand()) { command.CommandText = string.Format("CREATE TABLE IF NOT EXISTS {0} (value {1} PRIMARY KEY NOT NULL)", tableName, SQLiteHelper.GetAffinity(serializer.DatabaseType)); command.ExecuteNonQuery(); } }
public Bag(SQLiteConnection connection, string name, string tableName, ISQLiteSerializer <T> serializer, bool isReadOnly) : base(connection, name, tableName, serializer, isReadOnly) { _connection = connection; _serializer = serializer; _tableName = tableName; CreateTableIfNecessary(connection, serializer, tableName); _put = string.Format("INSERT INTO {0} (value) VALUES (@value)", tableName); }
public OrderedCollection(SQLiteConnection connection, string name, string tableName, ISQLiteSerializer <TKey> keySerializer, ISQLiteSerializer <TValue> valueSerializer, bool isReadOnly) : base(connection, name, tableName, valueSerializer, isReadOnly) { _connection = connection; _tableName = tableName; _keySerializer = keySerializer; _valueSerializer = valueSerializer; CreateObjectTableIfNecessary(); }
public Queue(SQLiteConnection connection, string name, string tableName, ISQLiteSerializer <T> serializer, bool isReadOnly) : base(connection, name, tableName, serializer, isReadOnly) { _connection = connection; _serializer = serializer; CreateTableIfNecessary(connection, serializer, tableName); _put = string.Format("INSERT INTO {0} (value) VALUES (@value)", tableName); _tryPeek = string.Format("SELECT id, value FROM {0} LIMIT 0, 1", tableName); _remove = string.Format("DELETE FROM {0} WHERE id = @id", tableName); }
public Dictionary(SQLiteConnection connection, string name, string tableName, ISQLiteSerializer <TKey> keySerializer, ISQLiteSerializer <TValue> valueSerializer, bool isReadOnly) : base(connection, name, tableName, valueSerializer, isReadOnly) { _connection = connection; _tableName = tableName; _keySerializer = keySerializer; _valueSerializer = valueSerializer; CreateObjectTableIfNecessary(); _getAllQuery = string.Format("SELECT key, value FROM {0}", tableName); _getAllKeysQuery = string.Format("SELECT key FROM {0}", tableName); _getManyQuery = string.Format("SELECT key, value FROM {0} WHERE key = @key", tableName); _getQuery = string.Format("SELECT key, value FROM {0} WHERE key = @key", tableName); _deleteQuery = string.Format("DELETE FROM {0} WHERE key = @key", _tableName); _existsQuery = string.Format("SELECT EXISTS(SELECT * FROM {0} WHERE key = @key)", _tableName); _putQuery = string.Format("INSERT OR REPLACE INTO {0} (key, value) VALUES (@key, @value)", tableName); _putOrIgnoreQuery = string.Format("INSERT OR IGNORE INTO {0} (key, value) VALUES (@key, @value)", tableName); }