blob: 16e0edcf64a5ce7315b3897e177a4ac379941884 [file] [log] [blame]
/* ----------------------------------------------------------------------- */
/**
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
/* ----------------------------------------------------------------------- */
m4_include(`SQLCommon.m4')
CREATE TABLE "__madlib_temp_Quoted"(b varchar);
CREATE TABLE __madlib_temp_non_quoted(a text);
-- assert that madlib_temp tables are created
SELECT assert(count(*) >= 2, 'Error setting up madlib_temp in schema ' || quote_ident(current_schema()))
FROM pg_tables
WHERE tablename LIKE '%madlib\_temp%'
AND quote_ident(schemaname) = quote_ident(current_schema());
-- cleanup
SELECT cleanup_madlib_temp_tables(quote_ident(current_schema()));
-- assert that madlib_temp tables are dropped
SELECT assert(count(*) = 0, 'Error cleaning up madlib_temp in schema ' || quote_ident(current_schema()))
FROM pg_tables
WHERE tablename LIKE '%madlib\_temp%'
AND quote_ident(schemaname) = quote_ident(current_schema());
-- test dropcols
DROP TABLE IF EXISTS dt_golf CASCADE;
CREATE TABLE dt_golf (
id integer NOT NULL,
id_2 integer,
"OUTLOOK" text,
temperature double precision,
"len$$'%*()gth" double precision,
"Cont,features" double precision[],
cat_features text[],
windy boolean,
class text
)
m4_ifdef(`__POSTGRESQL__', `', `WITH (appendonly=true)');
INSERT INTO dt_golf (id,"OUTLOOK",temperature,"len$$'%*()gth","Cont,features",cat_features, windy,class) VALUES
(1, 'sunny', 85, 85,ARRAY[85, 85], ARRAY['a', 'b'], false, 'Don''t Play'),
(2, 'sunny', 80, 90, ARRAY[80, 90], ARRAY['a', 'b'], true, 'Don''t Play'),
(3, 'overcast', 83, 78, ARRAY[83, 78], ARRAY['a', 'b'], false, 'Play'),
(4, 'rain', 70, NULL, ARRAY[70, 96], ARRAY['a', 'b'], false, 'Play'),
(5, 'rain', 68, 80, ARRAY[68, 80], ARRAY['a', 'b'], false, 'Play'),
(6, 'rain', NULL, 70, ARRAY[65, 70], ARRAY['a', 'b'], true, 'Don''t Play'),
(7, 'overcast', 64, 65, ARRAY[64, 65], ARRAY['c', 'b'], NULL , 'Play'),
(8, 'sunny', 72, 95, ARRAY[72, 95], ARRAY['a', 'b'], false, 'Don''t Play'),
(9, 'sunny', 69, 70, ARRAY[69, 70], ARRAY['a', 'b'], false, 'Play'),
(10, 'rain', 75, 80, ARRAY[75, 80], ARRAY['a', 'b'], false, 'Play'),
(11, 'sunny', 75, 70, ARRAY[75, 70], ARRAY['a', 'd'], true, 'Play'),
(12, 'overcast', 72, 90, ARRAY[72, 90], ARRAY['c', 'b'], NULL, 'Play'),
(13, 'overcast', 81, 75, ARRAY[81, 75], ARRAY['a', 'b'], false, 'Play'),
(15, NULL, 81, 75, ARRAY[81, 75], ARRAY['a', 'b'], false, 'Play'),
(16, 'overcast', NULL, 75, ARRAY[81, 75], ARRAY['a', 'd'], false, 'Play'),
(14, 'rain', 71, 80, ARRAY[71, 80], ARRAY['c', 'b'], true, 'Don''t Play');
SELECT dropcols('dt_golf', 'dt_golf2', '"OUTLOOK", "Cont,features", cat_features');
-- test if columns have been dropped
SELECT assert(n_cols = 0, 'Some of the columns have not been dropped')
FROM (
SELECT count(*) AS n_cols
FROM information_schema.columns
WHERE table_name='dt_golf2' AND
(column_name in ('"OUTLOOK"', '"Cont,features"', 'cat_features'))
) q;
-- test if the retained columns are present in output table
SELECT
id, id_2, temperature, "len$$'%*()gth", windy, class
FROM dt_golf2;