From 4d3dc7b7e354e6aeb5270d6fe899dbc12098ef1d Mon Sep 17 00:00:00 2001 From: Rahim Kanji Date: Fri, 8 Aug 2025 17:02:46 +0500 Subject: [PATCH] Fixed DISCARD ALL tag --- lib/PgSQL_Protocol.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/PgSQL_Protocol.cpp b/lib/PgSQL_Protocol.cpp index 073a209cc..fab67357a 100644 --- a/lib/PgSQL_Protocol.cpp +++ b/lib/PgSQL_Protocol.cpp @@ -1436,6 +1436,7 @@ char* extract_tag_from_query(const char* query) { constexpr size_t create_table_len = sizeof("CREATE TABLE AS") - 1; constexpr size_t deallocate_all_len = sizeof("DEALLOCATE ALL") - 1; constexpr size_t deallocate_prepare_all_len = sizeof("DEALLOCATE PREPARE ALL") - 1; + constexpr size_t discard_all_len = sizeof("DISCARD ALL") - 1; size_t qtlen = strlen(query); if ((qtlen > create_table_len) && strncasecmp(query, "CREATE TABLE AS", create_table_len) == 0) { @@ -1444,6 +1445,8 @@ char* extract_tag_from_query(const char* query) { (strncasecmp(query, "DEALLOCATE ALL", deallocate_all_len) == 0 || strncasecmp(query, "DEALLOCATE PREPARE ALL", deallocate_prepare_all_len) == 0)) { return strdup("DEALLOCATE ALL"); + } else if ((qtlen >= discard_all_len) && (strncasecmp(query, "DISCARD ALL", discard_all_len) == 0)) { + return strdup("DISCARD ALL"); } else { const char* fs = strchr(query, ' ');