| /* ----------------------------------------------------------------------- *//** |
| * |
| * 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. |
| * |
| *//* ----------------------------------------------------------------------- */ |
| |
| DROP TABLE IF EXISTS "TEST"; |
| |
| CREATE TABLE "TEST"( |
| id1 INTEGER, |
| "ID2" INTEGER, |
| gr1 INTEGER, |
| gr2 INTEGER |
| ); |
| |
| INSERT INTO "TEST" VALUES |
| (1,0,1,1), |
| (2,0,1,1), |
| (3,0,1,1), |
| (4,0,1,1), |
| (5,0,1,1), |
| (6,0,1,1), |
| (7,0,1,1), |
| (8,0,1,1), |
| (9,0,1,1), |
| (9,0,1,1), |
| (9,0,1,1), |
| (9,0,1,1), |
| (0,1,1,2), |
| (0,2,1,2), |
| (0,3,1,2), |
| (0,4,1,2), |
| (0,5,1,2), |
| (0,6,1,2), |
| (10,10,2,2), |
| (20,20,2,2), |
| (30,30,2,2), |
| (40,40,2,2), |
| (50,50,2,2), |
| (60,60,2,2), |
| (70,70,2,2) |
| ; |
| |
| DROP TABLE IF EXISTS out; |
| SELECT stratified_sample('"TEST"', 'out', 0.5, NULL, 'id1,"ID2",gr1,gr2', FALSE); |
| SELECT assert(count(*) = 13, 'Wrong number of samples') FROM out; |
| |
| DROP TABLE IF EXISTS out; |
| SELECT stratified_sample('"TEST"', 'out', 0.5, 'gr1,gr2', 'id1,"ID2"', FALSE); |
| SELECT assert(count(*) = 3, 'Wrong number of samples') |
| FROM (SELECT DISTINCT id1,"ID2" FROM out WHERE gr1 = 1 AND gr2 = 2)x; |
| |
| DROP TABLE IF EXISTS out; |
| SELECT stratified_sample('"TEST"', 'out', 0.5, NULL, 'id1,"ID2",gr1,gr2', TRUE); |
| SELECT assert(count(*) = 13, 'Wrong number of samples') FROM out; |
| |
| DROP TABLE IF EXISTS out; |
| SELECT stratified_sample('"TEST"', 'out', 0.5, 'gr1,gr2', 'id1,"ID2"', TRUE); |
| SELECT assert(count(*) = 6, 'Wrong number of samples') |
| FROM out WHERE gr1 = 1 AND gr2 = 1; |