UNPKG

@rcronin/sequelize-ibmi-mapepire

Version:

IBM i (via Mapepire) Sequelize V7 Dialect

131 lines 4.66 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.IBMiDialect = void 0; const core_1 = require("@sequelize/core"); const sql_js_1 = require("@sequelize/core/_non-semver-use-at-your-own-risk_/utils/sql.js"); const utils_1 = require("@sequelize/utils"); const DataTypes = __importStar(require("./_internal/data-types-overrides.js")); const connection_manager_js_1 = require("./connection-manager.js"); const query_generator_js_1 = require("./query-generator.js"); const query_interface_js_1 = require("./query-interface.js"); const query_js_1 = require("./query.js"); const DIALECT_OPTIONS_NAMES = (0, utils_1.getSynchronizedTypeKeys)({}); const CONNECTION_OPTION_NAMES = (0, utils_1.getSynchronizedTypeKeys)({ host: undefined, port: undefined, user: undefined, password: undefined, rejectUnauthorized: undefined, ca: undefined, jdbcOptions: undefined }); class IBMiDialect extends core_1.AbstractDialect { static supports = core_1.AbstractDialect.extendSupport({ 'VALUES ()': true, 'ON DUPLICATE KEY': false, connectionTransactionMethods: true, bulkDefault: true, index: { using: false, where: true, functionBased: true, collate: false, include: false }, constraints: { onUpdate: false }, groupedLimit: false, upserts: false, schemas: true, dataTypes: { COLLATE_BINARY: true }, removeColumn: { cascade: true }, renameTable: { changeSchema: false, changeSchemaAndTable: false }, createSchema: { authorization: true }, dropSchema: { cascade: true, ifExists: true } }); connectionManager; queryGenerator; queryInterface; Query = query_js_1.IBMiQuery; constructor(sequelize, options) { super({ dataTypesDocumentationUrl: 'https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_75/db2/rbafzch2data.htm', identifierDelimiter: '"', minimumDatabaseVersion: '7.5.0', name: 'ibmi', sequelize, options, dataTypeOverrides: DataTypes }); this.connectionManager = new connection_manager_js_1.IBMiConnectionManager(this); this.queryGenerator = new query_generator_js_1.IBMiQueryGenerator(this); this.queryInterface = new query_interface_js_1.IBMiQueryInterface(this); } createBindCollector() { return (0, sql_js_1.createUnspecifiedOrderedBindCollector)(); } escapeBuffer(buffer) { return `BLOB(X'${buffer.toString('hex')}')`; } getDefaultSchema() { // TODO: what is the default schema in IBMi? return ''; } parseConnectionUrl() { throw new Error('The "url" option is not supported by the Db2 dialect. Instead, please use the "odbcConnectionString" option.'); } static getSupportedOptions() { return DIALECT_OPTIONS_NAMES; } static getSupportedConnectionOptions() { return CONNECTION_OPTION_NAMES; } } exports.IBMiDialect = IBMiDialect; //# sourceMappingURL=dialect.js.map