"CREATE TABLE gt_mysql.gt_mysql_test_column_properties.demo_all_data_types_default_value (
   col_bit boolean,
   col_tinyint tinyint WITH ( default = '0' ),
   col_smallint smallint WITH ( default = '-1' ),
   col_mediumint integer,
   col_int integer WITH ( default = '1' ),
   col_bigint bigint WITH ( default = '9999999' ),
   col_float real WITH ( default = '0.0' ),
   col_double double WITH ( default = '1.23456' ),
   col_decimal decimal(10, 2) WITH ( default = '100.50' ),
   col_date date WITH ( default = '2000-01-01' ),
   col_time time(0) WITH ( default = '12:30:01' ),
   col_datetime timestamp(0) WITH ( default = '2025-01-01 00:00:01' ),
   col_timestamp timestamp(0) with time zone WITH ( default = '2025-01-01 00:00:01' ),
   col_year date,
   col_char char(10) WITH ( default = 'abc' ),
   col_varchar varchar(100) WITH ( default = 'Hello' ),
   col_tinytext varchar,
   col_text varchar,
   col_mediumtext varchar,
   col_longtext varchar,
   col_binary varbinary,
   col_varbinary varbinary,
   col_blob varbinary,
   col_mediumblob varbinary,
   col_longblob varbinary,
   col_enum varchar,
   col_set varchar,
   col_json json,
   col_boolean boolean,
   col_geometry varbinary,
   col_point varbinary
)
COMMENT ''
WITH (
   engine = 'InnoDB'
)"

"CREATE TABLE gt_mysql.gt_mysql_test_column_properties.demo_default_value_with_expression (
   int_col_2 integer,
   varchar200_col_1 varchar(200),
   varchar200_col_2 varchar(200),
   datetime_col_1 timestamp(0) WITH ( default = 'CURRENT_TIMESTAMP' ),
   datetime_col_2 timestamp(0) WITH ( default = 'CURRENT_TIMESTAMP' ),
   date_col_1 date,
   date_col_2 date,
   date_col_3 date,
   timestamp_col_1 timestamp(0) with time zone WITH ( default = 'CURRENT_TIMESTAMP' ),
   timestamp_col_2 timestamp(0) with time zone WITH ( default = 'CURRENT_TIMESTAMP' )
)
COMMENT ''
WITH (
   engine = 'InnoDB'
)"

CREATE SCHEMA

CREATE TABLE

"CREATE TABLE gt_mysql.gt_mysql_test_column_properties_v2.test_create_with_default_value (
   key1 integer NOT NULL WITH ( auto_increment = true ),
   f1 varchar(200) WITH ( default = 'VARCHAR' ),
   f2 char(20) WITH ( default = 'CHAR' ),
   f4 decimal(10, 3) WITH ( default = '0.300' ),
   f5 real WITH ( default = '0.3' ),
   f6 double WITH ( default = '0.3' ),
   f8 tinyint WITH ( default = '1' ),
   f9 smallint WITH ( default = '1' ),
   f10 integer WITH ( default = '1' ),
   f11 integer WITH ( default = '1' ),
   f12 bigint WITH ( default = '1' ),
   f13 date WITH ( default = '2024-04-01' ),
   f14 time(0) WITH ( default = '08:00' ),
   f15 timestamp(0) WITH ( default = '2012-12-31 11:30:45' ),
   f16 timestamp(0) with time zone WITH ( default = '2012-12-31 11:30:45' ),
   f17 timestamp(0) with time zone WITH ( default = 'CURRENT_TIMESTAMP' )
)
COMMENT ''
WITH (
   engine = 'InnoDB',
   primary_key = ARRAY['key1']
)"

DROP TABLE

<QUERY_FAILED> Invalidate default value 1 for DATE type. Text '1' could not be parsed at index 0

<QUERY_FAILED> Invalidate default value 1 for UUID type. This Type not support default value

CREATE TABLE

"CREATE TABLE gt_mysql.gt_mysql_test_column_properties_v2.test_create_with_auto_increment_1 (
   key1 integer NOT NULL WITH ( auto_increment = true ),
   f1 timestamp(0),
   f2 date
)
COMMENT ''
WITH (
   engine = 'InnoDB',
   primary_key = ARRAY['key1']
)"

DROP TABLE

CREATE TABLE

"CREATE TABLE gt_mysql.gt_mysql_test_column_properties_v2.test_create_with_auto_increment_2 (
   key1 integer NOT NULL WITH ( auto_increment = true ),
   key2 integer NOT NULL,
   f1 timestamp(0),
   f2 date
)
COMMENT ''
WITH (
   engine = 'InnoDB',
   primary_key = ARRAY['key1','key2']
)"

DROP TABLE

CREATE TABLE

"CREATE TABLE gt_mysql.gt_mysql_test_column_properties_v2.test_create_with_auto_increment_3 (
   key1 integer NOT NULL WITH ( auto_increment = true ),
   col1 integer
)
COMMENT ''
WITH (
   engine = 'InnoDB',
   unique_key = ARRAY['unique_key1:key1']
)"

DROP TABLE

CREATE TABLE

"CREATE TABLE gt_mysql.gt_mysql_test_column_properties_v2.test_create_with_auto_increment_4 (
   key1 integer NOT NULL WITH ( auto_increment = true ),
   key2 integer,
   col1 integer
)
COMMENT ''
WITH (
   engine = 'InnoDB',
   primary_key = ARRAY['key1'],
   unique_key = ARRAY['unique_key1:key1,key2']
)"

DROP TABLE

<QUERY_FAILED> Auto increment column must be defined as a key in MySQL

<QUERY_FAILED> Only one column can be auto-incremented in MySQL

<QUERY_FAILED> Auto increment column must be not null in MySQL

<QUERY_FAILED> Auto increment column cannot have a default value in MySQL

<QUERY_FAILED> Auto increment column must be integer type in MySQL

DROP SCHEMA
