Replaced unrecommended backticks with $() in cql_version() in bash scripts.
*_execute() and *_execute_script() functions from src/bin/admin/admin-utils.sh now pass the parameters to the underlying backend binary whenever they are given rather than when there are 2 or more.
Corrected cql_version() return error in src/bin/admin/admin-utils.sh.
Removed redundant "USE" from cql_init() in src/bin/admin/kea-admin.in.
Inserted a newline in src/bin/admin/tests/Makefile.am to separate unrelated targets.
Style changes in cql_*_test() functions in src/bin/admin/tests/cql_tests.sh.in.
src/bin/admin/tests/dhcpdb_create_1.0.cql:
"perfromance" typo
Added comment headers
Added index on expire since it is used in WHERE clauses (further performance testing may be required)
Removed dhcp4_options and dhcp6_options table since they are not required for Cassandra
Added DROP INDEX in src/share/database/scripts/cql/dhcpdb_drop.cql.
Added sql_common.h
Added cql_exchange.h and cql_exchange.cc which mediate communication with Cassandra.
Added cql_lease_mgr.h and cql_lease_mgr.cc
Parameterized reconnect-wait-time, connect-timeout, request-timeout, tcp-keepalive, tcp-nodelay for Cassandra in kea.conf. Changes are in src/lib/dhcpsrv/cql_connection.cc and src/lib/dhcpsrv/parsers/dbaccess_parser.cc.
Reformated x != NULL into !x as specified in the Kea style guidelines
src/lib/dhcpsrv/cql_connection.cc:
Added range check for port
Added CqlConnection:setConsistency
Added CqlConnection::startTransaction which is a noop
Added CqlTransaction method implementations.
Corrected ending brace of namespace declaration, it doesn't need semicolon.
src/lib/dhcpsrv/cql_connection.h:
Added explicit on CqlConnection constructor. Unlikely that this class will ever be derived, but it's good practice.
Changed some comments.
Added CqlTransaction class definition.
src/lib/dhcpsrv/cql_lease_mgr.cc:
Formatted the entire code.
Changed data types to cass_ types.
Added some log messages.
Moved structs, enums and typedefs from src/lib/dhcpsrv/lease_mgr.h to src/lib/dhcpsrv/sql_common.h
Added some missing tests in src/lib/dhcpsrv/tests/cql_lease_mgr_unittest.cc
The only review item not addressed with this commit is the
implementation of unit test that operates on the read only
database, i.e. the database containing tables on which the
given user only has SELECT privileges.