У меня есть несколько классов C ++, представляющих мои таблицы postgresql.Каждый класс может выполнить запрос к связанной таблице:
class MyTable : Table<MyDataType> {
public:
MyTable();
~MyTable();
int add(std::vector<MyDataType> list);
int remove(std::vector<MyDataType> list);
};
}
Допустимо ли создавать новое соединение для каждого метода вместо обработки только одного соединения на класс?Что-то вроде:
int MyTable::add(std::vector<MyDataType> list)
{
pqxx::connection c(PQ_CONNECTION_STRING);
// Do some request
c.disconnect()
}
int MyTable::remove(std::vector<MyDataType> list)
{
pqxx::connection c(PQ_CONNECTION_STRING);
// Do some request
c.disconnect();
}
Есть ли какие-либо недостатки помимо времени установления соединения?я не нашел в документе никаких показаний против этого.
Стоит ли мне открывать соединение в конструкторе и закрывать его в деструкторе, даже если это значит держать соединение открытым даром?
Спасибо