From e65d44a4b90dcacb7742f45db3c4d574919f9123 Mon Sep 17 00:00:00 2001 From: Roland Bock Date: Thu, 3 Oct 2024 10:25:10 +0200 Subject: [PATCH] Add serialize test for `for_update` --- include/sqlpp11/core/clause/for_update.h | 2 +- tests/core/serialize/clause/CMakeLists.txt | 1 + tests/core/serialize/clause/for_update.cpp | 36 ++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 tests/core/serialize/clause/for_update.cpp diff --git a/include/sqlpp11/core/clause/for_update.h b/include/sqlpp11/core/clause/for_update.h index 4d3551fe..1aeaca3f 100644 --- a/include/sqlpp11/core/clause/for_update.h +++ b/include/sqlpp11/core/clause/for_update.h @@ -94,7 +94,7 @@ namespace sqlpp template auto to_sql_string(Context& , const for_update_data_t&) -> std::string { - return " FOR UPDATE "; + return " FOR UPDATE"; } inline auto for_update() -> decltype(statement_t().for_update()) diff --git a/tests/core/serialize/clause/CMakeLists.txt b/tests/core/serialize/clause/CMakeLists.txt index 0580ecc0..7cced8c8 100644 --- a/tests/core/serialize/clause/CMakeLists.txt +++ b/tests/core/serialize/clause/CMakeLists.txt @@ -30,6 +30,7 @@ function(create_test name) endfunction() create_test(group_by) +create_test(for_update) create_test(from) create_test(having) create_test(insert) diff --git a/tests/core/serialize/clause/for_update.cpp b/tests/core/serialize/clause/for_update.cpp new file mode 100644 index 00000000..c26df223 --- /dev/null +++ b/tests/core/serialize/clause/for_update.cpp @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2024, Roland Bock + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "Sample.h" +#include "../compare.h" +#include + +int main(int, char* []) +{ + // No parameters. + SQLPP_COMPARE(sqlpp::for_update(), " FOR UPDATE"); + + return 0; +}