index.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. "use strict";
  2. const _ = require("lodash");
  3. const { AbstractDialect } = require("../abstract");
  4. const { OracleConnectionManager } = require("./connection-manager");
  5. const { OracleQuery } = require("./query");
  6. const { OracleQueryGenerator } = require("./query-generator");
  7. const DataTypes = require("../../data-types").oracle;
  8. const { OracleQueryInterface } = require("./query-interface");
  9. class OracleDialect extends AbstractDialect {
  10. constructor(sequelize) {
  11. super();
  12. this.sequelize = sequelize;
  13. this.connectionManager = new OracleConnectionManager(this, sequelize);
  14. this.connectionManager.initPools();
  15. this.queryGenerator = new OracleQueryGenerator({
  16. _dialect: this,
  17. sequelize
  18. });
  19. this.queryInterface = new OracleQueryInterface(sequelize, this.queryGenerator);
  20. }
  21. }
  22. OracleDialect.prototype.supports = _.merge(_.cloneDeep(AbstractDialect.prototype.supports), {
  23. "VALUES ()": true,
  24. "LIMIT ON UPDATE": true,
  25. IGNORE: " IGNORE",
  26. lock: true,
  27. lockOuterJoinFailure: true,
  28. forShare: "FOR UPDATE",
  29. skipLocked: true,
  30. index: {
  31. collate: false,
  32. length: false,
  33. parser: false,
  34. type: false,
  35. using: false
  36. },
  37. constraints: {
  38. restrict: false
  39. },
  40. returnValues: false,
  41. returnIntoValues: true,
  42. "ORDER NULLS": true,
  43. schemas: true,
  44. updateOnDuplicate: false,
  45. indexViaAlter: false,
  46. NUMERIC: true,
  47. JSON: true,
  48. upserts: true,
  49. bulkDefault: true,
  50. topLevelOrderByRequired: true,
  51. GEOMETRY: false
  52. });
  53. OracleDialect.prototype.defaultVersion = "18.0.0";
  54. OracleDialect.prototype.Query = OracleQuery;
  55. OracleDialect.prototype.queryGenerator = OracleQueryGenerator;
  56. OracleDialect.prototype.DataTypes = DataTypes;
  57. OracleDialect.prototype.name = "oracle";
  58. OracleDialect.prototype.TICK_CHAR = '"';
  59. OracleDialect.prototype.TICK_CHAR_LEFT = OracleDialect.prototype.TICK_CHAR;
  60. OracleDialect.prototype.TICK_CHAR_RIGHT = OracleDialect.prototype.TICK_CHAR;
  61. module.exports = OracleDialect;
  62. //# sourceMappingURL=index.js.map