CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
session.cjs265 linesDownload Raw Back to node-postgres
1"use strict";2var __create = Object.create;3var __defProp = Object.defineProperty;4var __getOwnPropDesc = Object.getOwnPropertyDescriptor;5var __getOwnPropNames = Object.getOwnPropertyNames;6var __getProtoOf = Object.getPrototypeOf;7var __hasOwnProp = Object.prototype.hasOwnProperty;8var __export = (target, all) => {9  for (var name in all)10    __defProp(target, name, { get: all[name], enumerable: true });11};12var __copyProps = (to, from, except, desc) => {13  if (from && typeof from === "object" || typeof from === "function") {14    for (let key of __getOwnPropNames(from))15      if (!__hasOwnProp.call(to, key) && key !== except)16        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });17  }18  return to;19};20var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(21  // If the importer is in node compatibility mode or this is not an ESM22  // file that has been converted to a CommonJS file using a Babel-23  // compatible transform (i.e. "__esModule" has not been set), then set24  // "default" to the CommonJS "module.exports" for node compatibility.25  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,26  mod27));28var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);29var session_exports = {};30__export(session_exports, {31  NodePgPreparedQuery: () => NodePgPreparedQuery,32  NodePgSession: () => NodePgSession,33  NodePgTransaction: () => NodePgTransaction34});35module.exports = __toCommonJS(session_exports);36var import_pg = __toESM(require("pg"), 1);37var import_core = require("../cache/core/index.cjs");38var import_entity = require("../entity.cjs");39var import_logger = require("../logger.cjs");40var import_pg_core = require("../pg-core/index.cjs");41var import_session = require("../pg-core/session.cjs");42var import_sql = require("../sql/sql.cjs");43var import_tracing = require("../tracing.cjs");44var import_utils = require("../utils.cjs");45const { Pool, types } = import_pg.default;46class NodePgPreparedQuery extends import_session.PgPreparedQuery {47  constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, name, _isResponseInArrayMode, customResultMapper) {48    super({ sql: queryString, params }, cache, queryMetadata, cacheConfig);49    this.client = client;50    this.queryString = queryString;51    this.params = params;52    this.logger = logger;53    this.fields = fields;54    this._isResponseInArrayMode = _isResponseInArrayMode;55    this.customResultMapper = customResultMapper;56    this.rawQueryConfig = {57      name,58      text: queryString,59      types: {60        // @ts-ignore61        getTypeParser: (typeId, format) => {62          if (typeId === types.builtins.TIMESTAMPTZ) {63            return (val) => val;64          }65          if (typeId === types.builtins.TIMESTAMP) {66            return (val) => val;67          }68          if (typeId === types.builtins.DATE) {69            return (val) => val;70          }71          if (typeId === types.builtins.INTERVAL) {72            return (val) => val;73          }74          if (typeId === 1231) {75            return (val) => val;76          }77          if (typeId === 1115) {78            return (val) => val;79          }80          if (typeId === 1185) {81            return (val) => val;82          }83          if (typeId === 1187) {84            return (val) => val;85          }86          if (typeId === 1182) {87            return (val) => val;88          }89          return types.getTypeParser(typeId, format);90        }91      }92    };93    this.queryConfig = {94      name,95      text: queryString,96      rowMode: "array",97      types: {98        // @ts-ignore99        getTypeParser: (typeId, format) => {100          if (typeId === types.builtins.TIMESTAMPTZ) {101            return (val) => val;102          }103          if (typeId === types.builtins.TIMESTAMP) {104            return (val) => val;105          }106          if (typeId === types.builtins.DATE) {107            return (val) => val;108          }109          if (typeId === types.builtins.INTERVAL) {110            return (val) => val;111          }112          if (typeId === 1231) {113            return (val) => val;114          }115          if (typeId === 1115) {116            return (val) => val;117          }118          if (typeId === 1185) {119            return (val) => val;120          }121          if (typeId === 1187) {122            return (val) => val;123          }124          if (typeId === 1182) {125            return (val) => val;126          }127          return types.getTypeParser(typeId, format);128        }129      }130    };131  }132  static [import_entity.entityKind] = "NodePgPreparedQuery";133  rawQueryConfig;134  queryConfig;135  async execute(placeholderValues = {}) {136    return import_tracing.tracer.startActiveSpan("drizzle.execute", async () => {137      const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);138      this.logger.logQuery(this.rawQueryConfig.text, params);139      const { fields, rawQueryConfig: rawQuery, client, queryConfig: query, joinsNotNullableMap, customResultMapper } = this;140      if (!fields && !customResultMapper) {141        return import_tracing.tracer.startActiveSpan("drizzle.driver.execute", async (span) => {142          span?.setAttributes({143            "drizzle.query.name": rawQuery.name,144            "drizzle.query.text": rawQuery.text,145            "drizzle.query.params": JSON.stringify(params)146          });147          return this.queryWithCache(rawQuery.text, params, async () => {148            return await client.query(rawQuery, params);149          });150        });151      }152      const result = await import_tracing.tracer.startActiveSpan("drizzle.driver.execute", (span) => {153        span?.setAttributes({154          "drizzle.query.name": query.name,155          "drizzle.query.text": query.text,156          "drizzle.query.params": JSON.stringify(params)157        });158        return this.queryWithCache(query.text, params, async () => {159          return await client.query(query, params);160        });161      });162      return import_tracing.tracer.startActiveSpan("drizzle.mapResponse", () => {163        return customResultMapper ? customResultMapper(result.rows) : result.rows.map((row) => (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap));164      });165    });166  }167  all(placeholderValues = {}) {168    return import_tracing.tracer.startActiveSpan("drizzle.execute", () => {169      const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);170      this.logger.logQuery(this.rawQueryConfig.text, params);171      return import_tracing.tracer.startActiveSpan("drizzle.driver.execute", (span) => {172        span?.setAttributes({173          "drizzle.query.name": this.rawQueryConfig.name,174          "drizzle.query.text": this.rawQueryConfig.text,175          "drizzle.query.params": JSON.stringify(params)176        });177        return this.queryWithCache(this.rawQueryConfig.text, params, async () => {178          return this.client.query(this.rawQueryConfig, params);179        }).then((result) => result.rows);180      });181    });182  }183  /** @internal */184  isResponseInArrayMode() {185    return this._isResponseInArrayMode;186  }187}188class NodePgSession extends import_session.PgSession {189  constructor(client, dialect, schema, options = {}) {190    super(dialect);191    this.client = client;192    this.schema = schema;193    this.options = options;194    this.logger = options.logger ?? new import_logger.NoopLogger();195    this.cache = options.cache ?? new import_core.NoopCache();196  }197  static [import_entity.entityKind] = "NodePgSession";198  logger;199  cache;200  prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {201    return new NodePgPreparedQuery(202      this.client,203      query.sql,204      query.params,205      this.logger,206      this.cache,207      queryMetadata,208      cacheConfig,209      fields,210      name,211      isResponseInArrayMode,212      customResultMapper213    );214  }215  async transaction(transaction, config) {216    const isPool = this.client instanceof Pool || Object.getPrototypeOf(this.client).constructor.name.includes("Pool");217    const session = isPool ? new NodePgSession(await this.client.connect(), this.dialect, this.schema, this.options) : this;218    const tx = new NodePgTransaction(this.dialect, session, this.schema);219    await tx.execute(import_sql.sql`begin${config ? import_sql.sql` ${tx.getTransactionConfigSQL(config)}` : void 0}`);220    try {221      const result = await transaction(tx);222      await tx.execute(import_sql.sql`commit`);223      return result;224    } catch (error) {225      await tx.execute(import_sql.sql`rollback`);226      throw error;227    } finally {228      if (isPool) session.client.release();229    }230  }231  async count(sql2) {232    const res = await this.execute(sql2);233    return Number(234      res["rows"][0]["count"]235    );236  }237}238class NodePgTransaction extends import_pg_core.PgTransaction {239  static [import_entity.entityKind] = "NodePgTransaction";240  async transaction(transaction) {241    const savepointName = `sp${this.nestedIndex + 1}`;242    const tx = new NodePgTransaction(243      this.dialect,244      this.session,245      this.schema,246      this.nestedIndex + 1247    );248    await tx.execute(import_sql.sql.raw(`savepoint ${savepointName}`));249    try {250      const result = await transaction(tx);251      await tx.execute(import_sql.sql.raw(`release savepoint ${savepointName}`));252      return result;253    } catch (err) {254      await tx.execute(import_sql.sql.raw(`rollback to savepoint ${savepointName}`));255      throw err;256    }257  }258}259// Annotate the CommonJS export names for ESM import in node:2600 && (module.exports = {261  NodePgPreparedQuery,262  NodePgSession,263  NodePgTransaction264});265//# sourceMappingURL=session.cjs.map