@@ -42,35 +42,35 @@ typedef enum SpringErrno {
42
42
/**
43
43
* Configuration.
44
44
*/
45
- typedef void * SpringConfig ;
45
+ typedef struct SpringConfig SpringConfig ;
46
46
47
47
/**
48
48
* Pipeline (dataflow definition) in SpringQL.
49
49
*/
50
- typedef void * SpringPipeline ;
50
+ typedef struct SpringPipeline SpringPipeline ;
51
51
52
52
/**
53
53
* Row object to pop from an in memory queue.
54
54
*/
55
- typedef void * SpringSinkRow ;
55
+ typedef struct SpringSinkRow SpringSinkRow ;
56
56
57
57
/**
58
58
* Row object to push into an in memory queue.
59
59
*/
60
- typedef void * SpringSourceRow ;
60
+ typedef struct SpringSourceRow SpringSourceRow ;
61
61
62
62
/**
63
63
* Builder of SpringSourceRow
64
64
*/
65
- typedef void * SpringSourceRowBuilder ;
65
+ typedef struct SpringSourceRowBuilder SpringSourceRowBuilder ;
66
66
67
67
/**
68
68
* Returns default configuration.
69
69
*
70
70
* Returned value is not modifiable (it is just a void pointer).
71
71
* If you would like to change the default configuration, use `spring_config_toml()` instead.
72
72
*/
73
- SpringConfig * spring_config_default (void );
73
+ struct SpringConfig * spring_config_default (void );
74
74
75
75
/**
76
76
* Configuration by TOML format string.
@@ -89,7 +89,7 @@ SpringConfig *spring_config_default(void);
89
89
* - `overwrite_config_toml` includes invalid key and/or value.
90
90
* - `overwrite_config_toml` is not valid as TOML.
91
91
*/
92
- SpringConfig * spring_config_toml (const char * overwrite_config_toml );
92
+ struct SpringConfig * spring_config_toml (const char * overwrite_config_toml );
93
93
94
94
/**
95
95
* Frees heap occupied by a `SpringConfig`.
@@ -99,7 +99,7 @@ SpringConfig *spring_config_toml(const char *overwrite_config_toml);
99
99
* - `Ok`: on success.
100
100
* - `CNull`: `config` is a NULL pointer.
101
101
*/
102
- enum SpringErrno spring_config_close (SpringConfig * config );
102
+ enum SpringErrno spring_config_close (struct SpringConfig * config );
103
103
104
104
/**
105
105
* Creates and open an in-process stream pipeline.
@@ -113,7 +113,7 @@ enum SpringErrno spring_config_close(SpringConfig *config);
113
113
*
114
114
* No errors are expected currently.
115
115
*/
116
- SpringPipeline * spring_open (const SpringConfig * config );
116
+ struct SpringPipeline * spring_open (const struct SpringConfig * config );
117
117
118
118
/**
119
119
* Frees heap occupied by a `SpringPipeline`.
@@ -123,7 +123,7 @@ SpringPipeline *spring_open(const SpringConfig *config);
123
123
* - `Ok`: on success.
124
124
* - `CNull`: `pipeline` is a NULL pointer.
125
125
*/
126
- enum SpringErrno spring_close (SpringPipeline * pipeline );
126
+ enum SpringErrno spring_close (struct SpringPipeline * pipeline );
127
127
128
128
/**
129
129
* Execute commands (DDL) to modify the pipeline.
@@ -138,7 +138,7 @@ enum SpringErrno spring_close(SpringPipeline *pipeline);
138
138
* - `InvalidOption`:
139
139
* - `OPTIONS` in `CREATE` statement includes invalid key or value.
140
140
*/
141
- enum SpringErrno spring_command (const SpringPipeline * pipeline , const char * sql );
141
+ enum SpringErrno spring_command (const struct SpringPipeline * pipeline , const char * sql );
142
142
143
143
/**
144
144
* Pop a row from an in memory queue. This is a blocking function.
@@ -156,7 +156,7 @@ enum SpringErrno spring_command(const SpringPipeline *pipeline, const char *sql)
156
156
*
157
157
* - `Unavailable`: queue named `queue` does not exist.
158
158
*/
159
- SpringSinkRow * spring_pop (const SpringPipeline * pipeline , const char * queue );
159
+ struct SpringSinkRow * spring_pop (const struct SpringPipeline * pipeline , const char * queue );
160
160
161
161
/**
162
162
* Pop a row from an in memory queue. This is a non-blocking function.
@@ -170,21 +170,23 @@ SpringSinkRow *spring_pop(const SpringPipeline *pipeline, const char *queue);
170
170
*
171
171
* - `Unavailable`: queue named `queue` does not exist.
172
172
*/
173
- SpringSinkRow * spring_pop_non_blocking (const SpringPipeline * pipeline ,
174
- const char * queue ,
175
- bool * is_err );
173
+ struct SpringSinkRow * spring_pop_non_blocking (const struct SpringPipeline * pipeline ,
174
+ const char * queue ,
175
+ bool * is_err );
176
176
177
177
/**
178
178
* Push a row into an in memory queue. This is a non-blocking function.
179
179
*
180
+ * `row` is freed internally.
181
+ *
180
182
* # Returns
181
183
*
182
184
* - `Ok`: on success.
183
185
* - `Unavailable`: queue named `queue` does not exist.
184
186
*/
185
- enum SpringErrno spring_push (const SpringPipeline * pipeline ,
187
+ enum SpringErrno spring_push (const struct SpringPipeline * pipeline ,
186
188
const char * queue ,
187
- const SpringSourceRow * row );
189
+ struct SpringSourceRow * row );
188
190
189
191
/**
190
192
* Create a source row from JSON string
@@ -198,7 +200,7 @@ enum SpringErrno spring_push(const SpringPipeline *pipeline,
198
200
*
199
201
* - `InvalidFormat`: JSON string is invalid.
200
202
*/
201
- SpringSourceRow * spring_source_row_from_json (const char * json );
203
+ struct SpringSourceRow * spring_source_row_from_json (const char * json );
202
204
203
205
/**
204
206
* Start creating a source row using a builder.
@@ -207,10 +209,12 @@ SpringSourceRow *spring_source_row_from_json(const char *json);
207
209
*
208
210
* Pointer to the builder
209
211
*/
210
- SpringSourceRowBuilder * spring_source_row_builder (void );
212
+ struct SpringSourceRowBuilder * spring_source_row_builder (void );
211
213
212
214
/**
213
- * Add a BLOB column to the builder.
215
+ * Add a BLOB column to the builder and return the new one.
216
+ *
217
+ * `builder` is freed internally.
214
218
*
215
219
* # Parameters
216
220
*
@@ -221,13 +225,17 @@ SpringSourceRowBuilder *spring_source_row_builder(void);
221
225
*
222
226
* # Returns
223
227
*
224
- * - `Ok`: on success.
228
+ * - non-NULL: Successfully created a row.
229
+ * - NULL: Error occurred.
230
+ *
231
+ * # Errors
232
+ *
225
233
* - `Sql`: `column_name` is already added to the builder.
226
234
*/
227
- enum SpringErrno spring_source_row_add_column_blob (SpringSourceRowBuilder * builder ,
228
- const char * column_name ,
229
- const void * v ,
230
- int v_len );
235
+ struct SpringSourceRowBuilder * spring_source_row_add_column_blob (struct SpringSourceRowBuilder * builder ,
236
+ const char * column_name ,
237
+ const void * v ,
238
+ int v_len );
231
239
232
240
/**
233
241
* Finish creating a source row using a builder.
@@ -238,17 +246,7 @@ enum SpringErrno spring_source_row_add_column_blob(SpringSourceRowBuilder *build
238
246
*
239
247
* SpringSourceRow
240
248
*/
241
- SpringSourceRow * spring_source_row_build (SpringSourceRowBuilder * builder );
242
-
243
- /**
244
- * Frees heap occupied by a `SpringSourceRow`.
245
- *
246
- * # Returns
247
- *
248
- * - `Ok`: on success.
249
- * - `CNull`: `pipeline` is a NULL pointer.
250
- */
251
- enum SpringErrno spring_source_row_close (SpringSourceRow * row );
249
+ struct SpringSourceRow * spring_source_row_build (struct SpringSourceRowBuilder * builder );
252
250
253
251
/**
254
252
* Frees heap occupied by a `SpringSinkRow`.
@@ -258,7 +256,7 @@ enum SpringErrno spring_source_row_close(SpringSourceRow *row);
258
256
* - `Ok`: on success.
259
257
* - `CNull`: `pipeline` is a NULL pointer.
260
258
*/
261
- enum SpringErrno spring_sink_row_close (SpringSinkRow * row );
259
+ enum SpringErrno spring_sink_row_close (struct SpringSinkRow * row );
262
260
263
261
/**
264
262
* Get a 2-byte integer column.
@@ -277,7 +275,7 @@ enum SpringErrno spring_sink_row_close(SpringSinkRow *row);
277
275
* - `i_col` is out of range.
278
276
* - `CNull`: Column value is NULL.
279
277
*/
280
- enum SpringErrno spring_column_short (const SpringSinkRow * row , uint16_t i_col , short * out );
278
+ enum SpringErrno spring_column_short (const struct SpringSinkRow * row , uint16_t i_col , short * out );
281
279
282
280
/**
283
281
* Get a 4-byte integer column.
@@ -296,7 +294,7 @@ enum SpringErrno spring_column_short(const SpringSinkRow *row, uint16_t i_col, s
296
294
* - `i_col` is out of range.
297
295
* - `CNull`: Column value is NULL.
298
296
*/
299
- enum SpringErrno spring_column_int (const SpringSinkRow * row , uint16_t i_col , int * out );
297
+ enum SpringErrno spring_column_int (const struct SpringSinkRow * row , uint16_t i_col , int * out );
300
298
301
299
/**
302
300
* Get an 8-byte integer column.
@@ -315,7 +313,7 @@ enum SpringErrno spring_column_int(const SpringSinkRow *row, uint16_t i_col, int
315
313
* - `i_col` is out of range.
316
314
* - `CNull`: Column value is NULL.
317
315
*/
318
- enum SpringErrno spring_column_long (const SpringSinkRow * row , uint16_t i_col , long * out );
316
+ enum SpringErrno spring_column_long (const struct SpringSinkRow * row , uint16_t i_col , long * out );
319
317
320
318
/**
321
319
* Get a 4-byte unsigned integer column.
@@ -334,7 +332,7 @@ enum SpringErrno spring_column_long(const SpringSinkRow *row, uint16_t i_col, lo
334
332
* - `i_col` is out of range.
335
333
* - `CNull`: Column value is NULL.
336
334
*/
337
- enum SpringErrno spring_column_unsigned_int (const SpringSinkRow * row ,
335
+ enum SpringErrno spring_column_unsigned_int (const struct SpringSinkRow * row ,
338
336
uint16_t i_col ,
339
337
unsigned int * out );
340
338
@@ -356,7 +354,7 @@ enum SpringErrno spring_column_unsigned_int(const SpringSinkRow *row,
356
354
* - `i_col` is out of range.
357
355
* - `CNull`: Column value is NULL.
358
356
*/
359
- int spring_column_text (const SpringSinkRow * row , uint16_t i_col , char * out , int out_len );
357
+ int spring_column_text (const struct SpringSinkRow * row , uint16_t i_col , char * out , int out_len );
360
358
361
359
/**
362
360
* Get a BLOB column.
@@ -376,7 +374,7 @@ int spring_column_text(const SpringSinkRow *row, uint16_t i_col, char *out, int
376
374
* - `i_col` is out of range.
377
375
* - `CNull`: Column value is NULL.
378
376
*/
379
- int spring_column_blob (const SpringSinkRow * row , uint16_t i_col , void * out , int out_len );
377
+ int spring_column_blob (const struct SpringSinkRow * row , uint16_t i_col , void * out , int out_len );
380
378
381
379
/**
382
380
* Get a bool column.
@@ -395,7 +393,7 @@ int spring_column_blob(const SpringSinkRow *row, uint16_t i_col, void *out, int
395
393
* - `i_col` is out of range.
396
394
* - `CNull`: Column value is NULL.
397
395
*/
398
- enum SpringErrno spring_column_bool (const SpringSinkRow * row , uint16_t i_col , bool * out );
396
+ enum SpringErrno spring_column_bool (const struct SpringSinkRow * row , uint16_t i_col , bool * out );
399
397
400
398
/**
401
399
* Get a 4-byte floating point column.
@@ -414,7 +412,7 @@ enum SpringErrno spring_column_bool(const SpringSinkRow *row, uint16_t i_col, bo
414
412
* - `i_col` is out of range.
415
413
* - `CNull`: Column value is NULL.
416
414
*/
417
- enum SpringErrno spring_column_float (const SpringSinkRow * row , uint16_t i_col , float * out );
415
+ enum SpringErrno spring_column_float (const struct SpringSinkRow * row , uint16_t i_col , float * out );
418
416
419
417
/**
420
418
* Write the most recent error number into `errno_` and message into a caller-provided buffer as a UTF-8
0 commit comments