summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwangwei <[email protected]>2022-10-13 15:47:43 +0800
committerwangwei <[email protected]>2022-10-13 15:47:43 +0800
commitd0ea78938e205c143fbb8d59b69b1fa754522b0d (patch)
treec3c63f7b557f72fade48c9b5ef8dad14897fca01
parentc00aeeb7cd199bf3b33f7b5c32cb39b84f8bc943 (diff)
fix(jsqlparser):升级jsqlparser版本至4.4
-rw-r--r--config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/ck-queries-template.sql4
-rw-r--r--config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/engine-queries-template.sql2
-rw-r--r--config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/ck-queries-template.sql2
-rw-r--r--config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/engine-queries-template.sql2
-rw-r--r--pom.xml2
-rw-r--r--src/main/java/com/mesalab/common/utils/sqlparser/SQLSyntaxParserUtil.java7
6 files changed, 14 insertions, 5 deletions
diff --git a/config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/ck-queries-template.sql b/config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/ck-queries-template.sql
index ac0eba6c..a057c55f 100644
--- a/config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/ck-queries-template.sql
+++ b/config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/ck-queries-template.sql
@@ -1,4 +1,6 @@
--Q01.TOP 10 Active Client IP
SELECT common_client_ip AS client_ip, SUM(common_sessions) as sessions, SUM(common_c2s_pkt_num + common_s2c_pkt_num) as packets, SUM(common_c2s_byte_num + common_s2c_byte_num) as bytes FROM metric_top_entity WHERE common_recv_time >= toUnixTimestamp(@start) AND common_recv_time < toUnixTimestamp(@end) AND group_by = 'common_client_ip' AND order_by = 'sessions' AND time_granularity = 60 GROUP BY client_ip ORDER BY sessions desc limit 10
--Q02.Network Throughput
-SELECT toUnixTimestamp(toDateTime(toStartOfInterval(toDateTime(common_recv_time),INTERVAL 36 SECOND))) AS stat_time,ROUND(SUM(common_c2s_byte_num)/36) AS bytes_sent_rate,ROUND(SUM(common_s2c_byte_num)/36) AS bytes_received_rate,ROUND(SUM(common_c2s_byte_num + common_s2c_byte_num)/36) AS bytes_rate FROM session_record_cn WHERE common_recv_time >= toUnixTimestamp(@start) AND common_recv_time < toUnixTimestamp(@end) GROUP BY stat_time \ No newline at end of file
+SELECT toUnixTimestamp(toDateTime(toStartOfInterval(toDateTime(common_recv_time),INTERVAL 36 SECOND))) AS stat_time,ROUND(SUM(common_c2s_byte_num)/36) AS bytes_sent_rate,ROUND(SUM(common_s2c_byte_num)/36) AS bytes_received_rate,ROUND(SUM(common_c2s_byte_num + common_s2c_byte_num)/36) AS bytes_rate FROM session_record_cn WHERE common_recv_time >= toUnixTimestamp(@start) AND common_recv_time < toUnixTimestamp(@end) GROUP BY stat_time
+--Q03.JSQLParserException(V4.1)
+SELECT arrayJoin(splitByChar('_', concat(egress_link_direction, '-egress', '_', ingress_link_direction, '-ingress'))) AS name, SUM(IF(endsWith(name, '-egress'), (IF(client_region IN ('IDC'), common_c2s_byte_num, 0)) + (IF(server_region IN ('IDC'), common_s2c_byte_num, 0)), (IF(client_region IN ('IDC'), common_s2c_byte_num, 0)) + (IF(server_region IN ('IDC'), common_c2s_byte_num, 0)) )) AS bytes, ROUND(AVG(common_establish_latency_ms)) AS establish_latency_ms_avg, ROUND(SUM(common_c2s_tcp_lostlen + common_s2c_tcp_lostlen)/ SUM(common_c2s_byte_num + common_s2c_byte_num + common_c2s_tcp_lostlen + common_s2c_tcp_lostlen), 4) AS tcp_lostlen_percent_avg FROM session_record_cn src WHERE common_recv_time >= toUnixTimestamp(@start) AND common_recv_time < toUnixTimestamp(@end) AND common_l4_protocol IN ('IPv4_TCP', 'IPv6_TCP') GROUP BY name ORDER BY bytes DESC \ No newline at end of file
diff --git a/config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/engine-queries-template.sql b/config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/engine-queries-template.sql
index c205e602..09eff0ea 100644
--- a/config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/engine-queries-template.sql
+++ b/config/nacos/config/fixed-127.0.0.1_8848-cn_nacos/data/config-data-tenant/cn/Galaxy/engine-queries-template.sql
@@ -2,5 +2,5 @@
SELECT TIME_FLOOR_WITH_FILL(UNIX_TIMESTAMP(common_recv_time),'PT36S','zero') AS stat_time,ROUND(SUM(common_c2s_byte_num)/36) AS bytes_sent_rate,ROUND(SUM(common_s2c_byte_num)/36) AS bytes_received_rate,ROUND(SUM(common_c2s_byte_num + common_s2c_byte_num)/36) AS bytes_rate FROM session_record_cn WHERE common_recv_time >= toUnixTimestamp(@start) AND common_recv_time < toUnixTimestamp(@end) GROUP BY stat_time
--Q02.TCP Connection Establish Time Map
SELECT ROUND(AVG(common_establish_latency_ms)) AS establish_latency, ROUND(QUANTILE(common_establish_latency_ms,0.5)) AS establish_latency_p50, ROUND(QUANTILE(common_establish_latency_ms,0.9)) AS establish_latency_p90, ROUND(QUANTILE(common_establish_latency_ms,0.99)) AS establish_latency_p99, server_country AS server_country FROM metric_map WHERE common_recv_time >= toUnixTimestamp(@start) AND common_recv_time < toUnixTimestamp(@end) AND common_l4_protocol IN ('IPv4_TCP','IPv6_TCP') AND server_country != '' GROUP BY server_country ORDER BY establish_latency DESC
--Q03.QUANTILE(elasticsearch)
+--Q03.QUANTILE(elasticsearch)
SELECT QUANTILE(domain_reputation_score, 0.6) AS quantile_score_6 FROM entity_info WHERE update_time >= cast(now() as long)/1000 -3600 AND update_time < cast(now() as long)/1000 -3600 limit 1 \ No newline at end of file
diff --git a/config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/ck-queries-template.sql b/config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/ck-queries-template.sql
index 51a37d1b..59f86808 100644
--- a/config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/ck-queries-template.sql
+++ b/config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/ck-queries-template.sql
@@ -116,3 +116,5 @@ select common_client_ip as "Client IP" , count(1) as Sessions,sum(common_c2s_byt
select common_server_ip as "Server IP" , count(1) as Sessions,sum(common_c2s_byte_num) as "Bytes Out", sum(common_s2c_byte_num) as "Bytes In",any(common_server_location) as Location FROM tsg_galaxy_v3.session_record where common_recv_time >= toDateTime(@start) AND common_recv_time < toDateTime(@end) and common_l7_protocol='SIP' group by "Server IP" order by Sessions desc limit 100
--Q59.Top5 Server IP keys with Unique Client IPs Trend (Grain 5 minute)
SELECT toDateTime(intDiv(toUInt32(toDateTime(toDateTime(common_recv_time))),300)*300) AS _time , common_server_ip AS server_ip, COUNT(DISTINCT(common_client_ip)) AS nums FROM tsg_galaxy_v3.session_record AS session_record WHERE common_recv_time >= toDateTime(@start) AND common_recv_time < toDateTime(@end) AND common_server_ip IN ( SELECT common_server_ip FROM tsg_galaxy_v3.session_record AS session_record WHERE common_recv_time >= toDateTime(@start) AND common_recv_time < toDateTime(@end) GROUP BY common_server_ip ORDER BY count(*) DESC LIMIT 5 ) GROUP BY toDateTime(intDiv(toUInt32(toDateTime(toDateTime(common_recv_time))),300)*300) , server_ip ORDER BY toDateTime(intDiv(toUInt32(toDateTime(toDateTime(common_recv_time))),300)*300) DESC LIMIT 100
+--Q60.JSQLParserException(V4.2)
+select round(tcp_logs / logs, 2) as "TCP Percentage", round(udp_logs / logs, 2) as "UDP Percentage", round(egress_bytes / bytes, 2) as "Egress Percentage", round(ingress_bytes / bytes, 2) as "Ingress Percentage", tcp_logs as "TCP Logs", udp_logs as "UDP Logs", logs as "Logs", egress_bytes as "Egress Bytes", ingress_bytes as "Ingress Bytes", bytes as "Bytes" from (select sum(if(common_l4_protocol in('IPv4_TCP', 'IPv6_TCP'), 1, 0)) as tcp_logs, sum(if(common_l4_protocol in('IPv4_UDP', 'IPv6_UDP'), 1, 0)) as udp_logs, sum(if(common_direction = 69, common_c2s_byte_num, common_s2c_byte_num)) as egress_bytes, sum(if(common_direction = 73, common_c2s_byte_num, common_s2c_byte_num)) as ingress_bytes, count(*) as logs, sum(common_c2s_byte_num + common_s2c_byte_num) as bytes from session_record as sub_connection where common_recv_time >= toUnixTimestamp(@start) and common_recv_time < toUnixTimestamp(@end))
diff --git a/config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/engine-queries-template.sql b/config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/engine-queries-template.sql
index 3d13d444..4893ad77 100644
--- a/config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/engine-queries-template.sql
+++ b/config/nacos/config/fixed-127.0.0.1_8848-tsg_nacos/data/config-data-tenant/tsg/Galaxy/engine-queries-template.sql
@@ -128,5 +128,5 @@ SELECT device_id from traffic_metrics_log where __time >= @start and __time < @e
SELECT QUANTILE(common_c2s_byte_num) AS c2s FROM session_record WHERE common_recv_time >= toDateTime(@start) AND common_recv_time < toDateTime(@end) AND (common_l4_protocol IN ('IPv4_UDP', 'IPv6_UDP')) LIMIT 1
--Q65.QUANTILE(druid)
SELECT QUANTILE(established_conn_num, 0.6) FROM traffic_metrics_log WHERE __time >= @start AND __time < @end limit 1
---66.Top Optimizer
+--Q66.Top Optimizer
SELECT common_client_ip AS common_client_ip, count(*) AS count, sum(common_c2s_byte_num + common_s2c_byte_num) / 1024 / 1024 AS bytes_MB FROM session_record WHERE common_recv_time >= toDateTime(@start) AND common_recv_time < toDateTime(@end) GROUP BY common_client_ip ORDER BY count DESC LIMIT 10 \ No newline at end of file
diff --git a/pom.xml b/pom.xml
index ba72df0a..bb2a6294 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,7 @@
<json.schema.version>2.2.10</json.schema.version>
<zdjizhi.version>1.1.0</zdjizhi.version>
<uaAnalyser.version>1.0-RELEASE</uaAnalyser.version>
- <jsqlparser.version>4.1</jsqlparser.version>
+ <jsqlparser.version>4.4</jsqlparser.version>
<google.gson.version>2.8.6</google.gson.version>
<hbase.client.version>2.2.3</hbase.client.version>
<hutool.version>5.5.4</hutool.version>
diff --git a/src/main/java/com/mesalab/common/utils/sqlparser/SQLSyntaxParserUtil.java b/src/main/java/com/mesalab/common/utils/sqlparser/SQLSyntaxParserUtil.java
index b06c5176..55882165 100644
--- a/src/main/java/com/mesalab/common/utils/sqlparser/SQLSyntaxParserUtil.java
+++ b/src/main/java/com/mesalab/common/utils/sqlparser/SQLSyntaxParserUtil.java
@@ -275,7 +275,12 @@ public class SQLSyntaxParserUtil {
InExpression inExpression = (InExpression) expression;
resultMap.put(NODE, IN_EXPRESSION);
resultMap.put(LEFT_EXPRESSION, getExpression(inExpression.getLeftExpression()));
- resultMap.put(RIGHT_EXPRESSION, getItemsList(inExpression.getRightItemsList()));
+ if (StringUtil.isNotEmpty(inExpression.getRightItemsList())) {
+ resultMap.put(RIGHT_EXPRESSION, getItemsList(inExpression.getRightItemsList()));
+ }
+ if (StringUtil.isNotEmpty(inExpression.getRightExpression())) {
+ resultMap.put(RIGHT_EXPRESSION, getExpression(inExpression.getRightExpression()));
+ }
} else {
log.warn("Not Support This Expression: {}", expression);
resultMap.put(NODE, VALUE_U);