~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to examples/pipe_query.cc

  • Committer: Mark Atwood
  • Date: 2011-11-30 07:06:47 UTC
  • mfrom: (2463.1.6 drizzle-include)
  • Revision ID: me@mark.atwood.name-20111130070647-ixp7oalp70hkbt6l
mergeĀ lp:~brianaker/drizzle/libdrizzle-2.0-not-install

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
  char *buffer= NULL;
55
55
  size_t buffer_size= 0;
56
56
  ssize_t read_size= 0;
57
 
  drizzle_st drizzle;
58
 
  drizzle_con_st *con= (drizzle_con_st*)malloc(sizeof(drizzle_con_st));
 
57
  drizzle_st *drizzle;
59
58
  drizzle_result_st result;
60
 
  drizzle_return_t ret;
61
 
  drizzle_field_t field;
62
59
  size_t offset;
63
60
  size_t size;
64
61
  size_t total;
65
62
 
66
 
  if (con == NULL)
67
 
  {
68
 
    printf("Failed to allocate memory for drizzle connection");
69
 
    exit(1);
70
 
  }
71
 
 
72
63
  /* The docs say this might fail, so check for errors. */
73
 
  if (drizzle_create(&drizzle) == NULL)
 
64
  if ((drizzle= drizzle_create()) == NULL)
74
65
  {
75
66
    printf("drizzle_create:failed\n");
76
67
    exit(1);
77
68
  }
78
69
 
79
 
  if (drizzle_con_create(&drizzle, con) == NULL)
 
70
  drizzle_con_st *con;
 
71
  if ((con= drizzle_con_create(drizzle)) == NULL)
80
72
  {
81
 
    printf("drizzle_con_create:%s\n", drizzle_error(&drizzle));
 
73
    printf("drizzle_con_create:%s\n", drizzle_error(drizzle));
82
74
    exit(1);
83
75
  }
84
76
 
146
138
 
147
139
  } while ((read_size= read(0, buffer + buffer_size, BUFFER_CHUNK)) != 0);
148
140
 
 
141
  drizzle_return_t ret;
149
142
  (void)drizzle_query(con, &result, buffer, buffer_size, &ret);
150
143
  if (ret != DRIZZLE_RETURN_OK)
151
144
  {
152
 
    printf("drizzle_query:%s\n", drizzle_error(&drizzle));
 
145
      printf("drizzle_query:%s\n", drizzle_error(drizzle));
153
146
    return 1;
154
147
  }
155
148
 
158
151
  ret= drizzle_column_skip(&result);
159
152
  if (ret != DRIZZLE_RETURN_OK)
160
153
  {
161
 
    printf("drizzle_column_skip:%s\n", drizzle_error(&drizzle));
 
154
    printf("drizzle_column_skip:%s\n", drizzle_error(drizzle));
162
155
    return 1;
163
156
  }
164
157
 
166
159
  {
167
160
    while (1)
168
161
    {
169
 
      field= drizzle_field_read(&result, &offset, &size, &total, &ret);
 
162
      drizzle_field_t field= drizzle_field_read(&result, &offset, &size, &total, &ret);
170
163
      if (ret == DRIZZLE_RETURN_ROW_END)
 
164
      {
171
165
        break;
 
166
      }
172
167
      else if (ret != DRIZZLE_RETURN_OK)
173
168
      {
174
 
        printf("drizzle_field_read:%s\n", drizzle_error(&drizzle));
 
169
        printf("drizzle_field_read:%s\n", drizzle_error(drizzle));
175
170
        return 1;
176
171
      }
177
172
 
178
173
      if (field == NULL)
 
174
      {
179
175
        printf("NULL");
 
176
      }
180
177
      else
 
178
      {
181
179
        printf("%.*s", (int)size, field);
 
180
      }
182
181
 
183
182
      if (offset + size == total)
 
183
      {
184
184
        printf("\t");
 
185
      }
185
186
    }
186
187
 
187
188
    printf("\n");
189
190
 
190
191
  if (ret != DRIZZLE_RETURN_OK)
191
192
  {
192
 
    printf("drizzle_row_read:%s\n", drizzle_error(&drizzle));
 
193
    printf("drizzle_row_read:%s\n", drizzle_error(drizzle));
193
194
    return 1;
194
195
  }
195
196
 
196
197
  drizzle_result_free(&result);
197
198
  drizzle_con_free(con);
198
 
  drizzle_free(&drizzle);
 
199
  drizzle_free(drizzle);
199
200
 
200
 
  free(con);
201
201
  return 0;
202
202
}