Change session_token to integer timestamp

fixes #10529
This commit is contained in:
Michael Friedrich 2015-11-05 18:05:30 +01:00
parent 4c0b245466
commit 3b902b51e2
8 changed files with 16 additions and 16 deletions

View File

@ -160,7 +160,7 @@ void IdoMysqlConnection::Reconnect(void)
CONTEXT("Reconnecting to MySQL IDO database '" + GetName() + "'");
m_SessionToken = Utility::NewUniqueID();
m_SessionToken = static_cast<int>(Utility::GetTime());
SetShouldConnect(true);
@ -382,7 +382,7 @@ void IdoMysqlConnection::Reconnect(void)
void IdoMysqlConnection::ClearCustomVarTable(const String& table)
{
Query("DELETE FROM " + GetTablePrefix() + table + " WHERE session_token <> '" + Escape(m_SessionToken) + "'");
Query("DELETE FROM " + GetTablePrefix() + table + " WHERE session_token <> " + Convert::ToString(m_SessionToken));
}
void IdoMysqlConnection::ClearConfigTable(const String& table)
@ -683,7 +683,7 @@ bool IdoMysqlConnection::FieldToEscapedString(const String& key, const Value& va
return true;
}
if (key == "session_token") {
*result = "'" + Escape(m_SessionToken) + "'";
*result = m_SessionToken;
return true;
}
if (key == "notification_id") {

View File

@ -69,7 +69,7 @@ protected:
private:
DbReference m_InstanceID;
String m_SessionToken;
int m_SessionToken;
WorkQueue m_QueryQueue;

View File

@ -342,7 +342,7 @@ CREATE TABLE IF NOT EXISTS icinga_customvariables (
varname varchar(255) character set latin1 collate latin1_general_cs default NULL,
varvalue TEXT character set latin1 default '',
is_json smallint default 0,
session_token varchar(512) character set latin1 default NULL,
session_token int default NULL,
PRIMARY KEY (customvariable_id),
UNIQUE KEY object_id_2 (object_id,config_type,varname),
KEY varname (varname)
@ -363,7 +363,7 @@ CREATE TABLE IF NOT EXISTS icinga_customvariablestatus (
varname varchar(255) character set latin1 collate latin1_general_cs default NULL,
varvalue TEXT character set latin1 default '',
is_json smallint default 0,
session_token varchar(512) character set latin1 default NULL,
session_token int default NULL,
PRIMARY KEY (customvariablestatus_id),
UNIQUE KEY object_id_2 (object_id,varname),
KEY varname (varname)

View File

@ -52,8 +52,8 @@ ALTER TABLE icinga_hoststatus ADD COLUMN original_attributes TEXT character set
-- #10436 deleted custom vars
-- -----------------------------------------
ALTER TABLE icinga_customvariables ADD COLUMN session_token varchar(512) character set latin1 default NULL;
ALTER TABLE icinga_customvariablestatus ADD COLUMN session_token varchar(512) character set latin1 default NULL;
ALTER TABLE icinga_customvariables ADD COLUMN session_token int default NULL;
ALTER TABLE icinga_customvariablestatus ADD COLUMN session_token int default NULL;
CREATE INDEX cv_session_del_idx ON icinga_customvariables (session_token);
CREATE INDEX cvs_session_del_idx ON icinga_customvariablestatus (session_token);

View File

@ -160,7 +160,7 @@ void IdoPgsqlConnection::Reconnect(void)
CONTEXT("Reconnecting to PostgreSQL IDO database '" + GetName() + "'");
m_SessionToken = Utility::NewUniqueID();
m_SessionToken = static_cast<int>(Utility::GetTime());
SetShouldConnect(true);
@ -377,7 +377,7 @@ void IdoPgsqlConnection::Reconnect(void)
void IdoPgsqlConnection::ClearCustomVarTable(const String& table)
{
Query("DELETE FROM " + GetTablePrefix() + table + " WHERE session_token <> '" + Escape(m_SessionToken) + "'");
Query("DELETE FROM " + GetTablePrefix() + table + " WHERE session_token <> " + Convert::ToString(m_SessionToken));
}
void IdoPgsqlConnection::ClearConfigTable(const String& table)
@ -561,7 +561,7 @@ bool IdoPgsqlConnection::FieldToEscapedString(const String& key, const Value& va
return true;
}
if (key == "session_token") {
*result = "'" + Escape(m_SessionToken) + "'";
*result = m_SessionToken;
return true;
}
if (key == "notification_id") {

View File

@ -61,7 +61,7 @@ protected:
private:
DbReference m_InstanceID;
String m_SessionToken;
int m_SessionToken;
WorkQueue m_QueryQueue;

View File

@ -368,7 +368,7 @@ CREATE TABLE icinga_customvariables (
varname TEXT default '',
varvalue TEXT default '',
is_json INTEGER default 0,
session_token TEXT default NULL,
session_token INTEGER default NULL,
CONSTRAINT PK_customvariable_id PRIMARY KEY (customvariable_id) ,
CONSTRAINT UQ_customvariables UNIQUE (object_id,config_type,varname)
) ;
@ -389,7 +389,7 @@ CREATE TABLE icinga_customvariablestatus (
varname TEXT default '',
varvalue TEXT default '',
is_json INTEGER default 0,
session_token TEXT default NULL,
session_token INTEGER default NULL,
CONSTRAINT PK_customvariablestatus_id PRIMARY KEY (customvariablestatus_id) ,
CONSTRAINT UQ_customvariablestatus UNIQUE (object_id,varname)
) ;

View File

@ -162,8 +162,8 @@ ALTER TABLE icinga_hoststatus ADD COLUMN original_attributes TEXT default NULL;
-- #10436 deleted custom vars
-- -----------------------------------------
ALTER TABLE icinga_customvariables ADD COLUMN session_token TEXT default NULL;
ALTER TABLE icinga_customvariablestatus ADD COLUMN session_token TEXT default NULL;
ALTER TABLE icinga_customvariables ADD COLUMN session_token INTEGER default NULL;
ALTER TABLE icinga_customvariablestatus ADD COLUMN session_token INTEGER default NULL;
CREATE INDEX cv_session_del_idx ON icinga_customvariables (session_token);
CREATE INDEX cvs_session_del_idx ON icinga_customvariablestatus (session_token);