Line data Source code
1 : #include <config.h>
2 :
3 : #if HAVE_STRING_H
4 : #include <string.h>
5 : #endif /* HAVE_STRING_H */
6 :
7 : #include <stdio.h>
8 : #include <ctpublic.h>
9 : #include "common.h"
10 :
11 : /* Testing: Set and get options with ct_options */
12 : int
13 8 : main(int argc, char *argv[])
14 : {
15 8 : int verbose = 0;
16 :
17 : CS_CONTEXT *ctx;
18 : CS_CONNECTION *conn;
19 : CS_COMMAND *cmd;
20 : CS_RETCODE ret;
21 :
22 8 : CS_INT datefirst = 0;
23 8 : CS_INT dateformat = 0;
24 8 : CS_BOOL truefalse = 999;
25 :
26 : if (verbose) {
27 : printf("Trying login\n");
28 : }
29 :
30 8 : if (argc >= 5) {
31 0 : common_pwd.initialized = argc;
32 0 : strcpy(common_pwd.SERVER, argv[1]);
33 0 : strcpy(common_pwd.DATABASE, argv[2]);
34 0 : strcpy(common_pwd.USER, argv[3]);
35 0 : strcpy(common_pwd.PASSWORD, argv[4]);
36 : }
37 :
38 8 : ret = try_ctlogin(&ctx, &conn, &cmd, verbose);
39 8 : if (ret != CS_SUCCEED) {
40 0 : fprintf(stderr, "Login failed\n");
41 0 : return 1;
42 : }
43 :
44 8 : printf("%s: Set/Retrieve DATEFIRST\n", __FILE__);
45 :
46 : /* DATEFIRST */
47 8 : datefirst = CS_OPT_WEDNESDAY;
48 8 : if (ct_options(conn, CS_SET, CS_OPT_DATEFIRST, &datefirst, CS_UNUSED, NULL) != CS_SUCCEED) {
49 0 : fprintf(stderr, "ct_options() failed\n");
50 0 : return 1;
51 : }
52 :
53 8 : datefirst = 999;
54 :
55 8 : if (ct_options(conn, CS_GET, CS_OPT_DATEFIRST, &datefirst, CS_UNUSED, NULL) != CS_SUCCEED) {
56 0 : fprintf(stderr, "ct_options() failed\n");
57 0 : return 1;
58 : }
59 8 : if (datefirst != CS_OPT_WEDNESDAY) {
60 0 : fprintf(stderr, "ct_options(DATEFIRST) didn't work retrieved %d expected %d\n", datefirst, CS_OPT_WEDNESDAY);
61 0 : return 1;
62 : }
63 :
64 8 : printf("%s: Set/Retrieve DATEFORMAT\n", __FILE__);
65 :
66 : /* DATEFORMAT */
67 8 : dateformat = CS_OPT_FMTMYD;
68 8 : if (ct_options(conn, CS_SET, CS_OPT_DATEFORMAT, &dateformat, CS_UNUSED, NULL) != CS_SUCCEED) {
69 0 : fprintf(stderr, "ct_options() failed\n");
70 0 : return 1;
71 : }
72 :
73 8 : dateformat = 999;
74 :
75 8 : if (ct_options(conn, CS_GET, CS_OPT_DATEFORMAT, &dateformat, CS_UNUSED, NULL) != CS_SUCCEED) {
76 0 : fprintf(stderr, "ct_options() failed\n");
77 0 : return 1;
78 : }
79 8 : if (dateformat != CS_OPT_FMTMYD) {
80 0 : fprintf(stderr, "ct_options(DATEFORMAT) didn't work retrieved %d expected %d\n", dateformat, CS_OPT_FMTMYD);
81 0 : return 1;
82 : }
83 :
84 8 : printf("%s: Set/Retrieve ANSINULL\n", __FILE__);
85 : /* ANSI NULLS */
86 8 : truefalse = CS_TRUE;
87 8 : if (ct_options(conn, CS_SET, CS_OPT_ANSINULL, &truefalse, CS_UNUSED, NULL) != CS_SUCCEED) {
88 0 : fprintf(stderr, "ct_options() failed\n");
89 0 : return 1;
90 : }
91 :
92 8 : truefalse = 999;
93 8 : if (ct_options(conn, CS_GET, CS_OPT_ANSINULL, &truefalse, CS_UNUSED, NULL) != CS_SUCCEED) {
94 0 : fprintf(stderr, "ct_options() failed\n");
95 0 : return 1;
96 : }
97 8 : if (truefalse != CS_TRUE) {
98 0 : fprintf(stderr, "ct_options(ANSINULL) didn't work\n");
99 0 : return 1;
100 : }
101 :
102 8 : printf("%s: Set/Retrieve CHAINXACTS\n", __FILE__);
103 : /* CHAINED XACT */
104 8 : truefalse = CS_TRUE;
105 8 : if (ct_options(conn, CS_SET, CS_OPT_CHAINXACTS, &truefalse, CS_UNUSED, NULL) != CS_SUCCEED) {
106 0 : fprintf(stderr, "ct_options() failed\n");
107 0 : return 1;
108 : }
109 :
110 8 : truefalse = 999;
111 8 : if (ct_options(conn, CS_GET, CS_OPT_CHAINXACTS, &truefalse, CS_UNUSED, NULL) != CS_SUCCEED) {
112 0 : fprintf(stderr, "ct_options() failed\n");
113 0 : return 1;
114 : }
115 8 : if (truefalse != CS_TRUE) {
116 0 : fprintf(stderr, "ct_options(CHAINXACTS) didn't work\n");
117 0 : return 1;
118 : }
119 :
120 : if (verbose) {
121 : printf("Trying logout\n");
122 : }
123 8 : ret = try_ctlogout(ctx, conn, cmd, verbose);
124 8 : if (ret != CS_SUCCEED) {
125 0 : fprintf(stderr, "Logout failed\n");
126 0 : return 1;
127 : }
128 :
129 : return 0;
130 : }
|