Changeset - a0e0c8e75b6a
[Not reviewed]
Merge
0 9 0
HanzZ - 13 years ago 2013-01-11 22:35:42
hanzz.k@gmail.com
Merge remote-tracking branch 'jadestorm/master'
6 files changed with 45 insertions and 10 deletions:
0 comments (0 inline, 0 general)
CMakeLists.txt
Show inline comments
 
@@ -110,7 +110,7 @@ endif()
 
# FIND SQLITE3
 
if (ENABLE_SQLITE3)
 
	if (NOT CMAKE_COMPILER_IS_GNUCXX)
 
		ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/msvc-deps/sqlite3)
 
		ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/msvc-deps)
 
	else()
 
		if (WIN32)
 
			ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/msvc-deps/sqlite3)
backends/twitter/CMakeLists.txt
Show inline comments
 
@@ -5,6 +5,7 @@ add_executable(spectrum2_twitter_backend ${SRC})
 
if (NOT WIN32)
 
target_link_libraries(spectrum2_twitter_backend curl transport pthread ${Boost_LIBRARIES} ${SWIFTEN_LIBRARY} ${LOG4CXX_LIBRARIES})
 
else ()
 
include_directories("${CMAKE_SOURCE_DIR}/msvc-deps/curl/include")
 
target_link_libraries(spectrum2_twitter_backend libcurl_imp transport ${Boost_LIBRARIES} ${SWIFTEN_LIBRARY} ${LOG4CXX_LIBRARIES})
 
endif()
 

	
docs/guide/postgresql.textile
Show inline comments
 

	
 
h2. 1. Editing the configuration file
 

	
 
To configure Spectrum 2 to use PostgreSQL database, you have to edit following options in database section:
 
To configure Spectrum 2 to use PostgreSQL database, you have to edit some or more of the following options in database section.  Please note that connectionstring overrides everything else (aside from type).
 

	
 
|_. Section |_. Key |_. Type |_. Change to value |_. Description |
 
| database| type | string | pqxx | Database type - "none", "mysql", "sqlite3", "pqxx". |
 
| database| database | string | Name of the already create empty database | Database used to store data. |
 
| database| server | string | Database server | Database server. |
 
| database| port | string | Database port | Database port. |
 
| database| user | string | PostgreSQL user. | PostgreSQL user. |
 
| database| password | string | PostgreSQL Password. | PostgreSQL Password. |
 
| database| prefix | string | | Prefix of tables in database. |
 
| database| connectionstring | string | Postgres connection string | If you set this, it will ignore all other options above aside from type and prefix.  This allows you to set any typical postgres connection string option, separated by spaces (no semicolons). |
 

	
 
h2. 2. Creating the database
 

	
 
Spectrum 2 will create the database on the first execution. Once the database is created, you can remove the CREATE TABLE permissions to the PostgreSQL database user you use to connect the SQL.
 

	
 
h2. 3. Some examples
 

	
 
Using connectionstring:
 
[database]
 
type=pqxx
 
connectionstring=host=localhost database=spectrum2 user=myuser password=whatever
 

	
 
Using traditional options:
 
[database]
 
type=pqxx
 
server=localhost
 
database=spectrum2
 
user=myuser
 
password=whatever
packaging/fedora/spectrum2.spec
Show inline comments
 
@@ -25,7 +25,7 @@ BuildRequires: libidn-devel
 
BuildRequires: expat-devel
 
BuildRequires: avahi-devel
 
BuildRequires: log4cxx-devel
 
BuildRequires: swiften-devel
 
#BuildRequires: swiften-devel
 
BuildRequires: libcommuni-devel
 
Requires:      libtransport%{?_isa} = %{version}-%{release}
 

	
spectrum/src/sample2.cfg
Show inline comments
 
@@ -96,6 +96,10 @@ type = none
 
# Prefix used for tables
 
#prefix = jabber_
 

	
 
# Connection string (for pqxx only!)
 
# If you set this, it ignores every other database option except for type and prefix.
 
#connectionstring = host=localhost user=specturm password=secret
 

	
 
[registration]
 
# Enable public registrations
 
enable_public_registration=1
src/pqxxbackend.cpp
Show inline comments
 
@@ -48,21 +48,34 @@ void PQXXBackend::disconnect() {
 
}
 

	
 
bool PQXXBackend::connect() {
 
	std::string connection_str;
 
	connection_str = CONFIG_STRING(m_config, "database.connectionstring");
 
	if (connection_str.empty()) {
 
		LOG4CXX_INFO(logger, "Connecting PostgreSQL server " << CONFIG_STRING(m_config, "database.server") << ", user " <<
 
			CONFIG_STRING(m_config, "database.user") << ", database " << CONFIG_STRING(m_config, "database.database") <<
 
			", port " << CONFIG_INT(m_config, "database.port")
 
		);
 
	
 
	std::string str = "dbname=";
 
	str += CONFIG_STRING(m_config, "database.database") + " ";
 

	
 
	str += "user=" + CONFIG_STRING(m_config, "database.user") + " ";
 
		connection_str = "dbname=";
 
		connection_str += CONFIG_STRING(m_config, "database.database");
 
		if (!CONFIG_STRING(m_config, "database.server").empty()) {
 
			connection_str += " host=" + CONFIG_STRING(m_config, "database.server");
 
		}
 
		if (!CONFIG_STRING(m_config, "database.user").empty()) {
 
			connection_str += " user=" + CONFIG_STRING(m_config, "database.user");
 
		}
 
		if (!CONFIG_STRING(m_config, "database.password").empty()) {
 
		str += "password=" + CONFIG_STRING(m_config, "database.password") + " ";
 
			connection_str += " password=" + CONFIG_STRING(m_config, "database.password");
 
		}
 
		if (!CONFIG_STRING(m_config, "database.port").empty()) {
 
			connection_str += " port=" + CONFIG_STRING(m_config, "database.password");
 
		}
 
	}
 
	else {
 
		LOG4CXX_INFO(logger, "Connecting PostgreSQL server via provided connection string.");
 
	}
 

	
 
	try {
 
		m_conn = new pqxx::connection(str);
 
		m_conn = new pqxx::connection(connection_str);
 
	}
 
	catch (std::exception& e) {
 
		LOG4CXX_ERROR(logger, e.what());
0 comments (0 inline, 0 general)