| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | 
							- 'use strict';
 
- exports.__esModule = true;
 
- var _map2 = require('lodash/map');
 
- var _map3 = _interopRequireDefault(_map2);
 
- var _uniq2 = require('lodash/uniq');
 
- var _uniq3 = _interopRequireDefault(_uniq2);
 
- var _assign2 = require('lodash/assign');
 
- var _assign3 = _interopRequireDefault(_assign2);
 
- var _inherits = require('inherits');
 
- var _inherits2 = _interopRequireDefault(_inherits);
 
- var _raw = require('../../../raw');
 
- var _raw2 = _interopRequireDefault(_raw);
 
- var _columncompiler = require('../../../schema/columncompiler');
 
- var _columncompiler2 = _interopRequireDefault(_columncompiler);
 
- var _trigger = require('./trigger');
 
- var _trigger2 = _interopRequireDefault(_trigger);
 
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
- // Column Compiler
 
- // -------
 
- function ColumnCompiler_Oracle() {
 
-   _columncompiler2.default.apply(this, arguments);
 
-   this.modifiers = ['defaultTo', 'checkIn', 'nullable', 'comment'];
 
- }
 
- (0, _inherits2.default)(ColumnCompiler_Oracle, _columncompiler2.default);
 
- (0, _assign3.default)(ColumnCompiler_Oracle.prototype, {
 
-   // helper function for pushAdditional in increments() and bigincrements()
 
-   _createAutoIncrementTriggerAndSequence: function _createAutoIncrementTriggerAndSequence() {
 
-     // TODO Add warning that sequence etc is created
 
-     this.pushAdditional(function () {
 
-       var tableName = this.tableCompiler.tableNameRaw;
 
-       var createTriggerSQL = _trigger2.default.createAutoIncrementTrigger(tableName);
 
-       this.pushQuery(createTriggerSQL);
 
-     });
 
-   },
 
-   increments: function increments() {
 
-     this._createAutoIncrementTriggerAndSequence();
 
-     return 'integer not null primary key';
 
-   },
 
-   bigincrements: function bigincrements() {
 
-     this._createAutoIncrementTriggerAndSequence();
 
-     return 'number(20, 0) not null primary key';
 
-   },
 
-   floating: function floating(precision) {
 
-     var parsedPrecision = this._num(precision, 0);
 
-     return 'float' + (parsedPrecision ? '(' + parsedPrecision + ')' : '');
 
-   },
 
-   double: function double(precision, scale) {
 
-     // if (!precision) return 'number'; // TODO: Check If default is ok
 
-     return 'number(' + this._num(precision, 8) + ', ' + this._num(scale, 2) + ')';
 
-   },
 
-   integer: function integer(length) {
 
-     return length ? 'number(' + this._num(length, 11) + ')' : 'integer';
 
-   },
 
-   tinyint: 'smallint',
 
-   smallint: 'smallint',
 
-   mediumint: 'integer',
 
-   biginteger: 'number(20, 0)',
 
-   text: 'clob',
 
-   enu: function enu(allowed) {
 
-     allowed = (0, _uniq3.default)(allowed);
 
-     var maxLength = (allowed || []).reduce(function (maxLength, name) {
 
-       return Math.max(maxLength, String(name).length);
 
-     }, 1);
 
-     // implicitly add the enum values as checked values
 
-     this.columnBuilder._modifiers.checkIn = [allowed];
 
-     return 'varchar2(' + maxLength + ')';
 
-   },
 
-   time: 'timestamp with time zone',
 
-   datetime: function datetime(without) {
 
-     return without ? 'timestamp' : 'timestamp with time zone';
 
-   },
 
-   timestamp: function timestamp(without) {
 
-     return without ? 'timestamp' : 'timestamp with time zone';
 
-   },
 
-   bit: 'clob',
 
-   json: 'clob',
 
-   bool: function bool() {
 
-     // implicitly add the check for 0 and 1
 
-     this.columnBuilder._modifiers.checkIn = [[0, 1]];
 
-     return 'number(1, 0)';
 
-   },
 
-   varchar: function varchar(length) {
 
-     return 'varchar2(' + this._num(length, 255) + ')';
 
-   },
 
-   // Modifiers
 
-   // ------
 
-   comment: function comment(_comment) {
 
-     this.pushAdditional(function () {
 
-       this.pushQuery('comment on column ' + this.tableCompiler.tableName() + '.' + this.formatter.wrap(this.args[0]) + " is '" + (_comment || '') + "'");
 
-     }, _comment);
 
-   },
 
-   checkIn: function checkIn(value) {
 
-     // TODO: Maybe accept arguments also as array
 
-     // TODO: value(s) should be escaped properly
 
-     if (value === undefined) {
 
-       return '';
 
-     } else if (value instanceof _raw2.default) {
 
-       value = value.toQuery();
 
-     } else if (Array.isArray(value)) {
 
-       value = (0, _map3.default)(value, function (v) {
 
-         return '\'' + v + '\'';
 
-       }).join(', ');
 
-     } else {
 
-       value = '\'' + value + '\'';
 
-     }
 
-     return 'check (' + this.formatter.wrap(this.args[0]) + ' in (' + value + '))';
 
-   }
 
- });
 
- exports.default = ColumnCompiler_Oracle;
 
- module.exports = exports['default'];
 
 
  |