Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }