@dbcube/core 3.0.8 → 3.0.10

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.
package/dist/index.d.mts CHANGED
@@ -45,6 +45,7 @@ declare class QueryEngine {
45
45
  private waitForServerReady;
46
46
  private isServerResponding;
47
47
  private sleep;
48
+ private getCachedDML;
48
49
  private startTcpServer;
49
50
  private sendTcpRequest;
50
51
  private sendTcpRequestFast;
package/dist/index.d.ts CHANGED
@@ -45,6 +45,7 @@ declare class QueryEngine {
45
45
  private waitForServerReady;
46
46
  private isServerResponding;
47
47
  private sleep;
48
+ private getCachedDML;
48
49
  private startTcpServer;
49
50
  private sendTcpRequest;
50
51
  private sendTcpRequestFast;
package/dist/index.js CHANGED
@@ -730,6 +730,9 @@ import * as net from "net";
730
730
  import { spawn as spawn2 } from "child_process";
731
731
  var globalTcpServers = /* @__PURE__ */ new Map();
732
732
  var globalTcpConnections = /* @__PURE__ */ new Map();
733
+ var queryCache = /* @__PURE__ */ new Map();
734
+ var cacheSize = 0;
735
+ var MAX_CACHE_SIZE = 500;
733
736
  var QueryEngine = class {
734
737
  name;
735
738
  config;
@@ -846,11 +849,9 @@ var QueryEngine = class {
846
849
  async executeWithTcpServer(args) {
847
850
  const serverInfo = globalTcpServers.get(this.connectionId);
848
851
  if (!serverInfo || !serverInfo.process || serverInfo.process.killed) {
849
- console.log("\u{1F680} Starting TCP server for ultra-fast queries...");
850
852
  await this.startTcpServer();
851
853
  await this.waitForServerReady();
852
854
  }
853
- console.log("\u26A1 Using TCP server (ultra-fast)");
854
855
  return this.sendTcpRequestFast(args);
855
856
  }
856
857
  async waitForServerReady() {
@@ -860,7 +861,6 @@ var QueryEngine = class {
860
861
  if (await this.isServerResponding()) {
861
862
  return;
862
863
  }
863
- console.log(`\u23F3 Waiting for TCP server to be ready... (${i + 1}/${maxRetries})`);
864
864
  await this.sleep(retryDelay);
865
865
  }
866
866
  throw new Error("TCP server failed to become ready within timeout");
@@ -886,13 +886,23 @@ var QueryEngine = class {
886
886
  sleep(ms) {
887
887
  return new Promise((resolve5) => setTimeout(resolve5, ms));
888
888
  }
889
+ getCachedDML(dmlJson) {
890
+ if (queryCache.has(dmlJson)) {
891
+ return queryCache.get(dmlJson);
892
+ }
893
+ const parsed = JSON.parse(dmlJson);
894
+ if (cacheSize < MAX_CACHE_SIZE) {
895
+ queryCache.set(dmlJson, parsed);
896
+ cacheSize++;
897
+ }
898
+ return parsed;
899
+ }
889
900
  async startTcpServer() {
890
901
  await this.initializeBinary();
891
902
  if (!this.binary) {
892
903
  throw new Error("Binary not initialized");
893
904
  }
894
905
  this.tcpPort = await this.findAvailablePort(this.tcpPort);
895
- console.log(`\u{1F310} Using port ${this.tcpPort} for TCP server`);
896
906
  return new Promise((resolve5, reject) => {
897
907
  const serverArgs = [...this.arguments, "--action", "server", "--port", this.tcpPort.toString()];
898
908
  const serverProcess = spawn2(this.binary["query_engine"], serverArgs);
@@ -905,7 +915,6 @@ var QueryEngine = class {
905
915
  }, 15e3);
906
916
  serverProcess.stdout.on("data", (data) => {
907
917
  const output = data.toString();
908
- console.log(`[TCP Server] ${output.trim()}`);
909
918
  if (output.includes("TCP Server listening on")) {
910
919
  if (!started) {
911
920
  started = true;
@@ -922,7 +931,6 @@ var QueryEngine = class {
922
931
  console.error(`[TCP Server Error] ${data.toString().trim()}`);
923
932
  });
924
933
  serverProcess.on("close", (code) => {
925
- console.log(`[TCP Server] Process exited with code ${code}`);
926
934
  globalTcpServers.delete(this.connectionId);
927
935
  });
928
936
  serverProcess.on("error", (error) => {
@@ -1026,7 +1034,7 @@ var QueryEngine = class {
1026
1034
  isResolved = true;
1027
1035
  reject(new Error("TCP request timeout"));
1028
1036
  }
1029
- }, 5e3);
1037
+ }, 100);
1030
1038
  const onData = (data) => {
1031
1039
  responseBuffer += data.toString();
1032
1040
  const match = responseBuffer.match(/PROCESS_RESPONSE:(\{.*\})/);
@@ -1226,7 +1234,6 @@ var QueryEngine = class {
1226
1234
  }
1227
1235
  const serverInfo = globalTcpServers.get(this.connectionId);
1228
1236
  if (serverInfo && serverInfo.process && !serverInfo.process.killed) {
1229
- console.log("\u{1F50C} Stopping TCP server...");
1230
1237
  serverInfo.process.kill();
1231
1238
  globalTcpServers.delete(this.connectionId);
1232
1239
  return {