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

View File

@ -69,7 +69,7 @@ protected:
private: private:
DbReference m_InstanceID; DbReference m_InstanceID;
String m_SessionToken; int m_SessionToken;
WorkQueue m_QueryQueue; 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, varname varchar(255) character set latin1 collate latin1_general_cs default NULL,
varvalue TEXT character set latin1 default '', varvalue TEXT character set latin1 default '',
is_json smallint default 0, is_json smallint default 0,
session_token varchar(512) character set latin1 default NULL, session_token int default NULL,
PRIMARY KEY (customvariable_id), PRIMARY KEY (customvariable_id),
UNIQUE KEY object_id_2 (object_id,config_type,varname), UNIQUE KEY object_id_2 (object_id,config_type,varname),
KEY varname (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, varname varchar(255) character set latin1 collate latin1_general_cs default NULL,
varvalue TEXT character set latin1 default '', varvalue TEXT character set latin1 default '',
is_json smallint default 0, is_json smallint default 0,
session_token varchar(512) character set latin1 default NULL, session_token int default NULL,
PRIMARY KEY (customvariablestatus_id), PRIMARY KEY (customvariablestatus_id),
UNIQUE KEY object_id_2 (object_id,varname), UNIQUE KEY object_id_2 (object_id,varname),
KEY varname (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 -- #10436 deleted custom vars
-- ----------------------------------------- -- -----------------------------------------
ALTER TABLE icinga_customvariables 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 varchar(512) character set latin1 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 cv_session_del_idx ON icinga_customvariables (session_token);
CREATE INDEX cvs_session_del_idx ON icinga_customvariablestatus (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() + "'"); CONTEXT("Reconnecting to PostgreSQL IDO database '" + GetName() + "'");
m_SessionToken = Utility::NewUniqueID(); m_SessionToken = static_cast<int>(Utility::GetTime());
SetShouldConnect(true); SetShouldConnect(true);
@ -377,7 +377,7 @@ void IdoPgsqlConnection::Reconnect(void)
void IdoPgsqlConnection::ClearCustomVarTable(const String& table) 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) void IdoPgsqlConnection::ClearConfigTable(const String& table)
@ -561,7 +561,7 @@ bool IdoPgsqlConnection::FieldToEscapedString(const String& key, const Value& va
return true; return true;
} }
if (key == "session_token") { if (key == "session_token") {
*result = "'" + Escape(m_SessionToken) + "'"; *result = m_SessionToken;
return true; return true;
} }
if (key == "notification_id") { if (key == "notification_id") {

View File

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

View File

@ -368,7 +368,7 @@ CREATE TABLE icinga_customvariables (
varname TEXT default '', varname TEXT default '',
varvalue TEXT default '', varvalue TEXT default '',
is_json INTEGER default 0, is_json INTEGER default 0,
session_token TEXT default NULL, session_token INTEGER default NULL,
CONSTRAINT PK_customvariable_id PRIMARY KEY (customvariable_id) , CONSTRAINT PK_customvariable_id PRIMARY KEY (customvariable_id) ,
CONSTRAINT UQ_customvariables UNIQUE (object_id,config_type,varname) CONSTRAINT UQ_customvariables UNIQUE (object_id,config_type,varname)
) ; ) ;
@ -389,7 +389,7 @@ CREATE TABLE icinga_customvariablestatus (
varname TEXT default '', varname TEXT default '',
varvalue TEXT default '', varvalue TEXT default '',
is_json INTEGER default 0, is_json INTEGER default 0,
session_token TEXT default NULL, session_token INTEGER default NULL,
CONSTRAINT PK_customvariablestatus_id PRIMARY KEY (customvariablestatus_id) , CONSTRAINT PK_customvariablestatus_id PRIMARY KEY (customvariablestatus_id) ,
CONSTRAINT UQ_customvariablestatus UNIQUE (object_id,varname) 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 -- #10436 deleted custom vars
-- ----------------------------------------- -- -----------------------------------------
ALTER TABLE icinga_customvariables 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 TEXT 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 cv_session_del_idx ON icinga_customvariables (session_token);
CREATE INDEX cvs_session_del_idx ON icinga_customvariablestatus (session_token); CREATE INDEX cvs_session_del_idx ON icinga_customvariablestatus (session_token);