index.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 { MySQLQueryInterface } = require("../mysql/query-interface");
  8. const DataTypes = require("../../data-types").mariadb;
  9. class MariadbDialect 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 MySQLQueryInterface(sequelize, this.queryGenerator);
  19. }
  20. canBackslashEscape() {
  21. return true;
  22. }
  23. }
  24. MariadbDialect.prototype.supports = _.merge(_.cloneDeep(AbstractDialect.prototype.supports), {
  25. "VALUES ()": true,
  26. "LIMIT ON UPDATE": true,
  27. lock: true,
  28. forShare: "LOCK IN SHARE MODE",
  29. settingIsolationLevelDuringTransaction: false,
  30. schemas: true,
  31. inserts: {
  32. ignoreDuplicates: " IGNORE",
  33. updateOnDuplicate: " ON DUPLICATE KEY UPDATE"
  34. },
  35. index: {
  36. collate: false,
  37. length: true,
  38. parser: true,
  39. type: true,
  40. using: 1
  41. },
  42. constraints: {
  43. dropConstraint: false,
  44. check: false
  45. },
  46. indexViaAlter: true,
  47. indexHints: true,
  48. NUMERIC: true,
  49. GEOMETRY: true,
  50. JSON: true,
  51. REGEXP: true
  52. });
  53. MariadbDialect.prototype.defaultVersion = "10.1.44";
  54. MariadbDialect.prototype.Query = Query;
  55. MariadbDialect.prototype.QueryGenerator = QueryGenerator;
  56. MariadbDialect.prototype.DataTypes = DataTypes;
  57. MariadbDialect.prototype.name = "mariadb";
  58. MariadbDialect.prototype.TICK_CHAR = "`";
  59. MariadbDialect.prototype.TICK_CHAR_LEFT = MariadbDialect.prototype.TICK_CHAR;
  60. MariadbDialect.prototype.TICK_CHAR_RIGHT = MariadbDialect.prototype.TICK_CHAR;
  61. module.exports = MariadbDialect;
  62. //# sourceMappingURL=index.js.map