Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include <stdio.h>
00012 #include <string.h>
00013
00014 #include <libdrizzle/drizzle_client.h>
00015
00016 #define SIMPLE_MULTI_COUNT 10
00017
00018 int main(int argc, char *argv[])
00019 {
00020 const char *query= "SELECT table_schema,table_name FROM tables";
00021 drizzle_st drizzle;
00022 drizzle_con_st con[SIMPLE_MULTI_COUNT];
00023 drizzle_result_st result[SIMPLE_MULTI_COUNT];
00024 drizzle_query_st ql[SIMPLE_MULTI_COUNT];
00025 drizzle_return_t ret;
00026 drizzle_row_t row;
00027 int x;
00028
00029 if (drizzle_create(&drizzle) == NULL)
00030 {
00031 printf("drizzle_create:NULL\n");
00032 return 1;
00033 }
00034
00035
00036 for (x= 0; x < SIMPLE_MULTI_COUNT; x++)
00037 {
00038 if (x == 0)
00039 {
00040 if (drizzle_con_create(&drizzle, &(con[0])) == NULL)
00041 {
00042 printf("drizzle_con_create:%s\n", drizzle_error(&drizzle));
00043 return 1;
00044 }
00045
00046 if (argc == 2 && !strcmp(argv[1], "-m"))
00047 drizzle_con_add_options(&(con[0]), DRIZZLE_CON_MYSQL);
00048 else if (argc != 1)
00049 {
00050 printf("usage: %s [-m]\n", argv[0]);
00051 return 1;
00052 }
00053
00054 drizzle_con_set_db(&(con[0]), "information_schema");
00055 }
00056 else
00057 {
00058 if (drizzle_con_clone(&drizzle, &(con[x]), &(con[0])) == NULL)
00059 {
00060 printf("drizzle_con_clone:%s\n", drizzle_error(&drizzle));
00061 return 1;
00062 }
00063 }
00064
00065 if (drizzle_query_add(&drizzle, &(ql[x]), &(con[x]), &(result[x]), query,
00066 strlen(query), 0, NULL) == NULL)
00067 {
00068 printf("drizzle_query_add:%s\n", drizzle_error(&drizzle));
00069 return 1;
00070 }
00071 }
00072
00073 ret= drizzle_query_run_all(&drizzle);
00074 if (ret != DRIZZLE_RETURN_OK)
00075 {
00076 printf("drizzle_query_run_all:%s\n", drizzle_error(&drizzle));
00077 return 1;
00078 }
00079
00080 for (x= 0; x < SIMPLE_MULTI_COUNT; x++)
00081 {
00082 if (drizzle_result_error_code(&(result[x])) != 0)
00083 {
00084 printf("%d:%s\n", drizzle_result_error_code(&(result[x])),
00085 drizzle_result_error(&(result[x])));
00086 continue;
00087 }
00088
00089 while ((row= drizzle_row_next(&(result[x]))) != NULL)
00090 printf("%d %s:%s\n", x, row[0], row[1]);
00091 }
00092
00093 drizzle_free(&drizzle);
00094
00095 return 0;
00096 }