index.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. 'use strict';
  2. exports.__esModule = true;
  3. var _map2 = require('lodash/map');
  4. var _map3 = _interopRequireDefault(_map2);
  5. var _assign2 = require('lodash/assign');
  6. var _assign3 = _interopRequireDefault(_assign2);
  7. var _inherits = require('inherits');
  8. var _inherits2 = _interopRequireDefault(_inherits);
  9. var _postgres = require('../postgres');
  10. var _postgres2 = _interopRequireDefault(_postgres);
  11. var _transaction = require('./transaction');
  12. var _transaction2 = _interopRequireDefault(_transaction);
  13. var _compiler = require('./query/compiler');
  14. var _compiler2 = _interopRequireDefault(_compiler);
  15. var _columnbuilder = require('./schema/columnbuilder');
  16. var _columnbuilder2 = _interopRequireDefault(_columnbuilder);
  17. var _columncompiler = require('./schema/columncompiler');
  18. var _columncompiler2 = _interopRequireDefault(_columncompiler);
  19. var _tablecompiler = require('./schema/tablecompiler');
  20. var _tablecompiler2 = _interopRequireDefault(_tablecompiler);
  21. var _compiler3 = require('./schema/compiler');
  22. var _compiler4 = _interopRequireDefault(_compiler3);
  23. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  24. // Redshift
  25. // -------
  26. function Client_Redshift(config) {
  27. _postgres2.default.apply(this, arguments);
  28. }
  29. (0, _inherits2.default)(Client_Redshift, _postgres2.default);
  30. (0, _assign3.default)(Client_Redshift.prototype, {
  31. transaction: function transaction() {
  32. return new (Function.prototype.bind.apply(_transaction2.default, [null].concat([this], Array.prototype.slice.call(arguments))))();
  33. },
  34. queryCompiler: function queryCompiler() {
  35. return new (Function.prototype.bind.apply(_compiler2.default, [null].concat([this], Array.prototype.slice.call(arguments))))();
  36. },
  37. columnBuilder: function columnBuilder() {
  38. return new (Function.prototype.bind.apply(_columnbuilder2.default, [null].concat([this], Array.prototype.slice.call(arguments))))();
  39. },
  40. columnCompiler: function columnCompiler() {
  41. return new (Function.prototype.bind.apply(_columncompiler2.default, [null].concat([this], Array.prototype.slice.call(arguments))))();
  42. },
  43. tableCompiler: function tableCompiler() {
  44. return new (Function.prototype.bind.apply(_tablecompiler2.default, [null].concat([this], Array.prototype.slice.call(arguments))))();
  45. },
  46. schemaCompiler: function schemaCompiler() {
  47. return new (Function.prototype.bind.apply(_compiler4.default, [null].concat([this], Array.prototype.slice.call(arguments))))();
  48. },
  49. dialect: 'redshift',
  50. driverName: 'pg-redshift',
  51. _driver: function _driver() {
  52. return require('pg');
  53. },
  54. // Ensures the response is returned in the same format as other clients.
  55. processResponse: function processResponse(obj, runner) {
  56. var resp = obj.response;
  57. if (obj.output) return obj.output.call(runner, resp);
  58. if (obj.method === 'raw') return resp;
  59. if (resp.command === 'SELECT') {
  60. if (obj.method === 'first') return resp.rows[0];
  61. if (obj.method === 'pluck') return (0, _map3.default)(resp.rows, obj.pluck);
  62. return resp.rows;
  63. }
  64. if (resp.command === 'INSERT' || resp.command === 'UPDATE' || resp.command === 'DELETE') {
  65. return resp.rowCount;
  66. }
  67. return resp;
  68. }
  69. });
  70. exports.default = Client_Redshift;
  71. module.exports = exports['default'];