configuration parameter DBWriter.MaxRecordsPerTransaction added to database
authorVictor Kirhenshtein <victor@netxms.org>
Mon, 23 Oct 2017 16:06:33 +0000 (19:06 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Mon, 23 Oct 2017 16:06:33 +0000 (19:06 +0300)
include/netxmsdb.h
sql/setup.in
src/server/tools/nxdbmgr/upgrade_v22.cpp
src/server/tools/nxdbmgr/upgrade_v30.cpp

index 5c9dbe2..9fe636a 100644 (file)
@@ -25,7 +25,7 @@
 
 #define DB_LEGACY_SCHEMA_VERSION       700
 #define DB_SCHEMA_VERSION_MAJOR        30
-#define DB_SCHEMA_VERSION_MINOR        8
+#define DB_SCHEMA_VERSION_MINOR        9
 
 #define DB_SCHEMA_VERSION_V30_MINOR    DB_SCHEMA_VERSION_MINOR
 
index 1c377d1..4bdd920 100644 (file)
@@ -41,6 +41,7 @@ INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_rest
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBLockInfo','','',0,0,'S','');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBLockPID','0','0',0,0,'I','');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBLockStatus','UNLOCKED','UNLOCKED',0,1,'S','');
+INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DBWriter.MaxRecordsPerTransaction','1000','1000',1,1,'I','Maximum number of records per one transaction for delayed database writes');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultAgentCacheMode','2','2',1,1,'C','Default agent cache mode');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultAgentProtocolCompressionMode','1','1',1,0,'C','Default agent protocol compression mode');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('DefaultConsoleDateFormat','dd.MM.yyyy','dd.MM.yyyy',1,0,'S','Default date display format for GUI.');
index e868395..2210fb0 100644 (file)
 #include "nxdbmgr.h"
 
 /**
- * Upgrade from 22.1 to 30.0
+ * Upgrade from 22.2 to 30.0
  */
-static bool H_UpgradeFromV1()
+static bool H_UpgradeFromV2()
 {
    CHK_EXEC(SetMajorSchemaVersion(30, 0));
    return true;
 }
 
 /**
+ * Upgrade from 22.1 to 22.2
+ */
+static bool H_UpgradeFromV1()
+{
+   CHK_EXEC(CreateConfigParam(_T("DBWriter.MaxRecordsPerTransaction"), _T("1000"), _T("Maximum number of records per one transaction for delayed database writes."), 'I', true, true, false, false));
+   CHK_EXEC(SetMinorSchemaVersion(2));
+   return true;
+}
+
+/**
  * Upgrade from 22.0 to 22.1
  */
 static bool H_UpgradeFromV0()
@@ -58,7 +68,8 @@ static struct
    bool (* upgradeProc)();
 } s_dbUpgradeMap[] =
 {
-   { 1, 30, 0, H_UpgradeFromV1 },
+   { 2, 30, 0, H_UpgradeFromV2 },
+   { 1, 22, 2, H_UpgradeFromV1 },
    { 0, 22, 1, H_UpgradeFromV0 },
    { 0, 0, 0, NULL }
 };
index c640bf5..08a9af6 100644 (file)
 #include "nxdbmgr.h"
 
 /**
+ * Upgrade from 30.8 to 30.9 (changes also included into 22.2)
+ */
+static bool H_UpgradeFromV8()
+{
+   if (GetSchemaLevelForMajorVersion(22) < 2)
+   {
+      CHK_EXEC(CreateConfigParam(_T("DBWriter.MaxRecordsPerTransaction"), _T("1000"), _T("Maximum number of records per one transaction for delayed database writes."), 'I', true, true, false, false));
+      CHK_EXEC(SetSchemaLevelForMajorVersion(22, 2));
+   }
+   CHK_EXEC(SetMinorSchemaVersion(9));
+   return true;
+}
+
+/**
  * Upgrade from 30.7 to 30.8 (changes also included into 22.1)
  */
 static bool H_UpgradeFromV7()
@@ -36,6 +50,7 @@ static bool H_UpgradeFromV7()
       CHK_EXEC(CreateConfigParam(_T("DataCollector.ThreadPool.MaxSize"), value, _T("Maximum size for data collector thread pool."), 'I', true, true, false, false));
       CHK_EXEC(SQLQuery(_T("UPDATE config SET default_value='250' WHERE var_name='DataCollector.ThreadPool.MaxSize'")));
       CHK_EXEC(SQLQuery(_T("DELETE FROM config WHERE var_name='NumberOfDataCollectors'")));
+      CHK_EXEC(SetSchemaLevelForMajorVersion(22, 1));
    }
    CHK_EXEC(SetMinorSchemaVersion(8));
    return true;
@@ -485,6 +500,7 @@ static struct
    bool (* upgradeProc)();
 } s_dbUpgradeMap[] =
 {
+   { 8, 30, 9, H_UpgradeFromV8 },
    { 7, 30, 8, H_UpgradeFromV7 },
    { 6, 30, 7, H_UpgradeFromV6 },
    { 5, 30, 6, H_UpgradeFromV5 },