Niclas Antti c447e5cf15 Uncrustify maxscale
See script directory for method. The script to run in the top level
MaxScale directory is called maxscale-uncrustify.sh, which uses
another script, list-src, from the same directory (so you need to set
your PATH). The uncrustify version was 0.66.
2018-09-09 22:26:19 +03:00

55 lines
1.5 KiB
C++

/**
* Test SEQUENCE related commands
*
* This test is only enabled when the backend version is 10.3
*/
#include "testconnections.h"
#include <vector>
int main(int argc, char** argv)
{
TestConnections::require_repl_version("10.3");
TestConnections test(argc, argv);
test.maxscales->connect();
test.try_query(test.maxscales->conn_rwsplit[0], "CREATE SEQUENCE seq");
std::vector<std::pair<const char*, const char*>> statements =
{
{"SELECT NEXT VALUE FOR seq", "1"},
{"SELECT PREVIOUS VALUE FOR seq", "1"},
{"SELECT NEXTVAL(seq)", "2"},
{"SELECT LASTVAL(seq)", "2"},
};
for (auto a : statements)
{
test.assert(execute_query_check_one(test.maxscales->conn_rwsplit[0], a.first, a.second) == 0,
"Expected '%s' for query: %s",
a.second,
a.first);
}
test.try_query(test.maxscales->conn_rwsplit[0], "SET SQL_MODE='ORACLE'");
std::vector<std::pair<const char*, const char*>> oracle_statements =
{
{"SELECT seq.nextval", "3"},
{"SELECT seq.currval", "3"},
};
for (auto a : oracle_statements)
{
test.assert(execute_query_check_one(test.maxscales->conn_rwsplit[0], a.first, a.second) == 0,
"Expected '%s' for query: %s",
a.second,
a.first);
}
test.try_query(test.maxscales->conn_rwsplit[0], "DROP SEQUENCE seq");
test.maxscales->disconnect();
return test.global_result;
}