src/lib/dhcpsrv/tests/pgsql_exchange_unittest.cc
- Added PgSqlBasicsTest test fixture class and tests which exercise all of
the PostgreSQL data types we currently use with round-trip database writes
and reads
src/lib/dhcpsrv/pgsql_connection.cc
src/lib/dhcpsrv/pgsql_connection.h
- Moved PgSqlResult function impls from .h
- Added exception safe implementation of getColumnLabel() to PgSqlResult
src/lib/dhcpsrv/pgsql_exchange.cc
src/lib/dhcpsrv/pgsql_exchange.h
- PsqlBindArray::add() variants which accept raw pointers now throw
if the pointer is NULL
- PgSqlExchange::getColumnLabel() is now a wrapper around PgSqlResult method
src/lib/dhcpsrv/pgsql_host_data_source.h
src/lib/dhcpsrv/pgsql_host_data_source.cc
- Commentary clean up
src/lib/dhcpsrv/pgsql_lease_mgr.cc
- Commentary clean up
src/lib/dhcpsrv/pgsql_exchange.h
src/lib/dhcpsrv/pgsql_exchange.cc
src/lib/dhcpsrv/pgsql_lease_mgr.cc
Moved getIPv6Value() from PgSqlLease6Exchange to
PgSqlExchange and made it static
PgSqlExchange::dumpRow() gets number of columns
from result set, not parameter
src/lib/dhcpsrv/pgsql_host_data_source.cc
PgSqlIPv6ReservationExchange
PgSqlHostIPv6Exchange - now functional
src/lib/dhcpsrv/tests/pgsql_host_data_source_unittest.cc
TEST_F(PgSqlHostDataSourceTest, get6AddrWithDuid)
TEST_F(PgSqlHostDataSourceTest, addDuplicate6WithHWAddr)
TEST_F(PgSqlHostDataSourceTest, optionsReservations6)
TEST_F(PgSqlHostDataSourceTest, optionsReservations46)
TEST_F(PgSqlHostDataSourceTest, formattedOptionsReservations6)
TEST_F(PgSqlHostDataSourceTest, formattedOptionsReservations46)
- All included and passing.
src/lib/dhcpsrv/pgsql_connection.h
Added OID_TEXT
src/lib/dhcpsrv/pgsql_exchange.cc
PsqlBindArray::addNull()
class PgSqlExchange
- getColumnLabel() - now gets column name from result set
- getColumnValue variants are now static methods
- rename column_labels_ to columns_
- isColumnNull() new method tests if column in row is null
- dumpRow() - debug method dumps row as text
src/lib/dhcpsrv/pgsql_host_data_source.cc
PgSqlHostWithOptionsExchange
PgSqlOptionExchange now functional
src/lib/dhcpsrv/tests/pgsql_host_data_source_unittest.cc
TEST_F(PgSqlHostDataSourceTest, addDuplicate4)
TEST_F(PgSqlHostDataSourceTest, formattedOptionsReservations4)
- Enabled and passing.
src/lib/dhcpsrv
pgsql_host_data_source.c
pgsql_host_data_source.h - new files, preliminary implementation
src/lib/dhcpsrv/Makefile.am
Added new files pgsql_host_data_source.cc, pgsql_host_data_source.h
src/lib/dhcpsrv/dhcpsrv_messages.mes
Added log messages DHCPSRV_PGSQL_HOST_DB_GET_VERSION, DHCPSRV_PGSQL_START_TRANSACTION
src/lib/dhcpsrv/pgsql_connection.cc
src/lib/dhcpsrv/pgsql_connection.h
Added PgSqlTransaction
Added PgSqlConnection::startTransaction()
src/lib/dhcpsrv/pgsql_exchange.cc
src/lib/dhcpsrv/pgsql_exchange.h
PsqlBindArray
- Added storage of conversion strings used for bound values
- Added add() variants for uint8_t, IOAddress, uint8_t buffer
- Added templated variant for miscellaneous types
PgSqlExchange
- Removed getColumnValue variants for various integers, replaced
with templated version for miscellaneous types
src/lib/dhcpsrv/pgsql_lease_mgr.cc
Added todo comment to remember to account for hwaddr columns added to lease6
src/lib/dhcpsrv/tests/pgsql_exchange_unittest.cc
TEST(PsqlBindArray, basicOperation) - new test to exercise bind functions