From 092cb7d916b8ebc83cacab849010acd04f56d38d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 18 Nov 2014 14:54:23 +0200 Subject: Add SQL Server stored procedure test --- mssql/stored-proc/test.hxx | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 mssql/stored-proc/test.hxx (limited to 'mssql/stored-proc/test.hxx') diff --git a/mssql/stored-proc/test.hxx b/mssql/stored-proc/test.hxx new file mode 100644 index 0000000..16f3c52 --- /dev/null +++ b/mssql/stored-proc/test.hxx @@ -0,0 +1,58 @@ +// file : mssql/stored-proc/test.hxx +// copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef TEST_HXX +#define TEST_HXX + +#include + +#include + +#pragma db view query("SELECT SCHEMA_NAME()") +struct default_schema +{ + std::string name; +}; + +#pragma db object +struct object +{ + object () {} + object (unsigned int n, std::string s): num (n), str (s) {} + + #pragma db id auto + unsigned long id; + + unsigned int num; + std::string str; +}; + +#pragma db view query("EXEC select_all_objects") +struct select_all_objects +{ + unsigned int num; + std::string str; +}; + +#pragma db view query("EXEC select_objects (?)") +struct select_objects +{ + std::string str; +}; + +#pragma db view query("EXEC objects_min_max_odb (?)") +struct objects_min_max +{ + unsigned int num_min; + unsigned int num_max; +}; + +#pragma db view query("EXEC insert_object_odb (?)") +struct insert_object +{ + unsigned int ret; + unsigned long id; +}; + +#endif // TEST_HXX -- cgit v1.1 From 0aa976237df26be9415c5aac335ab43e026db077 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 19 Nov 2014 13:54:39 +0200 Subject: Allow empty runtime and execute views Use them to handle INSERT/UPDATE SQL Server stored procedures. --- mssql/stored-proc/test.hxx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'mssql/stored-proc/test.hxx') diff --git a/mssql/stored-proc/test.hxx b/mssql/stored-proc/test.hxx index 16f3c52..d302630 100644 --- a/mssql/stored-proc/test.hxx +++ b/mssql/stored-proc/test.hxx @@ -28,6 +28,9 @@ struct object std::string str; }; +#pragma db view +struct no_result {}; + #pragma db view query("EXEC select_all_objects") struct select_all_objects { @@ -48,8 +51,11 @@ struct objects_min_max unsigned int num_max; }; -#pragma db view query("EXEC insert_object_odb (?)") -struct insert_object +#pragma db view query("EXEC insert_object (?)") +struct insert_object {}; + +#pragma db view query("EXEC insert_object_id_odb (?)") +struct insert_object_id { unsigned int ret; unsigned long id; -- cgit v1.1