Skip to content

Commit 920febc

Browse files
authored
Merge pull request #50 from SpringQL/build/0.14.0
build: 0.14.0
2 parents 39dfc71 + 84133f9 commit 920febc

File tree

13 files changed

+206
-59
lines changed

13 files changed

+206
-59
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,20 @@ Also check the changes in springql-core: <https://github.com/SpringQL/SpringQL/b
1313
<!-- markdownlint-disable MD024 -->
1414
## [Unreleased]
1515

16+
## [v0.14.0] - 2022-06-24
17+
18+
### Changed
19+
20+
- `SpringRow` into `SpringSinkRow` ([#50](https://github.com/SpringQL/SpringQL-client-c/pull/50))
21+
- `spring_row_close` -> `spring_sink_row_close` ([#50](https://github.com/SpringQL/SpringQL-client-c/pull/50))
22+
23+
### Added
24+
25+
- Following new APIs: ([#50](https://github.com/SpringQL/SpringQL-client-c/pull/50))
26+
- `SpringSourceRow`
27+
- `spring_source_row_from_json`
28+
- `spring_source_row_close`
29+
1630
## [v0.13.0+4]
1731

1832
### Fixed

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "springql-client-c"
3-
version = "0.13.0+4"
3+
version = "0.14.0"
44

55
authors = ["Sho Nakatani <lay.sakura@gmail.com>"]
66
license = "MIT OR Apache-2.0"
@@ -15,6 +15,6 @@ name = "springql_client"
1515
cbindgen = "0.24"
1616

1717
[dependencies]
18-
springql-core = "0.13.0"
18+
springql = "0.14.0"
1919

2020
log = "0.4"

c_example/doc_app1/doc_app1.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ int main()
9191

9292
fprintf(stderr, "waiting JSON records in tcp/54300...\n");
9393

94-
SpringRow *row;
94+
SpringSinkRow *row;
9595
while (1)
9696
{
9797
row = spring_pop(pipeline, "q");
@@ -108,7 +108,7 @@ int main()
108108
assert_ok(ret);
109109

110110
fprintf(stderr, "%s\t%f\n", ts, temperature_fahrenheit);
111-
spring_row_close(row);
111+
spring_sink_row_close(row);
112112
}
113113

114114
ret = spring_close(pipeline);

c_example/doc_app2/doc_app2.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ int main()
137137

138138
fprintf(stderr, "waiting JSON records in tcp/54300...\n");
139139

140-
SpringRow *row;
140+
SpringSinkRow *row;
141141
bool is_err = false;
142142
while (1)
143143
{
@@ -159,7 +159,7 @@ int main()
159159
assert_ok(ret);
160160

161161
fprintf(stderr, "[q_avg_all] %s\t%f\n", ts, avg_amount);
162-
spring_row_close(row);
162+
spring_sink_row_close(row);
163163
}
164164
else
165165
{
@@ -182,7 +182,7 @@ int main()
182182
assert_ok(ret);
183183

184184
fprintf(stderr, "[q_avg_by_symbol] %s\t%s\t%f\n", ts, symbol, avg_amount);
185-
spring_row_close(row);
185+
spring_sink_row_close(row);
186186
}
187187
else
188188
{

c_example/trade_projection/trade_projection.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ void pop_print(const SpringPipeline *pipeline)
9191
{
9292
SpringErrno ret;
9393

94-
SpringRow *row = spring_pop(pipeline, "q_sink_trade");
94+
SpringSinkRow *row = spring_pop(pipeline, "q_sink_trade");
9595
assert_not_null(row);
9696

9797
int r = spring_column_text(row, 0, (char *)ts, TS_LEN);
@@ -103,7 +103,7 @@ void pop_print(const SpringPipeline *pipeline)
103103

104104
printf("[row#%d] ts=%s amount=%d\n", i, ts, amount);
105105

106-
spring_row_close(row);
106+
spring_sink_row_close(row);
107107
}
108108
}
109109

springql.h

Lines changed: 57 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,14 @@ typedef void *SpringConfig;
5050
typedef void *SpringPipeline;
5151

5252
/**
53-
* Row object from an in memory queue.
53+
* Row object to pop from an in memory queue.
5454
*/
55-
typedef void *SpringRow;
55+
typedef void *SpringSinkRow;
56+
57+
/**
58+
* Row object to push into an in memory queue.
59+
*/
60+
typedef void *SpringSourceRow;
5661

5762
/**
5863
* Returns default configuration.
@@ -146,7 +151,7 @@ enum SpringErrno spring_command(const SpringPipeline *pipeline, const char *sql)
146151
*
147152
* - `Unavailable`: queue named `queue` does not exist.
148153
*/
149-
SpringRow *spring_pop(const SpringPipeline *pipeline, const char *queue);
154+
SpringSinkRow *spring_pop(const SpringPipeline *pipeline, const char *queue);
150155

151156
/**
152157
* Pop a row from an in memory queue. This is a non-blocking function.
@@ -160,19 +165,55 @@ SpringRow *spring_pop(const SpringPipeline *pipeline, const char *queue);
160165
*
161166
* - `Unavailable`: queue named `queue` does not exist.
162167
*/
163-
SpringRow *spring_pop_non_blocking(const SpringPipeline *pipeline,
164-
const char *queue,
165-
bool *is_err);
168+
SpringSinkRow *spring_pop_non_blocking(const SpringPipeline *pipeline,
169+
const char *queue,
170+
bool *is_err);
171+
172+
/**
173+
* Push a row into an in memory queue. This is a non-blocking function.
174+
*
175+
* # Returns
176+
*
177+
* - `Ok`: on success.
178+
* - `Unavailable`: queue named `queue` does not exist.
179+
*/
180+
enum SpringErrno spring_push(const SpringPipeline *pipeline,
181+
const char *queue,
182+
const SpringSourceRow *row);
183+
184+
/**
185+
* Create a source row from JSON string
186+
*
187+
* # Returns
188+
*
189+
* - non-NULL: Successfully created a row.
190+
* - NULL: Error occurred.
191+
*
192+
* # Errors
193+
*
194+
* - `InvalidFormat`: JSON string is invalid.
195+
*/
196+
SpringSourceRow *spring_source_row_from_json(const char *json);
197+
198+
/**
199+
* Frees heap occupied by a `SpringSourceRow`.
200+
*
201+
* # Returns
202+
*
203+
* - `Ok`: on success.
204+
* - `CNull`: `pipeline` is a NULL pointer.
205+
*/
206+
enum SpringErrno spring_source_row_close(SpringSourceRow *row);
166207

167208
/**
168-
* Frees heap occupied by a `SpringRow`.
209+
* Frees heap occupied by a `SpringSinkRow`.
169210
*
170211
* # Returns
171212
*
172213
* - `Ok`: on success.
173214
* - `CNull`: `pipeline` is a NULL pointer.
174215
*/
175-
enum SpringErrno spring_row_close(SpringRow *row);
216+
enum SpringErrno spring_sink_row_close(SpringSinkRow *row);
176217

177218
/**
178219
* Get a 2-byte integer column.
@@ -191,7 +232,7 @@ enum SpringErrno spring_row_close(SpringRow *row);
191232
* - `i_col` is out of range.
192233
* - `CNull`: Column value is NULL.
193234
*/
194-
enum SpringErrno spring_column_short(const SpringRow *row, uint16_t i_col, short *out);
235+
enum SpringErrno spring_column_short(const SpringSinkRow *row, uint16_t i_col, short *out);
195236

196237
/**
197238
* Get a 4-byte integer column.
@@ -210,7 +251,7 @@ enum SpringErrno spring_column_short(const SpringRow *row, uint16_t i_col, short
210251
* - `i_col` is out of range.
211252
* - `CNull`: Column value is NULL.
212253
*/
213-
enum SpringErrno spring_column_int(const SpringRow *row, uint16_t i_col, int *out);
254+
enum SpringErrno spring_column_int(const SpringSinkRow *row, uint16_t i_col, int *out);
214255

215256
/**
216257
* Get an 8-byte integer column.
@@ -229,7 +270,7 @@ enum SpringErrno spring_column_int(const SpringRow *row, uint16_t i_col, int *ou
229270
* - `i_col` is out of range.
230271
* - `CNull`: Column value is NULL.
231272
*/
232-
enum SpringErrno spring_column_long(const SpringRow *row, uint16_t i_col, long *out);
273+
enum SpringErrno spring_column_long(const SpringSinkRow *row, uint16_t i_col, long *out);
233274

234275
/**
235276
* Get a 4-byte unsigned integer column.
@@ -248,7 +289,7 @@ enum SpringErrno spring_column_long(const SpringRow *row, uint16_t i_col, long *
248289
* - `i_col` is out of range.
249290
* - `CNull`: Column value is NULL.
250291
*/
251-
enum SpringErrno spring_column_unsigned_int(const SpringRow *row,
292+
enum SpringErrno spring_column_unsigned_int(const SpringSinkRow *row,
252293
uint16_t i_col,
253294
unsigned int *out);
254295

@@ -270,7 +311,7 @@ enum SpringErrno spring_column_unsigned_int(const SpringRow *row,
270311
* - `i_col` is out of range.
271312
* - `CNull`: Column value is NULL.
272313
*/
273-
int spring_column_text(const SpringRow *row, uint16_t i_col, char *out, int out_len);
314+
int spring_column_text(const SpringSinkRow *row, uint16_t i_col, char *out, int out_len);
274315

275316
/**
276317
* Get a BLOB column.
@@ -290,7 +331,7 @@ int spring_column_text(const SpringRow *row, uint16_t i_col, char *out, int out_
290331
* - `i_col` is out of range.
291332
* - `CNull`: Column value is NULL.
292333
*/
293-
int spring_column_blob(const SpringRow *row, uint16_t i_col, void *out, int out_len);
334+
int spring_column_blob(const SpringSinkRow *row, uint16_t i_col, void *out, int out_len);
294335

295336
/**
296337
* Get a bool column.
@@ -309,7 +350,7 @@ int spring_column_blob(const SpringRow *row, uint16_t i_col, void *out, int out_
309350
* - `i_col` is out of range.
310351
* - `CNull`: Column value is NULL.
311352
*/
312-
enum SpringErrno spring_column_bool(const SpringRow *row, uint16_t i_col, bool *out);
353+
enum SpringErrno spring_column_bool(const SpringSinkRow *row, uint16_t i_col, bool *out);
313354

314355
/**
315356
* Get a 4-byte floating point column.
@@ -328,7 +369,7 @@ enum SpringErrno spring_column_bool(const SpringRow *row, uint16_t i_col, bool *
328369
* - `i_col` is out of range.
329370
* - `CNull`: Column value is NULL.
330371
*/
331-
enum SpringErrno spring_column_float(const SpringRow *row, uint16_t i_col, float *out);
372+
enum SpringErrno spring_column_float(const SpringSinkRow *row, uint16_t i_col, float *out);
332373

333374
/**
334375
* Write the most recent error number into `errno` and message into a caller-provided buffer as a UTF-8

0 commit comments

Comments
 (0)