Commit graph

123 commits

Author SHA1 Message Date
Mario Peng
18fb7d5297
feat(client): expose DB timestamp precision in taos_stmt2_get_fields … (#35167) 2026-04-28 22:34:06 +08:00
Mario Peng
c69544eafe
enh(stmt2): refactoring stmt2 retry strategy (#35139)
Track tRowBuild-allocated rows explicitly in stmtPatch (aHeapRows) and free
them before tDestroySubmitReq instead of inferring heap vs slab by address
range, fixing invalid free of decoded-in-place SRow pointers.
Use asyncQueryCb for internal async retries so the user asyncExecFn runs once
with the final result; invoke the user callback when retry setup fails; remove
asyncQueryCbRetry.
In stmt2Case.exec_retry, accept NULL for backfilled INT columns after ALTER
ADD COLUMN (taos_fetch_row uses null pointers for SQL NULL).
2026-04-21 09:09:00 +08:00
Mario Peng
aa7cc4ace6
fix(stmt2): correct DECIMAL in KV+blob row build and align bind path with parsed columns (#35010)
* fix: decimal string conversion missing in tRowBuildFromBind2WithBlob

Root cause: tRowBuildFromBind2WithBlob lacked the DECIMAL/DECIMAL64
string-to-binary conversion that exists in tRowBuildFromBind2. When a
table contains both DECIMAL and BLOB columns, the blob code path is
taken (tRowBuildFromBind2WithBlob), which treated DECIMAL as a raw
fixed-size binary type and read 16 bytes directly from the user buffer.
Since the user provides decimal values as text strings (e.g. "21.4300"),
the 15-byte buffer was too small, causing a stack-buffer-overflow.

Fix: Add pSchemaExt parameter to tRowBuildFromBind2WithBlob and add
DECIMAL/DECIMAL64 string-to-binary conversion (decimal128FromStr /
decimal64FromStr) in the fixed-size else branch, mirroring the logic
in tRowBuildFromBind2. Update the call site in parInsertStmt.c to pass
pSchemaExt.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(stmt2): correct DECIMAL in KV+blob row build and align bind path with parsed columns

- tRowBuildKVRowWithBlob / tRowBuildKVRowWithBlob2: copy fixed columns via
  VALUE_GET_DATUM() so DECIMAL uses pData instead of the trivial val field.
- tRowBuildFromBind2WithBlob: mirror tRowBuildFromBind2 — accept parsedCols,
  correct bufArray indexing with numOfFixedValue, TAOS_CHECK_GOTO/lino, and
  free decimal128 heap after each successful row (and on error) to plug leaks.
- parInsertStmt: pass parsedCols into tRowBuildFromBind2WithBlob.
- Add stmt2Case.stmt2_decimal_blob_interleaved in stmt2Test

* fix review

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-07 19:20:47 +08:00
Mario Peng
28a88ebc14
fix: stmt2 memleak (#34932) 2026-03-26 10:16:26 +08:00
Mario Peng
624607cfa6
fix: stmt vtable query core (#34640) 2026-03-04 14:23:45 +08:00
Mario Peng
45774e18ed
fix: stmt query decimal (#34558) 2026-02-23 13:58:36 +08:00
Mario Peng
b31509ab7c
fix: stmt2 memleak (#34542) 2026-02-12 21:51:46 +08:00
Mario Peng
ad7fd1b9cb
fix: stmt query vtable core (#34547) 2026-02-12 01:07:32 +08:00
Mario Peng
aa92fbf5fb
enh:stmt support interval opt (#34354) 2026-01-21 14:06:49 +08:00
Mario Peng
f799ccc88a
fix: stmt varchar type leak (#34265) 2026-01-15 13:53:46 +08:00
Mario Peng
510e992f73
fix:stmt2 query tbname bind problem (#34174) 2026-01-13 15:18:36 +08:00
Mario Peng
d9788ee8e0
fix:stmt2 memleak (#34169) 2026-01-12 13:26:52 +08:00
Mario Peng
973a489182
feat:stmt2 query free result by adapter (#34200) 2026-01-08 13:34:15 +08:00
Mario Peng
3c5bc3ceb3
fix: stmt2 tbname bind memory error (#34003) 2025-12-26 15:06:26 +08:00
pengrongkun94@qq.com
abd9b7c7d2 fix test build 2025-12-12 10:39:59 +08:00
Simon Guan
4665d0c9bf fix: confilct while merge from 3.3.6 to main 2025-12-12 09:41:37 +08:00
Mario Peng
0883739e99
stmt2 bind tag add bool data type check (#33866) 2025-12-11 09:35:09 +08:00
Simon Guan
42f527f4cb merge: from 3.3.6 to main 2025-12-10 09:08:55 +08:00
Mario Peng
69aaad4482
fix: the issue that query processes get stuck when both dbname and tbname are set to ? in query statements executed via stmt2 #33859 2025-12-10 09:06:59 +08:00
Mario Peng
65156bc25c
fix: the issue that query processes get stuck when both dbname and tbname are set to ? in query statements executed via stmt2 (#33864)
* fix stmt2 query block

* fix review
2025-12-10 09:06:31 +08:00
Mario Peng
aed48a2f8d
enh: add stmt2 trace log to print bind datas (#33863) 2025-12-09 16:46:46 +08:00
Mario Peng
bffc07af13
enh: stmt2 support vtable query (#33825) 2025-12-05 18:52:23 +08:00
Mario Peng
3e448d5774 fix:stmt2 async callback core (#33771) 2025-12-04 09:58:54 +08:00
Mario Peng
6c9f27877e
fix:stmt2 async callback core (#33771) 2025-12-03 14:30:06 +08:00
Simon Guan
fc5afc924e Merge branch '3.3.6' into merge/3.3.6tomain 2025-11-11 10:45:06 +08:00
Mario Peng
344099c100
fix stmt2 UT (#33505) 2025-11-10 13:39:57 +08:00
Mario Peng
cb61b946e8
fix: stmt bind core when ts is fixed value (#33326) 2025-10-22 16:10:22 +08:00
Mario Peng
d98eebd715
fix stmt core (#33196) 2025-10-10 14:09:29 +08:00
Simon Guan
8017d3bea1 Merge branch 'main' into merge/mainto3.0 2025-09-19 09:17:26 +08:00
pengrongkun94@qq.com
20fcd656c7 Merge remote-tracking branch 'origin/3.3.6' into HEAD 2025-09-18 18:45:33 +08:00
Mario Peng
918b10495d
enh(stmt):insert ctb in other stb return error (#32996) 2025-09-18 14:35:20 +08:00
Simon Guan
25d449cdbd Merge branch 'main' into merge/mainto3.0 2025-09-16 09:32:48 +08:00
Mario Peng
06e8705491
fix: add empty nchar input (#32986) 2025-09-16 08:56:00 +08:00
Mario Peng
f178c4d1ba
fix: add check stmt in translation (#32978) 2025-09-15 15:25:35 +08:00
Simon Guan
d94b75564d Merge branch 'main' into merge/mainto3.0 2025-09-12 09:32:02 +08:00
Mario Peng
caba5a91e3
fix: add empty nchar input (#32946) 2025-09-11 10:39:20 +08:00
Simon Guan
fa0d60ad2a Merge branch 'main' into merge/mainto3.0 2025-09-10 08:37:22 +08:00
Mario Peng
bb869b9d48
enh(stmt2):fix some stmt2 query proble (#32913) 2025-09-09 17:28:07 +08:00
wangmm0220
256116de59 fix(stream): conflicts from main 2025-09-04 20:02:22 +08:00
Mario Peng
3be1ad01b1
enh(stmt2): checkout tables exist when insert into stb without tag (#32804) 2025-09-01 15:21:12 +08:00
Simon Guan
a32607ba3d Merge branch 'main' into merge/mainto3.0 2025-08-22 17:51:28 +08:00
Mario Peng
d54dc6a4ff
feat(stmt2): STMT2 support decimal type (#32563) 2025-08-22 14:18:24 +08:00
Simon Guan
5a5ec84d80 Merge branch '3.3.6' into merge/3.3.6tomain 2025-08-22 14:15:42 +08:00
Mario Peng
d0eb0efba9
enh:stmt set tbname support all characters (#32703) 2025-08-22 13:53:19 +08:00
Mario Peng
01f32bf86d
enh(stmt): set tbname support all characters (#32685) 2025-08-22 13:36:53 +08:00
Mario Peng
05a2c78a0d
fix: dbeaver delete sql core in stmt get_fileds (#32680) 2025-08-22 13:08:12 +08:00
Mario Peng
231e6ea8c9
fix: stmt errors (#32632) 2025-08-19 16:36:42 +08:00
Simon Guan
272ab7091d Merge branch '3.3.6' into merge/3.3.6tomain 2025-08-19 10:17:39 +08:00
Mario Peng
65f0542f3d
​​fix:​​ stmt2 async query crashes on repeated binds (#32607) 2025-08-19 10:13:08 +08:00
Mario Peng
543b8e6487
fix: stmt2Test (#32612) 2025-08-18 17:06:36 +08:00