defaut value '1' in smallint column is a string value '1' in pgsql >= 9.5

From: Bogdan Stepanenko <bscheshir(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: defaut value '1' in smallint column is a string value '1' in pgsql >= 9.5
Date: 2017-12-01 09:36:48
Message-ID: CAM3H=w4JZ_aqt8kFX4GebbckNG2quSeBA+JFXEuFYju2cnwX7w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

related
https://github.com/yiisoft/yii2/issues/15247
https://github.com/yiisoft/yii2/issues/15254

1. create table with

CREATE TABLE "type" (
int_col integer NOT NULL,
int_col2 integer DEFAULT '1',
smallint_col smallint DEFAULT '1',
char_col char(100) NOT NULL,
char_col2 varchar(100) DEFAULT 'something',
char_col3 text,
float_col double precision NOT NULL,
float_col2 double precision DEFAULT '1.23',
blob_col bytea,
numeric_col decimal(5,2) DEFAULT '33.22',
time timestamp NOT NULL DEFAULT '2002-01-01 00:00:00',
bool_col boolean NOT NULL,
bool_col2 boolean DEFAULT TRUE,
ts_default TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
bit_col BIT(8) NOT NULL DEFAULT B'10000010',
bigint_col BIGINT
);

2. Get declaration of `types` from the information schema throw PDO
3. Get data about `smallint_col`
Result: Default value of `smalint_col` is a raw string '1', not convert to
int 1

I try with this versions (official docker images like `image:
postgres:9.4`):
9.4 is convert string to int.
9.5 and 10.1 is not convert string to int.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bogdan Stepanenko 2017-12-01 10:09:33 default value '1.23' in double precision column is a string value '1.23' in pgsql >=9.5
Previous Message dipesh.kamdar 2017-11-30 23:30:56 BUG #14938: ALTER TABLE hang/ poor performance