public override bool Exists(Client.EventData entry) { if (!Ready()) { return(false); } m_QueryCommand.Parameters.Clear(); m_QueryCommand.CommandText = "SELECT name FROM cache WHERE name=@name AND data=@data"; m_QueryCommand.Parameters.Add(new SqliteParameter { ParameterName = "@name", Value = entry.Name }); m_QueryCommand.Parameters.Add(new SqliteParameter { ParameterName = "@data", Value = entry.Data }); m_QueryCommand.CommandTimeout = 100; try { using (IDataReader reader = m_QueryCommand.ExecuteReader()) return(reader.Read()); } catch (Exception ex) { Debug.LogErrorFormat("[Keen.Cache] remove query failed: {0}", ex.Message); return(false); } }
public override bool Remove(Client.EventData entry) { if (!Ready()) { return(false); } m_QueryCommand.Parameters.Clear(); m_QueryCommand.CommandText = "DELETE FROM cache WHERE data=@data AND name=@name"; m_QueryCommand.Parameters.Add(new SqliteParameter { ParameterName = "@name", Value = entry.Name }); m_QueryCommand.Parameters.Add(new SqliteParameter { ParameterName = "@data", Value = entry.Data }); m_QueryCommand.CommandTimeout = 100; try { if (m_QueryCommand.ExecuteNonQuery() == 0) { return(false); } } catch (Exception ex) { Debug.LogErrorFormat("[Keen.Cache] remove query failed: {0}", ex.Message); return(false); } return(true); }
public override bool Write(Client.EventData entry) { if (!Ready()) { return(false); } m_QueryCommand.Parameters.Clear(); m_QueryCommand.CommandText = "INSERT OR IGNORE INTO cache (name, data) VALUES (@name, @data); UPDATE cache SET attempts=attempts+1 WHERE name=@name AND data=@data"; m_QueryCommand.Parameters.Add(new SqliteParameter { ParameterName = "@name", Value = entry.Name }); m_QueryCommand.Parameters.Add(new SqliteParameter { ParameterName = "@data", Value = entry.Data }); m_QueryCommand.CommandTimeout = 100; try { if (m_QueryCommand.ExecuteNonQuery() == 0) { return(false); } } catch (Exception ex) { Debug.LogErrorFormat("[Keen.Cache] write query failed: {0}", ex.Message); return(false); } return(true); }