MT#65050 add stats.call_info site_id column

* the column is needed to separate the date per site,
  when multi site is enabled, as well as to solve possible
  replication issues when mediators on each site concurrently write
  into the table concurrently.

(cherry picked from commit 1a92d0b7d5)

Change-Id: Iba46ac1bcb7d635fade3896f6e2b04b3396058e8
mr26.0
Kirill Solomko 3 months ago committed by Sipwise Jenkins Builder
parent efd95d2f64
commit 916f12bce5

@ -0,0 +1,6 @@
USE stats;
ALTER TABLE stats.call_info
DROP KEY `call_info_site_sip_code_period_idx`,
ADD UNIQUE KEY `call_info_sip_code_period_idx` (`sip_code`,`period`),
DROP COLUMN `site_id`;

@ -0,0 +1,6 @@
USE stats;
ALTER TABLE stats.call_info
ADD `site_id` int(2) unsigned DEFAULT 1,
DROP KEY `call_info_sip_code_period_idx`,
ADD UNIQUE KEY `call_info_site_sip_code_period_idx` (`site_id`,`sip_code`,`period`);

File diff suppressed because it is too large Load Diff

@ -48,6 +48,18 @@
"TABLE_NAME" : "call_info",
"key_col" : "call_info/sip_code"
},
"call_info/site_id" : {
"CHARACTER_SET_NAME" : null,
"COLLATION_NAME" : null,
"COLUMN_DEFAULT" : "1",
"COLUMN_NAME" : "site_id",
"COLUMN_TYPE" : "int(2) unsigned",
"EXTRA" : "",
"IS_NULLABLE" : "YES",
"ORDINAL_POSITION" : 5,
"TABLE_NAME" : "call_info",
"key_col" : "call_info/site_id"
},
"cdr_info/customer_cost" : {
"CHARACTER_SET_NAME" : null,
"COLLATION_NAME" : null,
@ -279,29 +291,41 @@
"TABLE_NAME" : "call_info",
"key_col" : "call_info/PRIMARY/1"
},
"call_info/call_info_sip_code_period_idx/1" : {
"call_info/call_info_site_sip_code_period_idx/1" : {
"COLLATION" : "A",
"COLUMN_NAME" : "site_id",
"INDEX_NAME" : "call_info_site_sip_code_period_idx",
"INDEX_TYPE" : "BTREE",
"NON_UNIQUE" : 0,
"NULLABLE" : "YES",
"SEQ_IN_INDEX" : 1,
"SUB_PART" : null,
"TABLE_NAME" : "call_info",
"key_col" : "call_info/call_info_site_sip_code_period_idx/1"
},
"call_info/call_info_site_sip_code_period_idx/2" : {
"COLLATION" : "A",
"COLUMN_NAME" : "sip_code",
"INDEX_NAME" : "call_info_sip_code_period_idx",
"INDEX_NAME" : "call_info_site_sip_code_period_idx",
"INDEX_TYPE" : "BTREE",
"NON_UNIQUE" : 0,
"NULLABLE" : "",
"SEQ_IN_INDEX" : 1,
"SEQ_IN_INDEX" : 2,
"SUB_PART" : null,
"TABLE_NAME" : "call_info",
"key_col" : "call_info/call_info_sip_code_period_idx/1"
"key_col" : "call_info/call_info_site_sip_code_period_idx/2"
},
"call_info/call_info_sip_code_period_idx/2" : {
"call_info/call_info_site_sip_code_period_idx/3" : {
"COLLATION" : "A",
"COLUMN_NAME" : "period",
"INDEX_NAME" : "call_info_sip_code_period_idx",
"INDEX_NAME" : "call_info_site_sip_code_period_idx",
"INDEX_TYPE" : "BTREE",
"NON_UNIQUE" : 0,
"NULLABLE" : "",
"SEQ_IN_INDEX" : 2,
"SEQ_IN_INDEX" : 3,
"SUB_PART" : null,
"TABLE_NAME" : "call_info",
"key_col" : "call_info/call_info_sip_code_period_idx/2"
"key_col" : "call_info/call_info_site_sip_code_period_idx/3"
},
"cdr_info/PRIMARY/1" : {
"COLLATION" : "A",

@ -13,8 +13,9 @@ CREATE TABLE `call_info` (
`sip_code` varchar(3) NOT NULL,
`period` datetime NOT NULL,
`amount` int(11) unsigned NOT NULL,
`site_id` int(2) unsigned DEFAULT 1,
PRIMARY KEY (`id`),
UNIQUE KEY `call_info_sip_code_period_idx` (`sip_code`,`period`)
UNIQUE KEY `call_info_site_sip_code_period_idx` (`site_id`,`sip_code`,`period`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;

Loading…
Cancel
Save