From de2204c07f93c4e97665dabb19021ec8204e733a Mon Sep 17 00:00:00 2001 From: Frank Park Date: Sat, 25 Mar 2017 17:01:12 -0400 Subject: [PATCH] add copyright notice and comment on free_connection --- include/sqlpp11/connection_pool.h | 39 +++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/include/sqlpp11/connection_pool.h b/include/sqlpp11/connection_pool.h index 6811a9d7..571eee26 100644 --- a/include/sqlpp11/connection_pool.h +++ b/include/sqlpp11/connection_pool.h @@ -1,4 +1,32 @@ -#pragma once +/* +* Copyright (c) 2013 - 2016, 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. +*/ + +#ifndef SQLPP_CONNECTION_POOL_H +#define SQLPP_CONNECTION_POOL_H + #include #include #include @@ -60,7 +88,9 @@ namespace sqlpp return std::unique_ptr(); } } - + + // Caller is responsible for making sure the connection being + // returned has the same configuration as the connection pool. void free_connection(std::unique_ptr connection) { std::lock_guard lock(connection_pool_mutex); @@ -70,9 +100,6 @@ namespace sqlpp } else { - // TODO: we don't know if the connection is originally from this connection pool. - // There's no way to check because we don't have access to config info in the Connection class: - // connection.get()->_handle->config --- _handle is private if (connection.get()) { free_connections.push(std::move(connection)); @@ -85,3 +112,5 @@ namespace sqlpp } }; } + +#endif