不要怂,就是干,撸起袖子干!

Commit 9f58b823 by Tiago Bonatti Committed by Sushant

fix(tinyint): ignore params for TINYINT on postgres (#9992)

1 parent 9508888e
...@@ -254,6 +254,27 @@ module.exports = BaseTypes => { ...@@ -254,6 +254,27 @@ module.exports = BaseTypes => {
array_oids: [1185] array_oids: [1185]
}; };
function TINYINT(length) {
if (!(this instanceof TINYINT)) return new TINYINT(length);
BaseTypes.TINYINT.apply(this, arguments);
// POSTGRES does not support any parameters for tinyint
if (this._length || this.options.length || this._unsigned || this._zerofill) {
warn('PostgreSQL does not support TINYINT with options. Plain `TINYINT` will be used instead.');
this._length = undefined;
this.options.length = undefined;
this._unsigned = undefined;
this._zerofill = undefined;
}
}
inherits(TINYINT, BaseTypes.TINYINT);
// int2
BaseTypes.TINYINT.types.postgres = {
oids: [21],
array_oids: [1005]
};
function SMALLINT(length) { function SMALLINT(length) {
if (!(this instanceof SMALLINT)) return new SMALLINT(length); if (!(this instanceof SMALLINT)) return new SMALLINT(length);
BaseTypes.SMALLINT.apply(this, arguments); BaseTypes.SMALLINT.apply(this, arguments);
...@@ -668,6 +689,7 @@ module.exports = BaseTypes => { ...@@ -668,6 +689,7 @@ module.exports = BaseTypes => {
STRING, STRING,
CHAR, CHAR,
TEXT, TEXT,
TINYINT,
SMALLINT, SMALLINT,
INTEGER, INTEGER,
BIGINT, BIGINT,
......
...@@ -420,7 +420,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -420,7 +420,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
dataType: DataTypes.TINYINT(2), dataType: DataTypes.TINYINT(2),
expect: { expect: {
default: 'TINYINT(2)', default: 'TINYINT(2)',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
}, },
{ {
...@@ -428,7 +429,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -428,7 +429,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
dataType: DataTypes.TINYINT({ length: 2 }), dataType: DataTypes.TINYINT({ length: 2 }),
expect: { expect: {
default: 'TINYINT(2)', default: 'TINYINT(2)',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
}, },
{ {
...@@ -436,7 +438,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -436,7 +438,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
dataType: DataTypes.TINYINT.UNSIGNED, dataType: DataTypes.TINYINT.UNSIGNED,
expect: { expect: {
default: 'TINYINT UNSIGNED', default: 'TINYINT UNSIGNED',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
}, },
{ {
...@@ -445,7 +448,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -445,7 +448,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
expect: { expect: {
default: 'TINYINT(2) UNSIGNED', default: 'TINYINT(2) UNSIGNED',
sqlite: 'TINYINT UNSIGNED(2)', sqlite: 'TINYINT UNSIGNED(2)',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
}, },
{ {
...@@ -453,7 +457,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -453,7 +457,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
dataType: DataTypes.TINYINT.UNSIGNED.ZEROFILL, dataType: DataTypes.TINYINT.UNSIGNED.ZEROFILL,
expect: { expect: {
default: 'TINYINT UNSIGNED ZEROFILL', default: 'TINYINT UNSIGNED ZEROFILL',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
}, },
{ {
...@@ -462,7 +467,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -462,7 +467,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
expect: { expect: {
default: 'TINYINT(2) UNSIGNED ZEROFILL', default: 'TINYINT(2) UNSIGNED ZEROFILL',
sqlite: 'TINYINT UNSIGNED ZEROFILL(2)', sqlite: 'TINYINT UNSIGNED ZEROFILL(2)',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
}, },
{ {
...@@ -470,7 +476,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -470,7 +476,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
dataType: DataTypes.TINYINT.ZEROFILL, dataType: DataTypes.TINYINT.ZEROFILL,
expect: { expect: {
default: 'TINYINT ZEROFILL', default: 'TINYINT ZEROFILL',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
}, },
{ {
...@@ -479,7 +486,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -479,7 +486,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
expect: { expect: {
default: 'TINYINT(2) ZEROFILL', default: 'TINYINT(2) ZEROFILL',
sqlite: 'TINYINT ZEROFILL(2)', sqlite: 'TINYINT ZEROFILL(2)',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
}, },
{ {
...@@ -487,7 +495,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -487,7 +495,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
dataType: DataTypes.TINYINT.ZEROFILL.UNSIGNED, dataType: DataTypes.TINYINT.ZEROFILL.UNSIGNED,
expect: { expect: {
default: 'TINYINT UNSIGNED ZEROFILL', default: 'TINYINT UNSIGNED ZEROFILL',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
}, },
{ {
...@@ -496,7 +505,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => { ...@@ -496,7 +505,8 @@ suite(Support.getTestDialectTeaser('SQL'), () => {
expect: { expect: {
default: 'TINYINT(2) UNSIGNED ZEROFILL', default: 'TINYINT(2) UNSIGNED ZEROFILL',
sqlite: 'TINYINT UNSIGNED ZEROFILL(2)', sqlite: 'TINYINT UNSIGNED ZEROFILL(2)',
mssql: 'TINYINT' mssql: 'TINYINT',
postgres: 'TINYINT'
} }
} }
]; ];
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!