LCOV - code coverage report
Current view: top level - src/odbc/unittests - t0003.c (source / functions) Hit Total Coverage
Test: FreeTDS coverage Lines: 30 30 100.0 %
Date: 2025-01-18 11:50:39 Functions: 2 2 100.0 %

          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             : }

Generated by: LCOV version 1.13