@@ -42,35 +42,35 @@ typedef enum SpringErrno {
4242/**
4343 * Configuration.
4444 */
45- typedef void * SpringConfig ;
45+ typedef struct SpringConfig SpringConfig ;
4646
4747/**
4848 * Pipeline (dataflow definition) in SpringQL.
4949 */
50- typedef void * SpringPipeline ;
50+ typedef struct SpringPipeline SpringPipeline ;
5151
5252/**
5353 * Row object to pop from an in memory queue.
5454 */
55- typedef void * SpringSinkRow ;
55+ typedef struct SpringSinkRow SpringSinkRow ;
5656
5757/**
5858 * Row object to push into an in memory queue.
5959 */
60- typedef void * SpringSourceRow ;
60+ typedef struct SpringSourceRow SpringSourceRow ;
6161
6262/**
6363 * Builder of SpringSourceRow
6464 */
65- typedef void * SpringSourceRowBuilder ;
65+ typedef struct SpringSourceRowBuilder SpringSourceRowBuilder ;
6666
6767/**
6868 * Returns default configuration.
6969 *
7070 * Returned value is not modifiable (it is just a void pointer).
7171 * If you would like to change the default configuration, use `spring_config_toml()` instead.
7272 */
73- SpringConfig * spring_config_default (void );
73+ struct SpringConfig * spring_config_default (void );
7474
7575/**
7676 * Configuration by TOML format string.
@@ -89,7 +89,7 @@ SpringConfig *spring_config_default(void);
8989 * - `overwrite_config_toml` includes invalid key and/or value.
9090 * - `overwrite_config_toml` is not valid as TOML.
9191 */
92- SpringConfig * spring_config_toml (const char * overwrite_config_toml );
92+ struct SpringConfig * spring_config_toml (const char * overwrite_config_toml );
9393
9494/**
9595 * Frees heap occupied by a `SpringConfig`.
@@ -99,7 +99,7 @@ SpringConfig *spring_config_toml(const char *overwrite_config_toml);
9999 * - `Ok`: on success.
100100 * - `CNull`: `config` is a NULL pointer.
101101 */
102- enum SpringErrno spring_config_close (SpringConfig * config );
102+ enum SpringErrno spring_config_close (struct SpringConfig * config );
103103
104104/**
105105 * Creates and open an in-process stream pipeline.
@@ -113,7 +113,7 @@ enum SpringErrno spring_config_close(SpringConfig *config);
113113 *
114114 * No errors are expected currently.
115115 */
116- SpringPipeline * spring_open (const SpringConfig * config );
116+ struct SpringPipeline * spring_open (const struct SpringConfig * config );
117117
118118/**
119119 * Frees heap occupied by a `SpringPipeline`.
@@ -123,7 +123,7 @@ SpringPipeline *spring_open(const SpringConfig *config);
123123 * - `Ok`: on success.
124124 * - `CNull`: `pipeline` is a NULL pointer.
125125 */
126- enum SpringErrno spring_close (SpringPipeline * pipeline );
126+ enum SpringErrno spring_close (struct SpringPipeline * pipeline );
127127
128128/**
129129 * Execute commands (DDL) to modify the pipeline.
@@ -138,7 +138,7 @@ enum SpringErrno spring_close(SpringPipeline *pipeline);
138138 * - `InvalidOption`:
139139 * - `OPTIONS` in `CREATE` statement includes invalid key or value.
140140 */
141- enum SpringErrno spring_command (const SpringPipeline * pipeline , const char * sql );
141+ enum SpringErrno spring_command (const struct SpringPipeline * pipeline , const char * sql );
142142
143143/**
144144 * 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)
156156 *
157157 * - `Unavailable`: queue named `queue` does not exist.
158158 */
159- SpringSinkRow * spring_pop (const SpringPipeline * pipeline , const char * queue );
159+ struct SpringSinkRow * spring_pop (const struct SpringPipeline * pipeline , const char * queue );
160160
161161/**
162162 * 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);
170170 *
171171 * - `Unavailable`: queue named `queue` does not exist.
172172 */
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 );
176176
177177/**
178178 * Push a row into an in memory queue. This is a non-blocking function.
179179 *
180+ * `row` is freed internally.
181+ *
180182 * # Returns
181183 *
182184 * - `Ok`: on success.
183185 * - `Unavailable`: queue named `queue` does not exist.
184186 */
185- enum SpringErrno spring_push (const SpringPipeline * pipeline ,
187+ enum SpringErrno spring_push (const struct SpringPipeline * pipeline ,
186188 const char * queue ,
187- const SpringSourceRow * row );
189+ struct SpringSourceRow * row );
188190
189191/**
190192 * Create a source row from JSON string
@@ -198,7 +200,7 @@ enum SpringErrno spring_push(const SpringPipeline *pipeline,
198200 *
199201 * - `InvalidFormat`: JSON string is invalid.
200202 */
201- SpringSourceRow * spring_source_row_from_json (const char * json );
203+ struct SpringSourceRow * spring_source_row_from_json (const char * json );
202204
203205/**
204206 * Start creating a source row using a builder.
@@ -207,10 +209,12 @@ SpringSourceRow *spring_source_row_from_json(const char *json);
207209 *
208210 * Pointer to the builder
209211 */
210- SpringSourceRowBuilder * spring_source_row_builder (void );
212+ struct SpringSourceRowBuilder * spring_source_row_builder (void );
211213
212214/**
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.
214218 *
215219 * # Parameters
216220 *
@@ -221,13 +225,17 @@ SpringSourceRowBuilder *spring_source_row_builder(void);
221225 *
222226 * # Returns
223227 *
224- * - `Ok`: on success.
228+ * - non-NULL: Successfully created a row.
229+ * - NULL: Error occurred.
230+ *
231+ * # Errors
232+ *
225233 * - `Sql`: `column_name` is already added to the builder.
226234 */
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 );
231239
232240/**
233241 * Finish creating a source row using a builder.
@@ -238,17 +246,7 @@ enum SpringErrno spring_source_row_add_column_blob(SpringSourceRowBuilder *build
238246 *
239247 * SpringSourceRow
240248 */
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 );
252250
253251/**
254252 * Frees heap occupied by a `SpringSinkRow`.
@@ -258,7 +256,7 @@ enum SpringErrno spring_source_row_close(SpringSourceRow *row);
258256 * - `Ok`: on success.
259257 * - `CNull`: `pipeline` is a NULL pointer.
260258 */
261- enum SpringErrno spring_sink_row_close (SpringSinkRow * row );
259+ enum SpringErrno spring_sink_row_close (struct SpringSinkRow * row );
262260
263261/**
264262 * Get a 2-byte integer column.
@@ -277,7 +275,7 @@ enum SpringErrno spring_sink_row_close(SpringSinkRow *row);
277275 * - `i_col` is out of range.
278276 * - `CNull`: Column value is NULL.
279277 */
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 );
281279
282280/**
283281 * Get a 4-byte integer column.
@@ -296,7 +294,7 @@ enum SpringErrno spring_column_short(const SpringSinkRow *row, uint16_t i_col, s
296294 * - `i_col` is out of range.
297295 * - `CNull`: Column value is NULL.
298296 */
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 );
300298
301299/**
302300 * Get an 8-byte integer column.
@@ -315,7 +313,7 @@ enum SpringErrno spring_column_int(const SpringSinkRow *row, uint16_t i_col, int
315313 * - `i_col` is out of range.
316314 * - `CNull`: Column value is NULL.
317315 */
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 );
319317
320318/**
321319 * Get a 4-byte unsigned integer column.
@@ -334,7 +332,7 @@ enum SpringErrno spring_column_long(const SpringSinkRow *row, uint16_t i_col, lo
334332 * - `i_col` is out of range.
335333 * - `CNull`: Column value is NULL.
336334 */
337- enum SpringErrno spring_column_unsigned_int (const SpringSinkRow * row ,
335+ enum SpringErrno spring_column_unsigned_int (const struct SpringSinkRow * row ,
338336 uint16_t i_col ,
339337 unsigned int * out );
340338
@@ -356,7 +354,7 @@ enum SpringErrno spring_column_unsigned_int(const SpringSinkRow *row,
356354 * - `i_col` is out of range.
357355 * - `CNull`: Column value is NULL.
358356 */
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 );
360358
361359/**
362360 * Get a BLOB column.
@@ -376,7 +374,7 @@ int spring_column_text(const SpringSinkRow *row, uint16_t i_col, char *out, int
376374 * - `i_col` is out of range.
377375 * - `CNull`: Column value is NULL.
378376 */
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 );
380378
381379/**
382380 * Get a bool column.
@@ -395,7 +393,7 @@ int spring_column_blob(const SpringSinkRow *row, uint16_t i_col, void *out, int
395393 * - `i_col` is out of range.
396394 * - `CNull`: Column value is NULL.
397395 */
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 );
399397
400398/**
401399 * Get a 4-byte floating point column.
@@ -414,7 +412,7 @@ enum SpringErrno spring_column_bool(const SpringSinkRow *row, uint16_t i_col, bo
414412 * - `i_col` is out of range.
415413 * - `CNull`: Column value is NULL.
416414 */
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 );
418416
419417/**
420418 * Write the most recent error number into `errno_` and message into a caller-provided buffer as a UTF-8
0 commit comments