@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.cjs CHANGED
@@ -768,6 +768,9 @@ var net = __toESM(require("net"));
768
768
  var import_child_process2 = require("child_process");
769
769
  var globalTcpServers = /* @__PURE__ */ new Map();
770
770
  var globalTcpConnections = /* @__PURE__ */ new Map();
771
+ var queryCache = /* @__PURE__ */ new Map();
772
+ var cacheSize = 0;
773
+ var MAX_CACHE_SIZE = 500;
771
774
  var QueryEngine = class {
772
775
  name;
773
776
  config;
@@ -884,11 +887,9 @@ var QueryEngine = class {
884
887
  async executeWithTcpServer(args) {
885
888
  const serverInfo = globalTcpServers.get(this.connectionId);
886
889
  if (!serverInfo || !serverInfo.process || serverInfo.process.killed) {
887
- console.log("\u{1F680} Starting TCP server for ultra-fast queries...");
888
890
  await this.startTcpServer();
889
891
  await this.waitForServerReady();
890
892
  }
891
- console.log("\u26A1 Using TCP server (ultra-fast)");
892
893
  return this.sendTcpRequestFast(args);
893
894
  }
894
895
  async waitForServerReady() {
@@ -898,7 +899,6 @@ var QueryEngine = class {
898
899
  if (await this.isServerResponding()) {
899
900
  return;
900
901
  }
901
- console.log(`\u23F3 Waiting for TCP server to be ready... (${i + 1}/${maxRetries})`);
902
902
  await this.sleep(retryDelay);
903
903
  }
904
904
  throw new Error("TCP server failed to become ready within timeout");
@@ -924,13 +924,23 @@ var QueryEngine = class {
924
924
  sleep(ms) {
925
925
  return new Promise((resolve5) => setTimeout(resolve5, ms));
926
926
  }
927
+ getCachedDML(dmlJson) {
928
+ if (queryCache.has(dmlJson)) {
929
+ return queryCache.get(dmlJson);
930
+ }
931
+ const parsed = JSON.parse(dmlJson);
932
+ if (cacheSize < MAX_CACHE_SIZE) {
933
+ queryCache.set(dmlJson, parsed);
934
+ cacheSize++;
935
+ }
936
+ return parsed;
937
+ }
927
938
  async startTcpServer() {
928
939
  await this.initializeBinary();
929
940
  if (!this.binary) {
930
941
  throw new Error("Binary not initialized");
931
942
  }
932
943
  this.tcpPort = await this.findAvailablePort(this.tcpPort);
933
- console.log(`\u{1F310} Using port ${this.tcpPort} for TCP server`);
934
944
  return new Promise((resolve5, reject) => {
935
945
  const serverArgs = [...this.arguments, "--action", "server", "--port", this.tcpPort.toString()];
936
946
  const serverProcess = (0, import_child_process2.spawn)(this.binary["query_engine"], serverArgs);
@@ -943,7 +953,6 @@ var QueryEngine = class {
943
953
  }, 15e3);
944
954
  serverProcess.stdout.on("data", (data) => {
945
955
  const output = data.toString();
946
- console.log(`[TCP Server] ${output.trim()}`);
947
956
  if (output.includes("TCP Server listening on")) {
948
957
  if (!started) {
949
958
  started = true;
@@ -960,7 +969,6 @@ var QueryEngine = class {
960
969
  console.error(`[TCP Server Error] ${data.toString().trim()}`);
961
970
  });
962
971
  serverProcess.on("close", (code) => {
963
- console.log(`[TCP Server] Process exited with code ${code}`);
964
972
  globalTcpServers.delete(this.connectionId);
965
973
  });
966
974
  serverProcess.on("error", (error) => {
@@ -1064,7 +1072,7 @@ var QueryEngine = class {
1064
1072
  isResolved = true;
1065
1073
  reject(new Error("TCP request timeout"));
1066
1074
  }
1067
- }, 5e3);
1075
+ }, 100);
1068
1076
  const onData = (data) => {
1069
1077
  responseBuffer += data.toString();
1070
1078
  const match = responseBuffer.match(/PROCESS_RESPONSE:(\{.*\})/);
@@ -1264,7 +1272,6 @@ var QueryEngine = class {
1264
1272
  }
1265
1273
  const serverInfo = globalTcpServers.get(this.connectionId);
1266
1274
  if (serverInfo && serverInfo.process && !serverInfo.process.killed) {
1267
- console.log("\u{1F50C} Stopping TCP server...");
1268
1275
  serverInfo.process.kill();
1269
1276
  globalTcpServers.delete(this.connectionId);
1270
1277
  return {