diff options
Diffstat (limited to 'libcommon')
-rw-r--r-- | libcommon/common/common.cxx | 14 | ||||
-rw-r--r-- | libcommon/common/makefile | 3 |
2 files changed, 17 insertions, 0 deletions
diff --git a/libcommon/common/common.cxx b/libcommon/common/common.cxx index a6fa4e1..37f8424 100644 --- a/libcommon/common/common.cxx +++ b/libcommon/common/common.cxx @@ -18,6 +18,9 @@ # include <odb/schema-catalog.hxx> # include <odb/sqlite/database.hxx> # include <odb/sqlite/connection-factory.hxx> +#elif defined(DATABASE_PGSQL) +# include <odb/pgsql/database.hxx> +# include <odb/pgsql/connection-factory.hxx> #else # error unknown database #endif @@ -31,6 +34,8 @@ using namespace odb::core; namespace mysql = odb::mysql; #elif defined(DATABASE_SQLITE) namespace sqlite = odb::sqlite; +#elif defined(DATABASE_PGSQL) +namespace pgsql = odb::pgsql; #endif auto_ptr<database> @@ -52,6 +57,8 @@ create_database (int& argc, mysql::database::print_usage (cerr); #elif defined(DATABASE_SQLITE) sqlite::database::print_usage (cerr); +#elif defined(DATABASE_PGSQL) + pgsql::database::print_usage (cerr); #endif exit (0); @@ -84,6 +91,13 @@ create_database (int& argc, schema_catalog::create_schema (*db); t.commit (); } +#elif defined(DATABASE_PGSQL) + auto_ptr<pgsql::connection_factory> f; + + if (max_connections != 0) + f.reset (new pgsql::connection_pool_factory (max_connections)); + + db.reset (new pgsql::database (argc, argv, false, "", f)); #endif return db; diff --git a/libcommon/common/makefile b/libcommon/common/makefile index ae7d2ce..326f1f6 100644 --- a/libcommon/common/makefile +++ b/libcommon/common/makefile @@ -55,6 +55,9 @@ endif ifeq ($(db_id),sqlite) @echo '#define DATABASE_SQLITE 1' >>$@ endif +ifeq ($(db_id),pgsql) + @echo '#define DATABASE_PGSQL 1' >>$@ +endif @echo '#define HAVE_TR1_MEMORY 1' >>$@ @echo '' >>$@ @echo '#endif /* LIBCOMMON_COMMON_CONFIG_H */' >>$@ |