From f7d91032ad13f2948161172b3c299bc77b298d85 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Tue, 4 Aug 2020 18:24:55 +0530 Subject: [PATCH 01/28] [skip ci] [skip ci] --- producer_notify_triggers.sql | 479 +++++++++++++++++++++++++++++++++++ 1 file changed, 479 insertions(+) create mode 100644 producer_notify_triggers.sql diff --git a/producer_notify_triggers.sql b/producer_notify_triggers.sql new file mode 100644 index 0000000..76c519e --- /dev/null +++ b/producer_notify_triggers.sql @@ -0,0 +1,479 @@ +CREATE OR REPLACE FUNCTION "tcs_catalog"."notify_trigger" () RETURNS trigger + VOLATILE +AS $body$ +DECLARE + rec RECORD; + payload TEXT; + -- payload2 TEXT; + column_name TEXT; + column_value TEXT; + --payload_items TEXT[]; + payload2 JSONB; + payload_items JSONB; + payload_items1 JSONB; + pguserval TEXT; + uniquecolumn TEXT; + logtime TEXT; + payloadseqid INTEGER; + channelname TEXT; + kafkatopicname TEXT; +BEGIN + +pguserval := (SELECT current_user); + if pguserval = 'pgsyncuser' then + RAISE notice 'pgsyncuser name : %', pguserval; + + CASE TG_OP + WHEN 'INSERT', 'UPDATE' THEN + rec := NEW; + WHEN 'DELETE' THEN + rec := OLD; + ELSE + RAISE EXCEPTION 'Unknown TG_OP: "%". Should not occur!', TG_OP; + END CASE; + return rec; + -- else + end if; + + -- Set record row depending on operation + CASE TG_OP + WHEN 'INSERT', 'UPDATE' THEN + rec := NEW; + WHEN 'DELETE' THEN + rec := OLD; + ELSE + RAISE EXCEPTION 'Unknown TG_OP: "%". Should not occur!', TG_OP; + END CASE; + + --channel and topic details + RAISE notice ' % ',TG_TABLE_NAME; + SELECT channel, topic into channelname, kafkatopicname from common_oltp.pgifx_tbl_channel_mapping where tablename = TG_TABLE_NAME limit 1; + if (channelname = '') IS NOT FALSE then + channelname = 'dev_db_notifications'; + RAISE info 'setting default dev_db_notifications'; + end if; + RAISE info 'nofity_common_oltp_trigger'; + + -- Get required fields + FOREACH column_name IN ARRAY TG_ARGV LOOP + EXECUTE format('SELECT $1.%I::TEXT', column_name) + INTO column_value + USING rec; + case + when + column_name = 'upload_document' then + -- RAISE NOTICE 'upload_document boolean'; + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + when + column_name = 'upload_document_required' then + -- RAISE NOTICE 'upload_document_required boolean'; + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + else + -- column_value = regexp_replace(column_value, '^[\\r\\n\\t ]*|[\\r\\n\\t ]*$', '', 'g'); + end case; + --payload_items := array_append(payload_items, '"' || replace(column_name, '"', '\"') || '":"' || replace(column_value, '"', '\"') || '"'); + --payload_items := coalesce(payload_items,'{}')::jsonb || json_build_object(column_name,column_value)::jsonb; + payload_items := coalesce(payload_items,'{}')::jsonb || json_build_object(column_name,replace(column_value,'"','\"'))::jsonb; + + END LOOP; + --RAISE notice 'After guideline json payload 1: "%"', payload_items; + --logtime := (select date_display_tz()); + logtime := (SELECT to_char (now()::timestamptz at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')); + payloadseqid := (select nextval('payloadsequence'::regclass)); + + uniquecolumn := (SELECT c.column_name + FROM information_schema.key_column_usage AS c + LEFT JOIN information_schema.table_constraints AS t + ON t.constraint_name = c.constraint_name + WHERE t.table_name = TG_TABLE_NAME AND t.constraint_type = 'PRIMARY KEY' limit 1); + + if (uniquecolumn = '') IS NOT FALSE then + uniquecolumn := 'Not-Available'; + end if; + + -- exclude any null value columns. + payload_items := jsonb_strip_nulls(payload_items); + + RAISE Notice ' payload val: "%"', payload; + -- Build the payload + --payload := '' + -- || '{' + -- || '"topic":"' || 'dev.db.postgres.sync' || '",' + -- || '"originator":"' || 'tc-postgres-delta-processor' || '",' + -- || '"timestamp":"' || logtime || '",' + -- || '"mime-type":"' || 'application/json' || '",' + -- || '"payload": {' + -- || '"payloadseqid":"' || payloadseqid || '",' + -- || '"Uniquecolumn":"' || uniquecolumn || '",' + -- || '"operation":"' || TG_OP || '",' + -- || '"schema":"' || TG_TABLE_SCHEMA || '",' + -- || '"table":"' || TG_TABLE_NAME || '",' + -- || '"data": {' || array_to_string(payload_items, ',') || '}' + -- || '}}'; + + payload := '' + || '{' + || '"topic":"' || 'dev.db.postgres.sync' || '",' + || '"originator":"' || 'tc-postgres-delta-processor' || '",' + || '"timestamp":"' || logtime || '",' + || '"mime-type":"' || 'application/json' || '",' + || '"payload": {' + || '"payloadseqid":"' || payloadseqid || '",' + || '"Uniquecolumn":"' || uniquecolumn || '",' + || '"operation":"' || TG_OP || '",' + || '"schema":"' || TG_TABLE_SCHEMA || '",' + || '"table":"' || TG_TABLE_NAME || '",' + || '"data":' || payload_items + || '}}'; + + + -- Notify the channel + --PERFORM pg_notify('dev_db_notifications', payload); + PERFORM pg_notify(channelname, payload); + + RETURN rec; +END; +$body$ LANGUAGE plpgsql + +-------------------------------------------------------common_oltp.notify_trigger_common_oltp-------------------------------------------- +CREATE OR REPLACE FUNCTION "common_oltp"."notify_trigger_common_oltp" () RETURNS trigger + VOLATILE +AS $body$ +DECLARE + rec RECORD; + payload TEXT; + column_name TEXT; + column_value TEXT; + pguserval TEXT; + --payload_items TEXT[]; + payload_items JSONB; + uniquecolumn TEXT; + logtime TEXT; + payloadseqid INTEGER; + channelname TEXT; + kafkatopicname TEXT; +BEGIN + +pguserval := (SELECT current_user); + if pguserval = 'pgsyncuser' then + RAISE notice 'pgsyncuser name : %', pguserval; + + CASE TG_OP + WHEN 'INSERT', 'UPDATE' THEN + rec := NEW; + WHEN 'DELETE' THEN + rec := OLD; + ELSE + RAISE EXCEPTION 'Unknown TG_OP: "%". Should not occur!', TG_OP; + END CASE; + return rec; + -- else + end if; + + CASE TG_OP + WHEN 'INSERT', 'UPDATE' THEN + rec := NEW; + WHEN 'DELETE' THEN + rec := OLD; + ELSE + RAISE EXCEPTION 'Unknown TG_OP: "%". Should not occur!', TG_OP; + END CASE; + + --channel and topic details + RAISE notice ' % ',TG_TABLE_NAME; + SELECT channel, topic into channelname, kafkatopicname from common_oltp.pgifx_tbl_channel_mapping where tablename = TG_TABLE_NAME limit 1; + if (channelname = '') IS NOT FALSE then + channelname = 'dev_db_notifications'; + RAISE info 'setting default dev_db_notifications'; + end if; + RAISE info 'nofity_common_oltp_trigger'; + + -- Get required fields + FOREACH column_name IN ARRAY TG_ARGV LOOP + EXECUTE format('SELECT $1.%I::TEXT', column_name) + INTO column_value + USING rec; + case + when + column_name = 'upload_document' then + -- RAISE NOTICE 'upload_document boolean'; + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + when + column_name = 'upload_document_required' then + -- RAISE NOTICE 'upload_document_required boolean'; + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + when + column_name = 'identify_email_enabled' then + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + when + column_name = 'identify_handle_enabled' then + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + when + column_name = 'social_email_verified' then + if column_value = 'false' then + column_value = 'f'; + else + column_value = 't'; + end if; + /* when + column_name = 'password' then + if (TG_TABLE_NAME = 'security_user') then + column_value := (select regexp_replace(column_value, '([\r\n]+$)', '', 'g')); + end if;*/ + when + column_name = 'create_date' then + if (TG_TABLE_NAME = 'user_social_login') then + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS')); + else + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS.MS')); + end if; + when + column_name = 'modify_date' then + if (TG_TABLE_NAME = 'security_user') or (TG_TABLE_NAME = 'user_social_login') then + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS')); + else + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS.MS')); + end if; + when + column_name = 'last_login' then + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS.MS')); + when + column_name = 'last_site_hit_date' then + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS.MS')); + when + column_name = 'corona_event_timestamp' then + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS.MS')); + when + column_name = 'created_at' then + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS.MS')); + + --column_name = 'password' then + --column_value := regexp_replace(column_value, '\s', '', 'g'); + --column_value := regexp_replace(column_value, E'[\\n\\r]+', '\n\r', 'g'); + else + -- RAISE NOTICE ' not boolean'; + end case; + -- payload_items := coalesce(payload_items,'{}')::jsonb || json_build_object(column_name,trim(regexp_replace(column_value, E'\n', ' ', 'g')))::jsonb; + --payload_items := coalesce(payload_items,'{}')::jsonb || json_build_object(column_name,column_value)::jsonb; + payload_items := coalesce(payload_items,'{}')::jsonb || json_build_object(column_name,replace(column_value,'"','\"'))::jsonb; + -- payload_items := array_append(payload_items, '"' || replace(column_name, '"', '\"') || '":"' || replace(column_value, '"', '\"') || '"'); + END LOOP; + --logtime := (select date_display_tz()); + logtime := (SELECT to_char (now()::timestamptz at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')); + payloadseqid := (select nextval('common_oltp.payloadsequence'::regclass)); + + uniquecolumn := (SELECT c.column_name + FROM information_schema.key_column_usage AS c + LEFT JOIN information_schema.table_constraints AS t + ON t.constraint_name = c.constraint_name + WHERE t.table_name = TG_TABLE_NAME AND t.constraint_type = 'PRIMARY KEY' LIMIT 1); + + if (uniquecolumn = '') IS NOT FALSE then + uniquecolumn := 'Not-Available'; + end if; + + -- exclude any null value columns. + payload_items := jsonb_strip_nulls(payload_items); + + -- Build the payload + payload := '' + || '{' + || '"topic":"' || 'dev.db.postgres.sync' || '",' + || '"originator":"' || 'tc-postgres-delta-processor' || '",' + || '"timestamp":"' || logtime || '",' + || '"mime-type":"' || 'application/json' || '",' + || '"payload": {' + || '"payloadseqid":"' || payloadseqid || '",' + || '"Uniquecolumn":"' || uniquecolumn || '",' + || '"operation":"' || TG_OP || '",' + || '"schema":"' || TG_TABLE_SCHEMA || '",' + || '"table":"' || TG_TABLE_NAME || '",' + || '"data": ' || payload_items + --|| '"data": {' || array_to_string(payload_items, ',') || '}' + || '}}'; +-- || '"data": {' || array_to_string(payload_items, ',') || '}' +--|| '"data":' || payload_items + -- Notify the channel + -- PERFORM pg_notify('dev_db_notifications', payload); + PERFORM pg_notify(channelname, payload); + RETURN rec; +END; +$body$ LANGUAGE plpgsql + +-------------------------------------------------------informixoltp.notify_trigger_informixoltp-------------------------------------------- + +CREATE OR REPLACE FUNCTION "informixoltp"."notify_trigger_informixoltp" () RETURNS trigger + VOLATILE +AS $body$ +DECLARE + rec RECORD; + payload TEXT; + column_name TEXT; + column_value TEXT; + -- payload_items TEXT[]; + payload_items JSONB; + pguserval TEXT; + uniquecolumn TEXT; + logtime TEXT; + payloadseqid INTEGER; + channelname TEXT; + kafkatopicname TEXT; +BEGIN + +pguserval := (SELECT current_user); + if pguserval = 'pgsyncuser' then + RAISE notice 'pgsyncuser name : %', pguserval; + + CASE TG_OP + WHEN 'INSERT', 'UPDATE' THEN + rec := NEW; + WHEN 'DELETE' THEN + rec := OLD; + ELSE + RAISE EXCEPTION 'Unknown TG_OP: "%". Should not occur!', TG_OP; + END CASE; + return rec; + -- else + end if; + + CASE TG_OP + WHEN 'INSERT', 'UPDATE' THEN + rec := NEW; + WHEN 'DELETE' THEN + rec := OLD; + ELSE + RAISE EXCEPTION 'Unknown TG_OP: "%". Should not occur!', TG_OP; + END CASE; + + --channel and topic details + RAISE notice ' % ',TG_TABLE_NAME; + SELECT channel, topic into channelname, kafkatopicname from common_oltp.pgifx_tbl_channel_mapping where tablename = TG_TABLE_NAME limit 1; + if (channelname = '') IS NOT FALSE then + channelname = 'dev_db_notifications'; + RAISE info 'setting default dev_db_notifications'; + end if; + + RAISE notice '%', channelname; + + -- Get required fields + FOREACH column_name IN ARRAY TG_ARGV LOOP + EXECUTE format('SELECT $1.%I::TEXT', column_name) + INTO column_value + USING rec; + case + when + column_name = 'upload_document' then + -- RAISE NOTICE 'upload_document boolean'; + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + when + column_name = 'upload_document_required' then + -- RAISE NOTICE 'upload_document_required boolean'; + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + when + column_name = 'identify_email_enabled' then + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + when + column_name = 'identify_handle_enabled' then + if column_value = 'false' then + column_value = '0'; + else + column_value = '1'; + end if; + when + column_name = 'create_date' then + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS.MS')); + when + column_name = 'modify_date' then + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS.MS')); + when + column_name = 'member_since' then + column_value := (select to_char (column_value::timestamp, 'YYYY-MM-DD HH24:MI:SS.MS')); + -- when + -- column_name = 'achievement_date' then + --column_value := (select to_date (column_value, 'MM/DD/YYYY')); + --column_value := (select to_date (column_value)); + + else + -- RAISE NOTICE ' not boolean'; + end case; + -- payload_items := array_append(payload_items, '"' || replace(column_name, '"', '\"') || '":"' || replace(column_value, '"', '\"') || '"'); + --payload_items := coalesce(payload_items,'{}')::jsonb || json_build_object(column_name,column_value)::jsonb; + payload_items := coalesce(payload_items,'{}')::jsonb || json_build_object(column_name,replace(column_value,'"','\"'))::jsonb; + END LOOP; + --logtime := (select date_display_tz()); + logtime := (SELECT to_char (now()::timestamptz at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')); + payloadseqid := (select nextval('common_oltp.payloadsequence'::regclass)); + + uniquecolumn := (SELECT c.column_name + FROM information_schema.key_column_usage AS c + LEFT JOIN information_schema.table_constraints AS t + ON t.constraint_name = c.constraint_name + WHERE t.table_name = TG_TABLE_NAME AND t.constraint_type = 'PRIMARY KEY' LIMIT 1); + + if (uniquecolumn = '') IS NOT FALSE then + uniquecolumn := 'Not-Available'; + end if; + + -- exclude any null value columns. + payload_items := jsonb_strip_nulls(payload_items); + + -- Build the payload + payload := '' + || '{' + || '"topic":"' || 'dev.db.postgres.sync' || '",' + || '"originator":"' || 'tc-postgres-delta-processor' || '",' + || '"timestamp":"' || logtime || '",' + || '"mime-type":"' || 'application/json' || '",' + || '"payload": {' + || '"payloadseqid":"' || payloadseqid || '",' + || '"Uniquecolumn":"' || uniquecolumn || '",' + || '"operation":"' || TG_OP || '",' + || '"schema":"' || TG_TABLE_SCHEMA || '",' + || '"table":"' || TG_TABLE_NAME || '",' + -- || '"data": {' || array_to_string(payload_items, ',') || '}' + || '"data": ' || payload_items + || '}}'; + + -- Notify the channel + --PERFORM pg_notify('dev_db_notifications', payload); + PERFORM pg_notify(channelname, payload); + + RETURN rec; +END; +$body$ LANGUAGE plpgsql From ecf191a525e1239f52c2b6890a8299e8b05f6659 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Wed, 26 Aug 2020 16:22:09 +0530 Subject: [PATCH 02/28] [skip ci] [skip ci] --- src/services/updateInformix.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 3b7cf86..7e545ac 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -4,7 +4,12 @@ const logger = require('../common/logger') String.prototype.escapeSpecialChars = function () { return this.replace(/\n/g, "\\n") - .replace(/\r/g, "\\r"); + .replace(/\r/g, "\\r") + .replace(/\t/g, "\\t") + .replace(/\b/g, "\\b") + .replace(/\f/g, "\\f") + .replace(/\&/g, "\\&"); + }; async function updateInformix(payload) { From ad093ac97853d8f7064c0b7a929a28bd93ce75f3 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Wed, 26 Aug 2020 16:23:09 +0530 Subject: [PATCH 03/28] Update config.yml --- .circleci/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f0e269d..7109743 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,7 +44,6 @@ build_steps: &build_steps ./awsconfiguration.sh ${DEPLOY_ENV} source awsenvconf - #scorecard test consumer remove later #./buildenv.sh -e ${DEPLOY_ENV} -b ${LOGICAL_ENV}-${APP_NAME}-consumer_scorecard-deployvar #source buildenvvar @@ -61,7 +60,6 @@ build_steps: &build_steps source buildenvvar ./master_deploy.sh -d ECS -e ${DEPLOY_ENV} -t latest -s ${GLOBAL_ENV}-global-appvar,${LOGICAL_ENV}-${APP_NAME}-appvar -i postgres-ifx-processer - #echo "Running Masterscript - deploy postgres-ifx-processer producer" #if [ -e ${LOGICAL_ENV}-${APP_NAME}-consumer-deployvar.json ]; then sudo rm -vf ${LOGICAL_ENV}-${APP_NAME}-consumer-deployvar.json; fi #./buildenv.sh -e ${DEPLOY_ENV} -b ${LOGICAL_ENV}-${APP_NAME}-producer-deployvar From c03b0d2fb487f11359e69ea3d20715376c4b82fd Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Wed, 26 Aug 2020 16:36:08 +0530 Subject: [PATCH 04/28] Update updateInformix.js --- src/services/updateInformix.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 7e545ac..cc753bf 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -6,7 +6,6 @@ String.prototype.escapeSpecialChars = function () { return this.replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") - .replace(/\b/g, "\\b") .replace(/\f/g, "\\f") .replace(/\&/g, "\\&"); From a84c4804fa7158a3ac2439df6f98fbd8fd98c8c4 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Wed, 26 Aug 2020 16:56:52 +0530 Subject: [PATCH 05/28] Update updateInformix.js --- src/services/updateInformix.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index cc753bf..11dafe7 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -6,8 +6,7 @@ String.prototype.escapeSpecialChars = function () { return this.replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") - .replace(/\f/g, "\\f") - .replace(/\&/g, "\\&"); + .replace(/\f/g, "\\f"); }; From 0c5b1bedcf7fd0bf0fc54ad81ce431b3a54b392d Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Wed, 26 Aug 2020 17:37:01 +0530 Subject: [PATCH 06/28] Update updateInformix.js --- src/services/updateInformix.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 11dafe7..f21cc7d 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -6,7 +6,8 @@ String.prototype.escapeSpecialChars = function () { return this.replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") - .replace(/\f/g, "\\f"); + .replace(/\f/g, "\\f") + .replace(/\\/g, "\\\"); }; From 0473dd445c3735ed4c46e2bc255e65d7081eefbf Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Wed, 26 Aug 2020 17:43:27 +0530 Subject: [PATCH 07/28] Update updateInformix.js --- src/services/updateInformix.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index f21cc7d..5910ea3 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -6,9 +6,7 @@ String.prototype.escapeSpecialChars = function () { return this.replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") - .replace(/\f/g, "\\f") - .replace(/\\/g, "\\\"); - + .replace(/\f/g, "\\f"); }; async function updateInformix(payload) { From af7941c034502cf76b02b5a76afaf8e7adae78c5 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 27 Aug 2020 16:29:21 +0530 Subject: [PATCH 08/28] Update updateInformix.js --- src/services/updateInformix.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 5910ea3..5d7e411 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -6,7 +6,8 @@ String.prototype.escapeSpecialChars = function () { return this.replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") - .replace(/\f/g, "\\f"); + .replace(/\f/g, "\\f") + .replace("/\/g", "\\"); }; async function updateInformix(payload) { From 5d395f80439eb27729988beaf8f1c34d07e2df5f Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 27 Aug 2020 16:47:11 +0530 Subject: [PATCH 09/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 5d7e411..9c1b869 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -7,7 +7,7 @@ String.prototype.escapeSpecialChars = function () { .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") .replace(/\f/g, "\\f") - .replace("/\/g", "\\"); + .replace("/\/g", "\"); }; async function updateInformix(payload) { From d4acfa804fa81f54733e3db6d0ddc8a6e2d7345d Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 27 Aug 2020 16:56:19 +0530 Subject: [PATCH 10/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 9c1b869..f49ab8f 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -7,7 +7,7 @@ String.prototype.escapeSpecialChars = function () { .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") .replace(/\f/g, "\\f") - .replace("/\/g", "\"); + .replace("|\|","\\"); }; async function updateInformix(payload) { From 6bd736f6bae6918231aea4f780dd352cc36123c9 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 27 Aug 2020 17:06:08 +0530 Subject: [PATCH 11/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index f49ab8f..9becae0 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -7,7 +7,7 @@ String.prototype.escapeSpecialChars = function () { .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") .replace(/\f/g, "\\f") - .replace("|\|","\\"); + .replace("|\|g","\\\\"); }; async function updateInformix(payload) { From 550305f68805cf4ad0184140e65b6d61f86a429f Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 27 Aug 2020 17:17:27 +0530 Subject: [PATCH 12/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 9becae0..ac832ec 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -7,7 +7,7 @@ String.prototype.escapeSpecialChars = function () { .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") .replace(/\f/g, "\\f") - .replace("|\|g","\\\\"); + .replace("/\/g","\\\"); }; async function updateInformix(payload) { From 2a53649509aa3bc9d5dcb330380101e2259e8299 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 27 Aug 2020 17:28:36 +0530 Subject: [PATCH 13/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index ac832ec..536f931 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -7,7 +7,7 @@ String.prototype.escapeSpecialChars = function () { .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") .replace(/\f/g, "\\f") - .replace("/\/g","\\\"); + .replace("|\|g","\\\"); }; async function updateInformix(payload) { From f166366ffca69562588a8ba3520bf98bd820f5b4 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 27 Aug 2020 17:30:13 +0530 Subject: [PATCH 14/28] Update updateInformix.js --- src/services/updateInformix.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 536f931..5910ea3 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -6,8 +6,7 @@ String.prototype.escapeSpecialChars = function () { return this.replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") - .replace(/\f/g, "\\f") - .replace("|\|g","\\\"); + .replace(/\f/g, "\\f"); }; async function updateInformix(payload) { From 900d3c73e1e2c4fa10b33f54d40a2cfc1e80da83 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Fri, 28 Aug 2020 15:36:50 +0530 Subject: [PATCH 15/28] Update updateInformix.js --- src/services/updateInformix.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 5910ea3..0fc080c 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -6,7 +6,8 @@ String.prototype.escapeSpecialChars = function () { return this.replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") - .replace(/\f/g, "\\f"); + .replace(/\f/g, "\\f") + .replace(/\\/g, "\\\\"); }; async function updateInformix(payload) { From fa11a6a746b8b33b9bd6bbb6c52aec46e172a4be Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Fri, 28 Aug 2020 16:58:53 +0530 Subject: [PATCH 16/28] Update updateInformix.js --- src/services/updateInformix.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 0fc080c..33e9e6b 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -6,8 +6,8 @@ String.prototype.escapeSpecialChars = function () { return this.replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") - .replace(/\f/g, "\\f") - .replace(/\\/g, "\\\\"); + .replace(/\f/g, "\\f"); + // .replace(/\\/g, "\\\\"); }; async function updateInformix(payload) { From 29e464a29b6704a572e1f8f6bc4d2d507d24a43f Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Fri, 28 Aug 2020 17:45:10 +0530 Subject: [PATCH 17/28] Update updateInformix.js --- src/services/updateInformix.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 33e9e6b..dd46a76 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -3,11 +3,16 @@ const informix = require('../common/informixWrapper') const logger = require('../common/logger') String.prototype.escapeSpecialChars = function () { - return this.replace(/\n/g, "\\n") +/* return this.replace(/\n/g, "\\n") + .replace(/\r/g, "\\r") + .replace(/\t/g, "\\t") + .replace(/\f/g, "\\f"); + // .replace(/\\/g, "\\\\"); */ + return this.replace(/\\/g, "\\\\") + .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") .replace(/\f/g, "\\f"); - // .replace(/\\/g, "\\\\"); }; async function updateInformix(payload) { From e07c1bba498e313da6d2bf1e668118b430952e9e Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Fri, 28 Aug 2020 19:11:29 +0530 Subject: [PATCH 18/28] Update updateInformix.js --- src/services/updateInformix.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index dd46a76..2e4e4df 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -8,7 +8,9 @@ String.prototype.escapeSpecialChars = function () { .replace(/\t/g, "\\t") .replace(/\f/g, "\\f"); // .replace(/\\/g, "\\\\"); */ + return this.replace(/\\/g, "\\\\") + .replace(/\\\"/g, '\\\\"') .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") From b56ade91250c56aa558cd8868a76257063a2cde3 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 31 Aug 2020 10:23:40 +0530 Subject: [PATCH 19/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 2e4e4df..c3f8153 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -10,7 +10,7 @@ String.prototype.escapeSpecialChars = function () { // .replace(/\\/g, "\\\\"); */ return this.replace(/\\/g, "\\\\") - .replace(/\\\"/g, '\\\\"') + // .replace(/\\\"/g, '\\\\"') .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") From 4451841469178e2ed1b807bdbca60ef993071e17 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 31 Aug 2020 11:55:18 +0530 Subject: [PATCH 20/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index c3f8153..dd96717 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -10,7 +10,7 @@ String.prototype.escapeSpecialChars = function () { // .replace(/\\/g, "\\\\"); */ return this.replace(/\\/g, "\\\\") - // .replace(/\\\"/g, '\\\\"') + .replace(/\\\"/g, '\\\"') .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") From 2df9c9f35d5be8ab8f2b23cc87e79765c9d34653 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 31 Aug 2020 12:06:03 +0530 Subject: [PATCH 21/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index dd96717..dc23ac4 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -10,7 +10,7 @@ String.prototype.escapeSpecialChars = function () { // .replace(/\\/g, "\\\\"); */ return this.replace(/\\/g, "\\\\") - .replace(/\\\"/g, '\\\"') + .replace(/\\"/g, '\\\"') .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") From b663e74832e4d8c97279b037f3dda0b85b004038 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 31 Aug 2020 12:52:21 +0530 Subject: [PATCH 22/28] Update updateInformix.js --- src/services/updateInformix.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index dc23ac4..9ce36c5 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -9,8 +9,8 @@ String.prototype.escapeSpecialChars = function () { .replace(/\f/g, "\\f"); // .replace(/\\/g, "\\\\"); */ - return this.replace(/\\/g, "\\\\") - .replace(/\\"/g, '\\\"') + return this.replace(/\\/g, "\\\") + //.replace(/\\"/g, '\\\"') .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") From 51be12ba909260adcd0b8cf9f4c61bf9752677ad Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 31 Aug 2020 12:58:52 +0530 Subject: [PATCH 23/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 9ce36c5..4d48be7 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -9,7 +9,7 @@ String.prototype.escapeSpecialChars = function () { .replace(/\f/g, "\\f"); // .replace(/\\/g, "\\\\"); */ - return this.replace(/\\/g, "\\\") + return this.replace(/\\/g, '\\') //.replace(/\\"/g, '\\\"') .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") From 3be25c1a4bfb6764785c917e7c95803512401a72 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 31 Aug 2020 16:26:38 +0530 Subject: [PATCH 24/28] [skip ci] [skip ci] --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index e27d0b3..7158aa1 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "lint:fix": "standard --env mocha --fix", "producer": "node ./src/producer.js", "producer_channel_2": "node ./src/producer.js", - "consumer": "node ./src/consumer.js", + "consumer": "nodemon ./src/consumer.js", "producer_dd": "node ./src/producer.js failover", "reconsiler1": "node ./src/reconsiler-audit.js", "reconsiler2": "node ./src/reconsiler-dd-new.js", @@ -28,6 +28,7 @@ "winston": "^3.2.1", "lodash": "^4.17.15", "topcoder-bus-api-wrapper": "^1.0.1", + "nodemon": "latest", "topcoder-healthcheck-dropin": "^1.0.3" }, "devDependencies": { From a18edbd17e3c3dab9684521dd3728b5606b6b823 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 31 Aug 2020 16:31:59 +0530 Subject: [PATCH 25/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index 4d48be7..fdd7500 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -10,7 +10,7 @@ String.prototype.escapeSpecialChars = function () { // .replace(/\\/g, "\\\\"); */ return this.replace(/\\/g, '\\') - //.replace(/\\"/g, '\\\"') + .replace(/\\\\\\\"/g, '\\\"') .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") From 6eec033d9f9d24386be4d79888c446abe4f8ad50 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 3 Sep 2020 18:44:53 +0530 Subject: [PATCH 26/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index fdd7500..ff4d914 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -9,7 +9,7 @@ String.prototype.escapeSpecialChars = function () { .replace(/\f/g, "\\f"); // .replace(/\\/g, "\\\\"); */ - return this.replace(/\\/g, '\\') + return this.replace(/\\/g, '\\\\') .replace(/\\\\\\\"/g, '\\\"') .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") From 8c943b654762d26b36f91205c7f1aa8b6f1e52d4 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 3 Sep 2020 19:03:31 +0530 Subject: [PATCH 27/28] Update updateInformix.js --- src/services/updateInformix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/updateInformix.js b/src/services/updateInformix.js index ff4d914..53b2b3b 100644 --- a/src/services/updateInformix.js +++ b/src/services/updateInformix.js @@ -10,7 +10,7 @@ String.prototype.escapeSpecialChars = function () { // .replace(/\\/g, "\\\\"); */ return this.replace(/\\/g, '\\\\') - .replace(/\\\\\\\"/g, '\\\"') + .replace(/\\\"/g, '\"') .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/\t/g, "\\t") From f96d314790d1f335ee1ba14f72caf4a504bfb393 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Fri, 11 Sep 2020 10:54:43 +0530 Subject: [PATCH 28/28] [skip ci] [skip ci] --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 7158aa1..e27d0b3 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "lint:fix": "standard --env mocha --fix", "producer": "node ./src/producer.js", "producer_channel_2": "node ./src/producer.js", - "consumer": "nodemon ./src/consumer.js", + "consumer": "node ./src/consumer.js", "producer_dd": "node ./src/producer.js failover", "reconsiler1": "node ./src/reconsiler-audit.js", "reconsiler2": "node ./src/reconsiler-dd-new.js", @@ -28,7 +28,6 @@ "winston": "^3.2.1", "lodash": "^4.17.15", "topcoder-bus-api-wrapper": "^1.0.1", - "nodemon": "latest", "topcoder-healthcheck-dropin": "^1.0.3" }, "devDependencies": {