From fc3fb39c90ab7fe5fccbe3f3bc0eb2645157bb96 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 13 Dec 2023 21:57:53 +0300 Subject: Switch to build2 --- libcommon/common/common.cxx | 360 -------------------------------------------- 1 file changed, 360 deletions(-) delete mode 100644 libcommon/common/common.cxx (limited to 'libcommon/common/common.cxx') diff --git a/libcommon/common/common.cxx b/libcommon/common/common.cxx deleted file mode 100644 index 4b8afe1..0000000 --- a/libcommon/common/common.cxx +++ /dev/null @@ -1,360 +0,0 @@ -// file : libcommon/common/common.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -#include // std::exit -#include // std::move -#include - -#include - -#include -#include - -using namespace std; -using namespace odb::core; - - -// MySQL. -// -#if defined(DATABASE_MYSQL) || defined(DATABASE_COMMON) - -#include -#include - -static auto_ptr -create_mysql_database (int& argc, char* argv[], bool, size_t max_connections) -{ - namespace mysql = odb::mysql; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new mysql::connection_pool_factory (max_connections)); - - return auto_ptr ( - new mysql::database (argc, argv, false, "", 0, -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); -} -#endif // MySQL - - -// SQLite. -// -#if defined(DATABASE_SQLITE) || defined(DATABASE_COMMON) - -#include -#include -#include -#include -#include - -static auto_ptr -create_sqlite_database (int& argc, - char* argv[], - bool schema, - size_t max_connections) -{ - namespace sqlite = odb::sqlite; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new sqlite::connection_pool_factory (max_connections)); - - auto_ptr db ( - new sqlite::database ( - argc, argv, false, - SQLITE_OPEN_READWRITE - | SQLITE_OPEN_CREATE -#ifdef SQLITE_OPEN_URI - | SQLITE_OPEN_URI -#endif - , - true, - "", -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); - - // Create the database schema. Due to bugs in SQLite foreign key - // support for DDL statements, we need to temporarily disable - // foreign keys. - // - if (schema) - { - connection_ptr c (db->connection ()); - - c->execute ("PRAGMA foreign_keys=OFF"); - - transaction t (c->begin ()); - schema_catalog::create_schema (*db); - t.commit (); - - c->execute ("PRAGMA foreign_keys=ON"); - } - - return db; -} -#endif // SQLite - - -// PostgreSQL. -// -#if defined(DATABASE_PGSQL) || defined(DATABASE_COMMON) - -#include -#include - -static auto_ptr -create_pgsql_database (int& argc, char* argv[], bool, size_t max_connections) -{ - namespace pgsql = odb::pgsql; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new pgsql::connection_pool_factory (max_connections)); - - return auto_ptr ( - new pgsql::database (argc, argv, false, "", -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); -} -#endif // PostgreSQL - - -// Oracle. -// -#if defined(DATABASE_ORACLE) || defined(DATABASE_COMMON) - -#include -#include - -static auto_ptr -create_oracle_database (int& argc, char* argv[], bool, size_t max_connections) -{ - namespace oracle = odb::oracle; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new oracle::connection_pool_factory (max_connections)); - - // Set client database character set and client national character set - // to UTF-8. - // - return auto_ptr ( - new oracle::database (argc, argv, false, 873, 873, 0, -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); -} -#endif // Oracle - -// SQL Server. -// -#if defined(DATABASE_MSSQL) || defined(DATABASE_COMMON) - -#include -#include - -static auto_ptr -create_mssql_database (int& argc, char* argv[], bool, size_t max_connections) -{ - namespace mssql = odb::mssql; - -#ifdef HAVE_CXX11 - unique_ptr f; -#else - auto_ptr f; -#endif - - if (max_connections != 0) - f.reset (new mssql::connection_pool_factory (max_connections)); - - return auto_ptr ( - new mssql::database (argc, argv, false, "", - mssql::isolation_read_committed, 0, - -#ifdef HAVE_CXX11 - move (f) -#else - f -#endif - )); -} -#endif // SQL Server - -// -// -auto_ptr -create_database (int argc, - char* argv[], - bool schema, - size_t max_connections, -#if defined(DATABASE_COMMON) - odb::database_id db -#else - odb::database_id -#endif -) -{ - char** argp = argv + 1; // Position of the next argument. Assignment for VC8. - int argn (argc - 1); // Number of arguments left. - -#if defined(DATABASE_COMMON) - // Figure out which database we are creating. We may be given the - // database name as a program argument or as an id. - // - if (db == odb::id_common && argn != 0) - { - string s (*argp); - - if (s == "mysql") - db = odb::id_mysql; - else if (s == "sqlite") - db = odb::id_sqlite; - else if (s == "pgsql") - db = odb::id_pgsql; - else if (s == "oracle") - db = odb::id_oracle; - else if (s == "mssql") - db = odb::id_mssql; - - if (db != odb::id_common) - { - argp++; - argn--; - } - } - - if (db == odb::id_common) - { - cerr << "Usage: " << argv[0] << " [options]" << endl; - exit (1); - } -#endif - - if (argn != 0 && *argp == string ("--help")) - { -#if defined(DATABASE_COMMON) - cout << "Usage: " << argv[0] << " [options]" << endl; -#else - cout << "Usage: " << argv[0] << " [options]" << endl; -#endif - - cout << "Options:" << endl; - -#if defined(DATABASE_MYSQL) - odb::mysql::database::print_usage (cout); -#elif defined(DATABASE_SQLITE) - odb::sqlite::database::print_usage (cout); -#elif defined(DATABASE_PGSQL) - odb::pgsql::database::print_usage (cout); -#elif defined(DATABASE_ORACLE) - odb::oracle::database::print_usage (cout); -#elif defined(DATABASE_MSSQL) - odb::mssql::database::print_usage (cout); -#elif defined(DATABASE_COMMON) - switch (db) - { - case odb::id_mysql: - odb::mysql::database::print_usage (cout); - break; - case odb::id_sqlite: - odb::sqlite::database::print_usage (cout); - break; - case odb::id_pgsql: - odb::pgsql::database::print_usage (cout); - break; - case odb::id_oracle: - odb::oracle::database::print_usage (cout); - break; - case odb::id_mssql: - odb::mssql::database::print_usage (cout); - break; - case odb::id_common: - assert (false); - } -#else -# error unknown database -#endif - - exit (0); - } - -#if defined(DATABASE_MYSQL) - return create_mysql_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_SQLITE) - return create_sqlite_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_PGSQL) - return create_pgsql_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_ORACLE) - return create_oracle_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_MSSQL) - return create_mssql_database (argc, argv, schema, max_connections); -#elif defined(DATABASE_COMMON) - switch (db) - { - case odb::id_mysql: - return create_mysql_database (argc, argv, schema, max_connections); - case odb::id_sqlite: - return create_sqlite_database (argc, argv, schema, max_connections); - case odb::id_pgsql: - return create_pgsql_database (argc, argv, schema, max_connections); - case odb::id_oracle: - return create_oracle_database (argc, argv, schema, max_connections); - case odb::id_mssql: - return create_mssql_database (argc, argv, schema, max_connections); - case odb::id_common: - assert (false); - } - return auto_ptr (); -#else -# error unknown database -#endif -} - -bool -size_available () -{ -#if defined(DATABASE_SQLITE) || \ - defined(DATABASE_ORACLE) || \ - defined(DATABASE_MSSQL) || \ - defined(DATABASE_COMMON) - return false; -#else - return true; -#endif -} -- cgit v1.1