blob: 837e0fabbf2a607197274a241f2664c286efe1b4 [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.
--
--
-- this test shows the current supported select functionality
--
create table t(i int, s smallint);
insert into t (i,s) values (1956,475);
-- select a subset of the columns
select i from t;
-- select all columns in order
select i,s from t;
-- select columns out of order
select s,i from t;
-- select with repeating columns
select i,i,s,s,i,i from t;
-- select with constants
select 10 from t;
-- select with table name
select t.i from t;
-- select with correlation name
select b.i from t b;
-- select *
select * from t;
-- select * and constants and columns
select *, 10, i from t;
-- select correlation name dot star
select b.* from t b;
-- select table name dot star
select t.* from t;
-- believe it or not, the next query is valid
(select * from t);
-- negative testing
-- non-boolean where clause
-- (only put here due to small size of this test)
select * from t where i;
-- invalid correlation name for "*"
select asdf.* from t;
-- Column aliases are not supported in WHERE clause:
select s as col_s from t where col_s = 475;
-- Column references in WHERE clause always refer to the base table column:
select s as i from t where s = 475;
select s as i from t where i = 1956;
-- cleanup
drop table t;
-- Beetle 5019. We had a failure in V5.1.20.
CREATE SCHEMA CONTENT;
CREATE TABLE CONTENT.CONTENT (ID INTEGER NOT NULL, CREATOR VARCHAR(128) NOT NULL, CREATION_DATE DATE NOT NULL, URL VARCHAR(256) NOT NULL, TITLE VARCHAR(128) NOT NULL, DESCRIPTION VARCHAR(512) NOT NULL, HEIGHT INTEGER NOT NULL, WIDTH INTEGER NOT NULL);
ALTER TABLE CONTENT.CONTENT ADD CONSTRAINT CONTENT_ID PRIMARY KEY (ID);
CREATE TABLE CONTENT.STYLE (ID INTEGER NOT NULL,DESCRIPTION VARCHAR(128) NOT NULL);
ALTER TABLE CONTENT.STYLE ADD CONSTRAINT STYLE_ID PRIMARY KEY (ID);
CREATE TABLE CONTENT.CONTENT_STYLE (CONTENT_ID INTEGER NOT NULL, STYLE_ID INTEGER NOT NULL);
ALTER TABLE CONTENT.CONTENT_STYLE ADD CONSTRAINT CONTENTSTYLEID PRIMARY KEY (CONTENT_ID, STYLE_ID);
CREATE TABLE CONTENT.KEYGEN (KEYVAL INTEGER NOT NULL, KEYNAME VARCHAR(256) NOT NULL);
ALTER TABLE CONTENT.KEYGEN ADD CONSTRAINT PK_KEYGEN PRIMARY KEY (KEYNAME);
CREATE TABLE CONTENT.RATING (ID INTEGER NOT NULL,RATING DOUBLE PRECISION NOT NULL,ENTRIES DOUBLE PRECISION NOT NULL);
ALTER TABLE CONTENT.RATING ADD CONSTRAINT PK_RATING PRIMARY KEY (ID);
INSERT INTO CONTENT.STYLE VALUES (1, 'BIRD');
INSERT INTO CONTENT.STYLE VALUES (2, 'CAR');
INSERT INTO CONTENT.STYLE VALUES (3, 'BUILDING');
INSERT INTO CONTENT.STYLE VALUES (4, 'PERSON');
INSERT INTO CONTENT.CONTENT values(1, 'djd', CURRENT DATE, 'http://url.1', 'title1', 'desc1', 100, 100);
INSERT INTO CONTENT.CONTENT values(2, 'djd', CURRENT DATE, 'http://url.2', 'title2', 'desc2', 100, 100);
INSERT INTO CONTENT.CONTENT values(3, 'djd', CURRENT DATE, 'http://url.3', 'title3', 'desc3', 100, 100);
INSERT INTO CONTENT.CONTENT values(4, 'djd', CURRENT DATE, 'http://url.4', 'title4', 'desc4', 100, 100);
INSERT INTO CONTENT.CONTENT values(5, 'djd', CURRENT DATE, 'http://url.5', 'title5', 'desc5', 100, 100);
INSERT INTO CONTENT.CONTENT_STYLE VALUES(1,1);
INSERT INTO CONTENT.CONTENT_STYLE VALUES(1,2);
INSERT INTO CONTENT.CONTENT_STYLE VALUES(2,1);
INSERT INTO CONTENT.CONTENT_STYLE VALUES(2,4);
INSERT INTO CONTENT.CONTENT_STYLE VALUES(3,3);
INSERT INTO CONTENT.CONTENT_STYLE VALUES(3,4);
INSERT INTO CONTENT.CONTENT_STYLE VALUES(3,1);
INSERT INTO CONTENT.CONTENT_STYLE VALUES(4,4);
INSERT INTO CONTENT.CONTENT_STYLE VALUES(5,1);
INSERT INTO CONTENT.RATING VALUES(1, 4.5, 1);
INSERT INTO CONTENT.RATING VALUES(2, 4.0, 1);
INSERT INTO CONTENT.RATING VALUES(3, 3.9, 1);
INSERT INTO CONTENT.RATING VALUES(4, 4.1, 1);
INSERT INTO CONTENT.RATING VALUES(5, 4.0, 1);
select S.DESCRIPTION, FAV.MAXRATE, C.TITLE, C.URL FROM CONTENT.RATING R, CONTENT.CONTENT C, CONTENT.STYLE S, CONTENT.CONTENT_STYLE CS, (select S.ID, max(rating) from CONTENT.RATING R, CONTENT.CONTENT C, CONTENT.STYLE S, CONTENT.CONTENT_STYLE CS group by S.ID) AS FAV(FID,MAXRATE) where R.ID = C.ID AND C.ID = CS.CONTENT_ID AND CS.STYLE_ID = FAV.FID AND FAV.FID = S.ID AND FAV.MAXRATE = R.RATING;
drop table content.rating;
drop table content.content_style;
drop table content.content;
drop table content.style;
drop table content.keygen;
drop schema content restrict;
-- This is to test quotes handling in tables.
-- This tests patch for Derby 13
create table "S1.T1" (id int not null primary key, d1 int);
create schema s1;
create table s1.t1 (id int not null primary key, d2 int);
select * from s1.t1, "S1.T1" where s1.t1.id = "S1.T1".id;
select s1.t1.* from "S1.T1";
select "S1.T1".* from s1.t1;
select * from "S1.T1" , APP."S1.T1";
select "S1.T1".d1 from "S1.T1", APP."S1.T1";
select SYS."S1.T1".d1 from "S1.T1";
select SYS."S1.T1".d1 from "S1.T1" t1;