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 12:13:41 Functions: 2 2 100.0 %

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

Generated by: LCOV version 1.13