]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/store/mysql/mysql_store.cpp
Ticket 37. TIMEZONE fixed to TIMESTAMP for the change_policy_timeout in
[stg.git] / projects / stargazer / plugins / store / mysql / mysql_store.cpp
index 754a9ee223483094ca8dd90437a3a275bf16e6e4..8e12faadbd1c19d19e796e41bf822957a7b7f264 100644 (file)
@@ -369,7 +369,8 @@ if(!IsTablePresent("tariffs",sock))
     res += "PassiveCost DOUBLE DEFAULT 0.0, Fee DOUBLE DEFAULT 0.0,"
         "Free DOUBLE DEFAULT 0.0, TraffType VARCHAR(10) DEFAULT '',"
         "period VARCHAR(32) NOT NULL DEFAULT 'month',"
-        "change_policy VARCHAR(32) NOT NULL DEFAULT 'allow')";
+        "change_policy VARCHAR(32) NOT NULL DEFAULT 'allow',"
+        "change_policy_timeout TIMESTAMP NOT NULL DEFAULT '1970-01-01 00:00:00')";
     
     if(MysqlQuery(res.c_str(),sock))
     {
@@ -424,7 +425,7 @@ if(!IsTablePresent("tariffs",sock))
     res += "PassiveCost=0.0, Fee=10.0, Free=0,"\
         "SinglePrice0=1, SinglePrice1=1,PriceDayA1=0.75,PriceDayB1=0.75,"\
         "PriceNightA0=1.0,PriceNightB0=1.0,TraffType='up+down',period='month',"\
-        "change_policy='allow'";
+        "change_policy='allow', change_policy_timeout='1970-01-01 00:00:00'";
     
     if(MysqlQuery(res.c_str(),sock))
     {
@@ -604,7 +605,8 @@ if (schemaVersion  < 1)
 
 if (schemaVersion  < 2)
     {
-    if (MysqlQuery("ALTER TABLE tariffs ADD change_policy VARCHAR(32) NOT NULL DEFAULT 'allow'", sock))
+    if (MysqlQuery("ALTER TABLE tariffs ADD change_policy VARCHAR(32) NOT NULL DEFAULT 'allow'", sock) ||
+        MysqlQuery("ALTER TABLE tariffs ADD change_policy_timeout TIMEZONE NOT NULL DEFAULT '1970-01-01 00:00:00'", sock))
         {
         errorStr = "Couldn't update tariffs table to version 2. With error:\n";
         errorStr += mysql_error(sock);
@@ -1748,6 +1750,9 @@ res += " TraffType='" + TARIFF::TraffTypeToString(td.tariffConf.traffType) + "'"
 if (schemaVersion > 0)
     res += ", Period='" + TARIFF::PeriodToString(td.tariffConf.period) + "'";
 
+if (schemaVersion > 1)
+    res += ", change_policy='" + TARIFF::ChangePolicyToString(td.tariffConf.changePolicy) + "'";
+
 strprintf(&param, " WHERE name='%s' LIMIT 1", tariffName.c_str());
 res += param;