# Test case to verify the scanners work properly when the table metadata (specifically the
# number of columns in the table) does not match the number of columns in the data file.
====
---- QUERY
select * from jointbl_test
---- RESULTS
1001,'Name1',94611,5000
1002,'Name2',94611,5000
1003,'Name3',94611,5000
1004,'Name4',94611,5000
1005,'Name5',94611,5000
1106,'Name6',94612,5000
1006,'Name16',94612,5000
1006,'Name6',94616,5000
1106,'Name16',94612,5000
1106,'Name6',94616,5000
1006,'Name16',94616,5000
1106,'Name16',94616,5000
1106,'Name6',94612,15000
1006,'Name16',94612,15000
1006,'Name6',94616,15000
1106,'Name16',94612,15000
1106,'Name6',94616,15000
1006,'Name16',94616,15000
1106,'Name16',94616,15000
---- TYPES
BIGINT, STRING, INT, INT
====
---- QUERY
alter table jointbl_test add columns(new_col string)
---- RESULTS
'New column(s) have been added to the table.'
====
---- QUERY
select * from jointbl_test
---- RESULTS
1001,'Name1',94611,5000,'NULL'
1002,'Name2',94611,5000,'NULL'
1003,'Name3',94611,5000,'NULL'
1004,'Name4',94611,5000,'NULL'
1005,'Name5',94611,5000,'NULL'
1106,'Name6',94612,5000,'NULL'
1006,'Name16',94612,5000,'NULL'
1006,'Name6',94616,5000,'NULL'
1106,'Name16',94612,5000,'NULL'
1106,'Name6',94616,5000,'NULL'
1006,'Name16',94616,5000,'NULL'
1106,'Name16',94616,5000,'NULL'
1106,'Name6',94612,15000,'NULL'
1006,'Name16',94612,15000,'NULL'
1006,'Name6',94616,15000,'NULL'
1106,'Name16',94612,15000,'NULL'
1106,'Name6',94616,15000,'NULL'
1006,'Name16',94616,15000,'NULL'
1106,'Name16',94616,15000,'NULL'
---- TYPES
BIGINT, STRING, INT, INT, STRING
====
---- QUERY
alter table jointbl_test add columns(new_int_col int)
---- RESULTS
'New column(s) have been added to the table.'
====
---- QUERY
select * from jointbl_test
---- RESULTS
1001,'Name1',94611,5000,'NULL',NULL
1002,'Name2',94611,5000,'NULL',NULL
1003,'Name3',94611,5000,'NULL',NULL
1004,'Name4',94611,5000,'NULL',NULL
1005,'Name5',94611,5000,'NULL',NULL
1106,'Name6',94612,5000,'NULL',NULL
1006,'Name16',94612,5000,'NULL',NULL
1006,'Name6',94616,5000,'NULL',NULL
1106,'Name16',94612,5000,'NULL',NULL
1106,'Name6',94616,5000,'NULL',NULL
1006,'Name16',94616,5000,'NULL',NULL
1106,'Name16',94616,5000,'NULL',NULL
1106,'Name6',94612,15000,'NULL',NULL
1006,'Name16',94612,15000,'NULL',NULL
1006,'Name6',94616,15000,'NULL',NULL
1106,'Name16',94612,15000,'NULL',NULL
1106,'Name6',94616,15000,'NULL',NULL
1006,'Name16',94616,15000,'NULL',NULL
1106,'Name16',94616,15000,'NULL',NULL
---- TYPES
BIGINT, STRING, INT, INT, STRING, INT
====
---- QUERY
alter table jointbl_test drop column new_int_col
---- RESULTS
'Column has been dropped.'
====
---- QUERY
select * from jointbl_test
---- RESULTS
1001,'Name1',94611,5000,'NULL'
1002,'Name2',94611,5000,'NULL'
1003,'Name3',94611,5000,'NULL'
1004,'Name4',94611,5000,'NULL'
1005,'Name5',94611,5000,'NULL'
1106,'Name6',94612,5000,'NULL'
1006,'Name16',94612,5000,'NULL'
1006,'Name6',94616,5000,'NULL'
1106,'Name16',94612,5000,'NULL'
1106,'Name6',94616,5000,'NULL'
1006,'Name16',94616,5000,'NULL'
1106,'Name16',94616,5000,'NULL'
1106,'Name6',94612,15000,'NULL'
1006,'Name16',94612,15000,'NULL'
1006,'Name6',94616,15000,'NULL'
1106,'Name16',94612,15000,'NULL'
1106,'Name6',94616,15000,'NULL'
1006,'Name16',94616,15000,'NULL'
1106,'Name16',94616,15000,'NULL'
---- TYPES
BIGINT, STRING, INT, INT, STRING
====
---- QUERY
alter table jointbl_test drop column new_col
---- RESULTS
'Column has been dropped.'
====
---- QUERY
alter table jointbl_test drop column alltypes_id
---- RESULTS
'Column has been dropped.'
====
---- QUERY
select * from jointbl_test
---- RESULTS
1001,'Name1',94611
1002,'Name2',94611
1003,'Name3',94611
1004,'Name4',94611
1005,'Name5',94611
1106,'Name6',94612
1006,'Name16',94612
1006,'Name6',94616
1106,'Name16',94612
1106,'Name6',94616
1006,'Name16',94616
1106,'Name16',94616
1106,'Name6',94612
1006,'Name16',94612
1006,'Name6',94616
1106,'Name16',94612
1106,'Name6',94616
1006,'Name16',94616
1106,'Name16',94616
---- TYPES
BIGINT, STRING, INT
====
