Line data Source code
1 : #include "common.h"
2 :
3 : /* Test for SQLMoreResults */
4 :
5 : static void
6 16 : DoTest(int prepared)
7 : {
8 16 : odbc_command("create table #odbctestdata (i int)");
9 :
10 : /* test that 2 empty result set are returned correctly */
11 16 : if (!prepared) {
12 8 : odbc_command("select * from #odbctestdata select * from #odbctestdata");
13 : } else {
14 8 : CHKPrepare(T("select * from #odbctestdata select * from #odbctestdata"), SQL_NTS, "S");
15 8 : CHKExecute("S");
16 : }
17 :
18 16 : CHKFetch("No");
19 :
20 16 : CHKMoreResults("S");
21 16 : printf("Getting next recordset\n");
22 :
23 16 : CHKFetch("No");
24 :
25 16 : CHKMoreResults("No");
26 :
27 : /* test that skipping a no empty result go to other result set */
28 16 : odbc_command("insert into #odbctestdata values(123)");
29 16 : if (!prepared) {
30 8 : odbc_command("select * from #odbctestdata select * from #odbctestdata");
31 : } else {
32 8 : CHKPrepare(T("select * from #odbctestdata select * from #odbctestdata"), SQL_NTS, "S");
33 8 : CHKExecute("S");
34 : }
35 :
36 16 : CHKMoreResults("S");
37 16 : printf("Getting next recordset\n");
38 :
39 16 : CHKFetch("S");
40 :
41 16 : CHKFetch("No");
42 :
43 16 : CHKMoreResults("No");
44 :
45 16 : odbc_command("drop table #odbctestdata");
46 :
47 16 : ODBC_FREE();
48 16 : }
49 :
50 : int
51 8 : main(void)
52 : {
53 8 : odbc_connect();
54 :
55 8 : DoTest(0);
56 8 : DoTest(1);
57 :
58 8 : odbc_disconnect();
59 :
60 8 : printf("Done.\n");
61 : return 0;
62 : }
|