index.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. "use strict";
  2. const _ = require("lodash");
  3. const AbstractDialect = require("../abstract");
  4. const ConnectionManager = require("./connection-manager");
  5. const Query = require("./query");
  6. const QueryGenerator = require("./query-generator");
  7. const DataTypes = require("../../data-types").snowflake;
  8. const { SnowflakeQueryInterface } = require("./query-interface");
  9. class SnowflakeDialect extends AbstractDialect {
  10. constructor(sequelize) {
  11. super();
  12. this.sequelize = sequelize;
  13. this.connectionManager = new ConnectionManager(this, sequelize);
  14. this.queryGenerator = new QueryGenerator({
  15. _dialect: this,
  16. sequelize
  17. });
  18. this.queryInterface = new SnowflakeQueryInterface(sequelize, this.queryGenerator);
  19. }
  20. }
  21. SnowflakeDialect.prototype.supports = _.merge(_.cloneDeep(AbstractDialect.prototype.supports), {
  22. "VALUES ()": true,
  23. "LIMIT ON UPDATE": true,
  24. lock: true,
  25. forShare: "LOCK IN SHARE MODE",
  26. settingIsolationLevelDuringTransaction: false,
  27. inserts: {
  28. ignoreDuplicates: " IGNORE",
  29. updateOnDuplicate: false
  30. },
  31. index: {
  32. collate: false,
  33. length: true,
  34. parser: true,
  35. type: true,
  36. using: 1
  37. },
  38. constraints: {
  39. dropConstraint: false,
  40. check: false
  41. },
  42. indexViaAlter: true,
  43. indexHints: true,
  44. NUMERIC: true,
  45. GEOMETRY: false,
  46. JSON: false,
  47. REGEXP: true,
  48. schemas: true
  49. });
  50. SnowflakeDialect.prototype.defaultVersion = "5.7.0";
  51. SnowflakeDialect.prototype.Query = Query;
  52. SnowflakeDialect.prototype.QueryGenerator = QueryGenerator;
  53. SnowflakeDialect.prototype.DataTypes = DataTypes;
  54. SnowflakeDialect.prototype.name = "snowflake";
  55. SnowflakeDialect.prototype.TICK_CHAR = '"';
  56. SnowflakeDialect.prototype.TICK_CHAR_LEFT = SnowflakeDialect.prototype.TICK_CHAR;
  57. SnowflakeDialect.prototype.TICK_CHAR_RIGHT = SnowflakeDialect.prototype.TICK_CHAR;
  58. module.exports = SnowflakeDialect;
  59. //# sourceMappingURL=index.js.map