From d617ac4a9beedf7f7445c6704d628adc32d228fa Mon Sep 17 00:00:00 2001
From: Steven Murray <Steven.Murray@cern.ch>
Date: Fri, 20 Sep 2019 11:38:06 +0200
Subject: [PATCH] Permanently removed the concept of
 rdbms::UnexpectedSemicolon.  The rdbms package should avoid trying to parse
 SQL, at least for now.

---
 rdbms/CMakeLists.txt          |  3 +--
 rdbms/Conn.cpp                |  1 -
 rdbms/ConnTest.cpp            | 18 --------------
 rdbms/UnexpectedSemicolon.cpp | 32 -------------------------
 rdbms/UnexpectedSemicolon.hpp | 45 -----------------------------------
 5 files changed, 1 insertion(+), 98 deletions(-)
 delete mode 100644 rdbms/UnexpectedSemicolon.cpp
 delete mode 100644 rdbms/UnexpectedSemicolon.hpp

diff --git a/rdbms/CMakeLists.txt b/rdbms/CMakeLists.txt
index b674fc05c1..a3fa9ad9df 100644
--- a/rdbms/CMakeLists.txt
+++ b/rdbms/CMakeLists.txt
@@ -29,8 +29,7 @@ set (RDBMS_LIB_SRC_FILES
   rdbms.cpp
   Rset.cpp
   Stmt.cpp
-  StmtPool.cpp
-  UnexpectedSemicolon.cpp)
+  StmtPool.cpp)
 
 add_library (ctardbms SHARED
   ${RDBMS_LIB_SRC_FILES})
diff --git a/rdbms/Conn.cpp b/rdbms/Conn.cpp
index e101a5197e..7c5530109a 100644
--- a/rdbms/Conn.cpp
+++ b/rdbms/Conn.cpp
@@ -21,7 +21,6 @@
 #include "rdbms/Conn.hpp"
 #include "rdbms/ConnPool.hpp"
 #include "rdbms/rdbms.hpp"
-#include "rdbms/UnexpectedSemicolon.hpp"
 
 namespace cta {
 namespace rdbms {
diff --git a/rdbms/ConnTest.cpp b/rdbms/ConnTest.cpp
index f317d99456..75db5e60a7 100644
--- a/rdbms/ConnTest.cpp
+++ b/rdbms/ConnTest.cpp
@@ -20,7 +20,6 @@
 #include "rdbms/ConnPool.hpp"
 #include "rdbms/ConnTest.hpp"
 #include "rdbms/Login.hpp"
-#include "rdbms/UnexpectedSemicolon.hpp"
 
 #include <gtest/gtest.h>
 
@@ -149,23 +148,6 @@ TEST_P(cta_rdbms_ConnTest, createTableInMemoryDatabase_executeNonQuery) {
   }
 }
 
-TEST_P(cta_rdbms_ConnTest, DISABLED_createTableInMemoryDatabase_executeNonQuery_semicolon) {
-  using namespace cta::rdbms;
-
-  const std::string sql = "CREATE TABLE POOLED_STMT_TEST(ID INTEGER);";
-
-  {
-    const Login login(Login::DBTYPE_SQLITE, "", "", "file::memory:?cache=shared", "", 0);
-    const uint64_t maxNbConns = 1;
-    ConnPool connPool(login, maxNbConns);
-    auto conn = connPool.getConn();
-
-    ASSERT_TRUE(conn.getTableNames().empty());
-
-    ASSERT_THROW(conn.executeNonQuery(sql), UnexpectedSemicolon);
-  }
-}
-
 TEST_P(cta_rdbms_ConnTest, createSameTableInTwoSeparateInMemoryDatabases_executeNonQuery) {
   using namespace cta::rdbms;
 
diff --git a/rdbms/UnexpectedSemicolon.cpp b/rdbms/UnexpectedSemicolon.cpp
deleted file mode 100644
index c2f084aacf..0000000000
--- a/rdbms/UnexpectedSemicolon.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * The CERN Tape Archive (CTA) project
- * Copyright (C) 2015  CERN
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "UnexpectedSemicolon.hpp"
-
-namespace cta {
-namespace rdbms {
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-UnexpectedSemicolon::UnexpectedSemicolon(const std::string &context, const bool embedBacktrace):
-  Exception(context, embedBacktrace) {
-}
-
-} // namespace rdbms
-} // namespace cta
diff --git a/rdbms/UnexpectedSemicolon.hpp b/rdbms/UnexpectedSemicolon.hpp
deleted file mode 100644
index 50b0961acd..0000000000
--- a/rdbms/UnexpectedSemicolon.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * The CERN Tape Archive (CTA) project
- * Copyright (C) 2015  CERN
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "common/exception/Exception.hpp"
-
-namespace cta {
-namespace rdbms {
-
-/**
- * Encountered an unexpected semicolon.
- */
-class UnexpectedSemicolon: public exception::Exception {
-public:
-
-  /**
-   * Constructor.
-   *
-   * @param context optional context string added to the message
-   * at initialisation time.
-   * @param embedBacktrace whether to embed a backtrace of where the
-   * exception was throw in the message
-   */
-  UnexpectedSemicolon(const std::string &context = "", const bool embedBacktrace = true);
-
-}; // class UnexpectedSemicolon
-
-} // namespace rdbms
-} // namespace cta
-- 
GitLab