@c9up/eon 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"SuperTableRepository.d.ts","sourceRoot":"","sources":["../../src/repository/SuperTableRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACX,aAAa,EACb,oBAAoB,EACpB,MAAM,gCAAgC,CAAC;AASxC,OAAO,EAKN,KAAK,WAAW,EAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAEN,KAAK,eAAe,EACpB,MAAM,sBAAsB,CAAC;AAE9B,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;;gBAM/B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,2BAA2B;IActC;;;;;;;;;;;OAWG;IACH,KAAK,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,KAAK,CAAC,CAAC,SAAS,MAAM,EACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAC3C,eAAe,CAAC,CAAC,CAAC;IAqBrB,gDAAgD;IAC1C,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;;;;OAMG;IACG,UAAU,CACf,MAAM,EAAE,SAAS,WAAW,EAAE,GAC5B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAKpC;;;;OAIG;IACG,SAAS,CACd,MAAM,EAAE,SAAS,WAAW,EAAE,GAC5B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAUpC;;;;OAIG;IACG,gBAAgB,CACrB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;CAIhB"}
1
+ {"version":3,"file":"SuperTableRepository.d.ts","sourceRoot":"","sources":["../../src/repository/SuperTableRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACX,aAAa,EACb,oBAAoB,EACpB,MAAM,gCAAgC,CAAC;AASxC,OAAO,EAKN,KAAK,WAAW,EAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAEN,KAAK,eAAe,EACpB,MAAM,sBAAsB,CAAC;AAE9B,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;;gBAM/B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,2BAA2B;IActC;;;;;;;;;;;OAWG;IACH,KAAK,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,KAAK,CAAC,CAAC,SAAS,MAAM,EACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAC3C,eAAe,CAAC,CAAC,CAAC;IAqBrB,gDAAgD;IAC1C,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;;;;OAMG;IACG,UAAU,CACf,MAAM,EAAE,SAAS,WAAW,EAAE,GAC5B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAkCpC;;;;OAIG;IACG,SAAS,CACd,MAAM,EAAE,SAAS,WAAW,EAAE,GAC5B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAUpC;;;;OAIG;IACG,gBAAgB,CACrB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;CAIhB"}
@@ -65,8 +65,35 @@ export class SuperTableRepository {
65
65
  async ingestMany(points) {
66
66
  if (points.length === 0)
67
67
  return { rowsAffected: 0 };
68
+ this.#refuseDecimalOverStmt();
68
69
  return this.#conn.ingestColumnar(buildColumnarIngest(this.#plan, points));
69
70
  }
71
+ /**
72
+ * Refuse the columnar path for a DECIMAL column.
73
+ *
74
+ * `@tdengine/websocket` 3.5.0 — the newest there is — binds DECIMAL through
75
+ * stmt2 as a variable-length column and the value lands in the row as raw
76
+ * adjacent memory: `'61.99'` into DECIMAL(20,10) read back as
77
+ * `-4268664320557975669762473403.2597208778`, and a different number on
78
+ * every run. Measured against a live server, and reproduced with the
79
+ * connector's own API and no eon code in the path, so there is nothing here
80
+ * to fix and no newer version to move to.
81
+ *
82
+ * A wrong price that inserts without complaint is the worst outcome
83
+ * available, so this path refuses and names the one that was measured exact.
84
+ * {@link ingestSql} renders the literal and lets the server parse it;
85
+ * {@link ingestSchemaless} already refuses a decimal on its own.
86
+ */
87
+ #refuseDecimalOverStmt() {
88
+ const decimals = this.#plan.columns
89
+ .filter((c) => c.kind === "decimal")
90
+ .map((c) => c.property);
91
+ if (decimals.length === 0)
92
+ return;
93
+ throw new Error(`[E_EON_DECIMAL_STMT] super-table '${this.#plan.stable}' has DECIMAL column(s) ${decimals.join(", ")}, which the columnar STMT path cannot bind: ` +
94
+ "@tdengine/websocket 3.5.0 stores an unrelated number instead of the value, without error. " +
95
+ "Use ingestSql() for this super-table — it renders the literal and round-trips exactly.");
96
+ }
70
97
  /**
71
98
  * Bulk ingest via literal SQL INSERT (AC5) — a convenience/fallback path run
72
99
  * through `exec`. One `INSERT … USING … TAGS … VALUES` per child table; all
@@ -1 +1 @@
1
- {"version":3,"file":"SuperTableRepository.js","sourceRoot":"","sources":["../../src/repository/SuperTableRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EACN,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACN,mBAAmB,EAEnB,mBAAmB,EACnB,kBAAkB,EAGlB,UAAU,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACN,mBAAmB,GAEnB,MAAM,sBAAsB,CAAC;AAQ9B;;;;;;;;GAQG;AACH,MAAM,OAAO,oBAAoB;IACvB,KAAK,CAAgB;IACrB,KAAK,CAAe;IACpB,YAAY,CAAc;IAEnC,YACC,WAA4B,EAC5B,IAAmB,EACnB,OAAqC;QAErC,wEAAwE;QACxE,6EAA6E;QAC7E,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACd,wDAAwD,WAAW,EAAE,IAAI,IAAI,kBAAkB,oCAAoC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,8CAA8C,CACrN,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAkBD,KAAK,CACJ,QAA8C;QAE9C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,eAAe,CACzB,IAAI,CAAC,YAAY,CAAC,MAAM,EACxB,IAAI,CAAC,KAAK,EACV,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,CACvB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,eAAe,CACzB,IAAI,CAAC,YAAY,CAAC,MAAM,EACxB,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,YAAY,CAAC,KAAK,CACvB,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,MAAM,CAAC,KAAkB;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACf,MAA8B;QAE9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACd,MAA8B;QAE9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QACpD,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CACrB,MAA8B,EAC9B,OAA8B;QAE9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;CACD;AAED,4EAA4E;AAC5E,SAAS,SAAS,CACjB,WAA4B,EAC5B,OAAqC;IAErC,MAAM,IAAI,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACd,4BAA4B,WAAW,CAAC,IAAI,oCAAoC,CAChF,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACd,qCAAqC,IAAI,CAAC,IAAI,4BAA4B,CAC1E,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACd,qCAAqC,IAAI,CAAC,IAAI,wBAAwB,UAAU,qBAAqB,CACrG,CAAC;IACH,CAAC;IACD,6EAA6E;IAC7E,yEAAyE;IACzE,iDAAiD;IACjD,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,OAAO,GAAiB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,QAAQ,EAAE,CAAC,CAAC,WAAW;QACvB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC;KACvC,CAAC,CAAC,CAAC;IAEJ,MAAM,IAAI,GAAiB,cAAc,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,QAAQ,EAAE,CAAC,CAAC,WAAW;QACvB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC;KACvC,CAAC,CAAC,CAAC;IACJ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACd,gCAAgC,IAAI,CAAC,IAAI,oEAAoE,CAC7G,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,kBAAkB,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACd,gEAAgE,SAAS,GAAG,CAC5E,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CACtC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC9B,CAAC;IAEF,OAAO;QACN,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,WAAW;QACX,UAAU;QACV,OAAO;QACP,IAAI;QACJ,SAAS;KACT,CAAC;AACH,CAAC;AAYD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,WAA4B;IACrD,MAAM,IAAI,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACd,4BAA4B,WAAW,CAAC,IAAI,oCAAoC,CAChF,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACd,qCAAqC,IAAI,CAAC,IAAI,4BAA4B,CAC1E,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS;QAC7B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QACpC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;KACjC,CAAC,CAAC;IACH,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,WAAW,KAAK,UAAU,IAAI,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3E,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAA4B,EAA2B,EAAE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC9B,6EAA6E;YAC7E,oEAAoE;YACpE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC3D,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;aAClB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAAwB;IACpD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,WAAW,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACd,iGAAiG,KAAK,EAAE,CACxG,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACd,kCAAkC,KAAK,4KAA4K,CACnN,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,IAAI,KAAK,CACd,yEAAyE,OAAO,KAAK,EAAE,CACvF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"SuperTableRepository.js","sourceRoot":"","sources":["../../src/repository/SuperTableRepository.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c9up/eon",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "Eon — time-series data layer for the Ream framework (TDengine-backed)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -132,9 +132,38 @@ export class SuperTableRepository {
132
132
  points: readonly IngestPoint[],
133
133
  ): Promise<{ rowsAffected: number }> {
134
134
  if (points.length === 0) return { rowsAffected: 0 };
135
+ this.#refuseDecimalOverStmt();
135
136
  return this.#conn.ingestColumnar(buildColumnarIngest(this.#plan, points));
136
137
  }
137
138
 
139
+ /**
140
+ * Refuse the columnar path for a DECIMAL column.
141
+ *
142
+ * `@tdengine/websocket` 3.5.0 — the newest there is — binds DECIMAL through
143
+ * stmt2 as a variable-length column and the value lands in the row as raw
144
+ * adjacent memory: `'61.99'` into DECIMAL(20,10) read back as
145
+ * `-4268664320557975669762473403.2597208778`, and a different number on
146
+ * every run. Measured against a live server, and reproduced with the
147
+ * connector's own API and no eon code in the path, so there is nothing here
148
+ * to fix and no newer version to move to.
149
+ *
150
+ * A wrong price that inserts without complaint is the worst outcome
151
+ * available, so this path refuses and names the one that was measured exact.
152
+ * {@link ingestSql} renders the literal and lets the server parse it;
153
+ * {@link ingestSchemaless} already refuses a decimal on its own.
154
+ */
155
+ #refuseDecimalOverStmt(): void {
156
+ const decimals = this.#plan.columns
157
+ .filter((c) => c.kind === "decimal")
158
+ .map((c) => c.property);
159
+ if (decimals.length === 0) return;
160
+ throw new Error(
161
+ `[E_EON_DECIMAL_STMT] super-table '${this.#plan.stable}' has DECIMAL column(s) ${decimals.join(", ")}, which the columnar STMT path cannot bind: ` +
162
+ "@tdengine/websocket 3.5.0 stores an unrelated number instead of the value, without error. " +
163
+ "Use ingestSql() for this super-table — it renders the literal and round-trips exactly.",
164
+ );
165
+ }
166
+
138
167
  /**
139
168
  * Bulk ingest via literal SQL INSERT (AC5) — a convenience/fallback path run
140
169
  * through `exec`. One `INSERT … USING … TAGS … VALUES` per child table; all