index.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. 'use strict';
  2. class AbstractDialect {}
  3. AbstractDialect.prototype.supports = {
  4. 'DEFAULT': true,
  5. 'DEFAULT VALUES': false,
  6. 'VALUES ()': false,
  7. 'LIMIT ON UPDATE': false,
  8. 'ON DUPLICATE KEY': true,
  9. 'ORDER NULLS': false,
  10. 'UNION': true,
  11. 'UNION ALL': true,
  12. 'RIGHT JOIN': true,
  13. /* does the dialect support returning values for inserted/updated fields */
  14. returnValues: false,
  15. /* features specific to autoIncrement values */
  16. autoIncrement: {
  17. /* does the dialect require modification of insert queries when inserting auto increment fields */
  18. identityInsert: false,
  19. /* does the dialect support inserting default/null values for autoincrement fields */
  20. defaultValue: true,
  21. /* does the dialect support updating autoincrement fields */
  22. update: true
  23. },
  24. /* Do we need to say DEFAULT for bulk insert */
  25. bulkDefault: false,
  26. schemas: false,
  27. transactions: true,
  28. settingIsolationLevelDuringTransaction: true,
  29. transactionOptions: {
  30. type: false
  31. },
  32. migrations: true,
  33. upserts: true,
  34. inserts: {
  35. ignoreDuplicates: '', /* dialect specific words for INSERT IGNORE or DO NOTHING */
  36. updateOnDuplicate: false, /* whether dialect supports ON DUPLICATE KEY UPDATE */
  37. onConflictDoNothing: '' /* dialect specific words for ON CONFLICT DO NOTHING */
  38. },
  39. constraints: {
  40. restrict: true,
  41. addConstraint: true,
  42. dropConstraint: true,
  43. unique: true,
  44. default: false,
  45. check: true,
  46. foreignKey: true,
  47. primaryKey: true
  48. },
  49. index: {
  50. collate: true,
  51. length: false,
  52. parser: false,
  53. concurrently: false,
  54. type: false,
  55. using: true,
  56. functionBased: false
  57. },
  58. joinTableDependent: true,
  59. groupedLimit: true,
  60. indexViaAlter: false,
  61. JSON: false,
  62. deferrableConstraints: false
  63. };
  64. module.exports = AbstractDialect;
  65. module.exports.AbstractDialect = AbstractDialect;
  66. module.exports.default = AbstractDialect;