summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/components/sqldb
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/trunk/components/sqldb')
-rw-r--r--sca-cpp/trunk/components/sqldb/pgsql.hpp13
-rw-r--r--sca-cpp/trunk/components/sqldb/sqldb.cpp4
2 files changed, 14 insertions, 3 deletions
diff --git a/sca-cpp/trunk/components/sqldb/pgsql.hpp b/sca-cpp/trunk/components/sqldb/pgsql.hpp
index d38af54c97..581cd943e6 100644
--- a/sca-cpp/trunk/components/sqldb/pgsql.hpp
+++ b/sca-cpp/trunk/components/sqldb/pgsql.hpp
@@ -91,6 +91,17 @@ public:
debug("pgsql::pgsql::copy");
}
+ const PGSql& operator=(const PGSql& c) {
+ debug("pgsql::pgsql::operator=");
+ if(this == &c)
+ return *this;
+ owner = false;
+ conn = c.conn;
+ conninfo = c.conninfo;
+ table = c.table;
+ return *this;
+ }
+
~PGSql() {
debug("pgsql::~pgsql");
if (!owner)
@@ -104,7 +115,7 @@ private:
bool owner;
PGconn *conn;
string conninfo;
- const string table;
+ string table;
string kname;
string vname;
diff --git a/sca-cpp/trunk/components/sqldb/sqldb.cpp b/sca-cpp/trunk/components/sqldb/sqldb.cpp
index bbf118385e..9925897693 100644
--- a/sca-cpp/trunk/components/sqldb/sqldb.cpp
+++ b/sca-cpp/trunk/components/sqldb/sqldb.cpp
@@ -120,8 +120,8 @@ private:
*/
const failable<value> start(unused const list<value>& params) {
// Connect to the configured database and table
- const value conninfo = ((lambda<value(list<value>)>)car(params))(list<value>());
- const value table = ((lambda<value(list<value>)>)cadr(params))(list<value>());
+ const value conninfo = ((lambda<value(const list<value>&)>)car(params))(list<value>());
+ const value table = ((lambda<value(const list<value>&)>)cadr(params))(list<value>());
const perthread_ptr<pgsql::PGSql> pg(lambda<gc_ptr<pgsql::PGSql>()>(newPGSql(conninfo, table)));
// Return the component implementation lambda function